The objective was rather simple: run Meego on the Pandaboard.
I found that there is a wiki page for this topic, which provides a kick-start file for generating the file system, which is more than enough as a starting point.
Note: With the purpose to keep track of the Meegos’ kick-start files available for OMAP, I setup a repository in gitorious.
Nevertheless, the kernel did not work for me. Neither the boot.src provides the correct kernel parameters for the video subsystem. Hence, I borrowed what currently works: the x-loader, u-boot and kernel of the Ubuntu Maverick Meerkat for the Panda.
For the x-loader and the u-boot I just copied the binaries from the Ubuntu SD. In the boot.src I got rid of the initrd fanciness. And for the kernel, I grabbed the latest Ubuntu’s kernel from its git repository and using the config file also from the SD.
My first approach was to have GLX/EGL through the SGX kernel module, which also comes in the Ubuntu image. You can find the kernel module and the proprietary libraries in the OMAP4 PPA.
This approach failed though: The Meego’s compositor (mcompositor) could not render correctly in both monitors where I tested the result.
So, my alternative approach was get rid of the compositor and launch directly the duihome, the window manager. In order to do that, you must change the file /etc/sysconfig/uxlaunch, with
[snip] -session=/usr/bin/mcompositor +session= /usr/bin/duihome -software -show-cursor [snip]
The -software parameter request to use software rendering, not accelerated. The -show-cursor requests for a mouse pointer. Those options are consumed by meegotouch library. Nevertheless, each application must be launched explicitly with them.
In order to circumvent this issue, there is already an environment variable for the -software: M_USE_SOFTWARE_RENDERING=1. But for the -show-cursor there is none. Although it is not difficult to implement (patch).
Et voilà, we have a singing & dancing Meego environment. But still, the UI transitions are really missed.
Next step: Syslink, DOMX and GStreamer.