Preparation
- Install VirtualBox PUEL or VirtualBox OSE. In this wiki, the VirtualBox OSE 3.2.6 OSE built from source codes (without modification) is used.
- Download Libglx.so.gz
- cd ~/Downloads
- gunzip Libglx.so.gz
- mv Libglx.so libglx.so
- Download Clutter-xvisual-patch.txt
Installation
Installation steps:
- Download the MeeGo v1.0 for netbooks image and change its extension (simple rename) to ISO.
- Create VirtualBox virtual machine
- Select virtual machine type Linux/Fedora.
- Create 8 GB virtual hard drive.
- Enable PAE.
- Set CD-image to the downloaded MeeGo image.
- Boot the virtual machine for the first time. Choose Installation only from the boot menu.
- Follow the installation wizard and install MeeGo on the virtual hard drive.
- After you are back in the boot menu, turn off the virtual machine.
- Set virtual machine's CD-image to Empty.
- Boot your MeeGo system for the second time.
MeeGo does not seem to go anywhere except showing background image.
Workaround:
- Press ESC when the boot begins to get into GRUB boot menu.
- Press TAB to edit boot line.
- Remove quiet from boot line and append s to start with a shell and then boot.
- >vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current s
- Add suid for Xorg
- Replace libglx.so for an X issue, this libglx.so will put glx version to 1.2, instead of 1.4.
- scp user@host:~/Downloads/libglx.so /usr/lib/xorg/modules/extensions
- Reboot and continue MeeGo installation
- Finish MeeGo installation, now MeeGo UX could be shown with GL software rendering, the performance is very slow.
Result:
Installing VirtualBox guest additions for OpenGL acceleration
- Press ESC when the boot begins to get into GRUB boot menu.
- Press TAB to edit boot line.
- Remove quiet from boot line and append s to start with a shell and then boot.
- >vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current s
- Modify the extlinux.conf at /boot/extlinux/extlinux.conf
- From: append ro root=/dev/sda2 quiet vga=current
- To: append ro root=/dev/sda2 vga=current 3
- Install dependencies:
- sudo yum install gcc make kernel-netbook-devel
- Change password
- Reboot to activate potential kernel updates (running kernel needs to match the kernel-devel package)
- Having instructed VirtualBox to Install Guest Additions, mount CD-drive and build guest additions:
- sudo mount /dev/sr0 /mnt && cd /mnt && sudo ./VBoxLinuxAdditions-x86.run
- Inside the MeeGo VM, download the clutter source codes by
- yumdownloader --source clutter
- Extract clutter
- rpm2cpio clutter-1.2.6-2.2.src.rmp|cpio -id
- tar jvxf clutter-1.2.6.tar.bz2
- Build clutter
- yum install mesa-libGL-devel mesa-libGLU-devel glib2-devel libXext-devel libXcomposite-devel xorg-x11-proto-gl libX11-devel libXdamage-devel cairo-devel pango-devel json-glib-devel gtk2-devel patch
- cd clutter-1.2.6
- scp user@host:~/Downloads/Clutter-xvisual-patch.txt
- patch -p1 < ./Clutter-xvisual-patch.txt
- ./configure --prefix=/usr
- make
- make install
- Shutdown, enable 3D Acceleration and Reboot
- Start MeeGo UX,now MeeGo UX could be shown with GL acceleration, while there are drawing order problems. The difference between this screen shot with the above is that the label "People" is hidden by a MeeGo panel.
Result:
Current Development Status
- The problem of running MeeGo UX inside VirtualBox with GL acceleration has been root caused. Please refer to http://vbox.innotek.de/pipermail/vbox-dev/2010-August/003198.html for detailed information.
- I have fixed the above problem by applying the same technique used for Xephyr, that is, using an off-screen to render the OpenGL and reading the window contents back when necessary. The performance is acceptable for development work, while not fast enough to run OpenGL games.
- I have started to talk with VirtualBox 3D acceleration developer Leonid Lobachev on this issue.
Future
- I expect MeeGo netbook UX could be run correctly and smoothly (with GL acceleration) inside VirtualBox.
- I expect MeeGo handset UX could be run correctly and smoothly (with GL acceleration) inside VirtualBox.