(→Installing VirtualBox guest additions for OpenGL acceleration: Adding differences on MeeGo 1.2) |
|||
| (43 intermediate revisions not shown) | |||
| Line 1: | Line 1: | ||
| + | == Preparation == | ||
| + | #Install [http://www.virtualbox.org/wiki/Downloads VirtualBox PUEL or VirtualBox OSE]. In this wiki, the VirtualBox OSE 3.2.6 OSE built from source codes (without modification) is used. | ||
| + | #Download [[Media:Libglx.so.gz|Libglx.so.gz]] | ||
| + | #*<pre>cd ~/Downloads</pre> | ||
| + | #*<pre>gunzip Libglx.so.gz</pre> | ||
| + | #*<pre>mv Libglx.so libglx.so</pre> | ||
| + | #Download [[Media:Clutter-xvisual-patch.txt|Clutter-xvisual-patch.txt]] | ||
| + | |||
| + | == Installation == | ||
| + | |||
'''Installation steps:''' | '''Installation steps:''' | ||
| - | #Download [http://download3.meego.com/meego-netbook-chromium-ia32-1.0-20100524.1.img MeeGo v1.0 for netbooks] image and change its extension (simple rename) to ISO. | + | #Download the [http://download3.meego.com/meego-netbook-chromium-ia32-1.0-20100524.1.img MeeGo v1.0 for netbooks] image and change its extension (simple rename) to ISO. |
#Create VirtualBox virtual machine | #Create VirtualBox virtual machine | ||
#*Select virtual machine type Linux/Fedora. | #*Select virtual machine type Linux/Fedora. | ||
#*Create 8 GB virtual hard drive. | #*Create 8 GB virtual hard drive. | ||
#*Enable PAE. | #*Enable PAE. | ||
| - | |||
#*Set CD-image to the downloaded MeeGo image. | #*Set CD-image to the downloaded MeeGo image. | ||
#Boot the virtual machine for the first time. Choose ''Installation only'' from the boot menu. | #Boot the virtual machine for the first time. Choose ''Installation only'' from the boot menu. | ||
| - | #Follow the installation wizard and install MeeGo | + | #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. | #After you are back in the boot menu, turn off the virtual machine. | ||
| - | #Set virtual | + | #Set virtual machine's CD-image to ''Empty''. |
#Boot your MeeGo system for the second time. | #Boot your MeeGo system for the second time. | ||
| - | MeeGo does not seem to go anywhere except showing background image | + | MeeGo does not seem to go anywhere except showing background image. |
'''Workaround:''' | '''Workaround:''' | ||
| - | #Press '''ESC''' when the boot begins | + | #Press '''ESC''' when the boot begins to get into GRUB boot menu. |
| - | #Press '''TAB''' | + | #Press '''TAB''' to edit boot line. |
| - | #Remove ''quiet'' from boot line and then boot. | + | #Remove ''quiet'' from boot line and append s to start with a shell and then boot:<pre>vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current s</pre> |
| - | + | #Add suid for Xorg:<pre>chmod +s /usr/bin/Xorg</pre> | |
| - | # | + | #Replace <code>libglx.so</code> for an X issue, this <code>libglx.so</code> will put glx version to 1.2, instead of 1.4. (skip this step for MeeGo 1.1):<pre>scp user@host:~/Downloads/libglx.so /usr/lib/xorg/modules/extensions</pre> |
| - | # | + | #Reboot and continue MeeGo installation |
| + | #If the boot continues to hang, try the following | ||
| + | #* boot without the 'quiet' and 's' options (ie, vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current) | ||
| + | #* If you get "INIT: Id 'x' respawning" too fast, See this [http://forum.meego.com/showthread.php?t=447 forum post] | ||
| + | #Finish MeeGo installation, now MeeGo UX could be shown with GL software rendering, the performance is very slow. | ||
'''Result:''' | '''Result:''' | ||
| - | [[ | + | [[Image:MeeGo0524-VirtualBoxOSE-SoftwareRendering.png]] |
| + | |||
| + | == 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:<pre>vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current s</pre> | ||
| + | #Modify the <code>extlinux.conf</code> at <code>/boot/extlinux/extlinux.conf</code> from:<pre>append ro root=/dev/sda2 quiet vga=current</pre> to:<pre>append ro root=/dev/sda2 vga=current 3</pre> | ||
| + | #Install dependencies (MeeGo 1.2: the kernel development package name is kernel-devel):<pre>sudo zypper install gcc make kernel-netbook-devel patch</pre> | ||
| + | #Change password:<pre>passwd</pre> | ||
| + | #Reboot to activate potential kernel updates (running kernel needs to match the <code>kernel-devel</code> package) | ||
| + | #Having instructed VirtualBox to Install Guest Additions, mount CD-drive and build guest additions (MeeGo 1.2: the image is mounted automatically under /media and the launcher is VBoxLinuxAdditions.run):<pre>sudo mount /dev/sr0 /mnt && cd /mnt && sudo ./VBoxLinuxAdditions-x86.run</pre> | ||
| + | #Inside the MeeGo VM, download the clutter source code with:<pre>yumdownloader --source clutter</pre> | ||
| + | #Extract the clutter tarball from the RPM:<pre>rpm2cpio clutter-1.2.6-2.2.src.rpm|cpio -id</pre> | ||
| + | #Extract the clutter source code from the tarball:<pre>tar jvxf clutter-1.2.6.tar.bz2</pre> | ||
| + | #Install build dependencies:<pre>sudo yum-builddep clutter</pre> | ||
| + | #Patch clutter:<pre>cd clutter-1.2.6 && scp user@host:~/Downloads/Clutter-xvisual-patch.txt && patch -p1 < ./Clutter-xvisual-patch.txt</pre> | ||
| + | #Build clutter:<pre>./configure --prefix=/usr && make && make install</pre> | ||
| + | #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.<pre>uxlaunch</pre> | ||
| + | |||
| + | '''Result:''' | ||
| + | [[File:MeeGo0524-VirtualBoxOSE-GLA.png]] | ||
| + | |||
| + | == Current Development Status == | ||
| + | * The problem of running MeeGo netbook 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 [[MeeGo SDK with Xephyr|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 talking 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. | ||
| - | + | [[Category:Tutorial]] | |
| - | + | ||
| - | + | ||
Contents |
cd ~/Downloads
gunzip Libglx.so.gz
mv Libglx.so libglx.so
Installation steps:
MeeGo does not seem to go anywhere except showing background image.
Workaround:
vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current s
chmod +s /usr/bin/Xorg
libglx.so for an X issue, this libglx.so will put glx version to 1.2, instead of 1.4. (skip this step for MeeGo 1.1):scp user@host:~/Downloads/libglx.so /usr/lib/xorg/modules/extensions
Result:
vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current s
extlinux.conf at /boot/extlinux/extlinux.conf from:append ro root=/dev/sda2 quiet vga=currentto:
append ro root=/dev/sda2 vga=current 3
sudo zypper install gcc make kernel-netbook-devel patch
passwd
kernel-devel package)
sudo mount /dev/sr0 /mnt && cd /mnt && sudo ./VBoxLinuxAdditions-x86.run
yumdownloader --source clutter
rpm2cpio clutter-1.2.6-2.2.src.rpm|cpio -id
tar jvxf clutter-1.2.6.tar.bz2
sudo yum-builddep clutter
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
uxlaunch