Meego Wiki
Views

MeeGo 1.0 Netbook VirtualBox

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Current Development Status)
(Installing VirtualBox guest additions for OpenGL acceleration: Adding differences on MeeGo 1.2)
 
(15 intermediate revisions not shown)
Line 1: Line 1:
== Preparation ==
== 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.
#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 [http://wiki.meego.com/images/Libglx.so.gz Libglx.so.gz]
+
#Download [[Media:Libglx.so.gz|Libglx.so.gz]]
-
#*cd ~/Downloads
+
#*<pre>cd ~/Downloads</pre>
-
#*gunzip Libglx.so.gz
+
#*<pre>gunzip Libglx.so.gz</pre>
-
#*mv Libglx.so libglx.so
+
#*<pre>mv Libglx.so libglx.so</pre>
-
#Download [http://wiki.meego.com/images/Clutter-xvisual-patch.txt Clutter-xvisual-patch.txt]
+
#Download [[Media:Clutter-xvisual-patch.txt|Clutter-xvisual-patch.txt]]
== Installation ==
== Installation ==
Line 27: Line 27:
#Press '''ESC''' when the boot begins to get into GRUB boot menu.
#Press '''ESC''' when the boot begins to get into GRUB boot menu.
#Press '''TAB''' to edit boot line.
#Press '''TAB''' to edit boot line.
-
#Remove ''quiet'' from boot line and append s to start with a shell 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>
-
#* >vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current s
+
#Add suid for Xorg:<pre>chmod +s /usr/bin/Xorg</pre>
-
#Add suid for Xorg
+
#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>
-
#* chmod +s /usr/bin/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
#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.
#Finish MeeGo installation, now MeeGo UX could be shown with GL software rendering, the performance is very slow.
'''Result:'''
'''Result:'''
-
[[File:MeeGo0524-VirtualBoxOSE-SoftwareRendering.png]]
+
[[Image:MeeGo0524-VirtualBoxOSE-SoftwareRendering.png]]
== Installing VirtualBox guest additions for OpenGL acceleration ==
== Installing VirtualBox guest additions for OpenGL acceleration ==
Line 44: Line 44:
#Press '''ESC''' when the boot begins to get into GRUB boot menu.
#Press '''ESC''' when the boot begins to get into GRUB boot menu.
#Press '''TAB''' to edit boot line.
#Press '''TAB''' to edit boot line.
-
#Remove ''quiet'' from boot line and append s to start with a shell 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>
-
#* >vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current s
+
#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>
-
#Modify the extlinux.conf at /boot/extlinux/extlinux.conf
+
#Install dependencies (MeeGo 1.2: the kernel development package name is kernel-devel):<pre>sudo zypper install gcc make kernel-netbook-devel patch</pre>
-
#* From: append ro root=/dev/sda2 quiet vga=current
+
#Change password:<pre>passwd</pre>
-
#* To:   append ro root=/dev/sda2 vga=current 3
+
#Reboot to activate potential kernel updates (running kernel needs to match the <code>kernel-devel</code> package)
-
#Install dependencies:  
+
#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>
-
#*sudo yum install gcc make kernel-netbook-devel
+
#Inside the MeeGo VM, download the clutter source code with:<pre>yumdownloader --source clutter</pre>
-
#Change password  
+
#Extract the clutter tarball from the RPM:<pre>rpm2cpio clutter-1.2.6-2.2.src.rpm|cpio -id</pre>
-
#* passwd
+
#Extract the clutter source code from the tarball:<pre>tar jvxf clutter-1.2.6.tar.bz2</pre>
-
#Reboot to activate potential kernel updates (running kernel needs to match the kernel-devel package)
+
#Install build dependencies:<pre>sudo yum-builddep clutter</pre>
-
#Having instructed VirtualBox to Install Guest Additions, mount CD-drive and build guest additions:  
+
#Patch clutter:<pre>cd clutter-1.2.6 && scp user@host:~/Downloads/Clutter-xvisual-patch.txt && patch -p1 < ./Clutter-xvisual-patch.txt</pre>
-
#*sudo mount /dev/sr0 /mnt && cd /mnt && sudo ./VBoxLinuxAdditions-x86.run
+
#Build clutter:<pre>./configure --prefix=/usr && make && make install</pre>
-
#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
+
-
#*patch -p1 < ./Clutter-xvisual-patch.txt
+
-
#* ./configure --prefix=/usr
+
-
#* make
+
-
#* make install
+
#Shutdown, enable 3D Acceleration and Reboot
#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.
+
#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>
-
#* uxlaunch
+
'''Result:'''
'''Result:'''
Line 76: Line 63:
== Current Development Status ==
== 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.
+
* 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 [http://wiki.meego.com/MeeGo_SDK_with_Xephyr Xephyr], that is, use an off-screen to render the OpenGL, and read the window contents back when necessary.  
+
* 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 to talk with VirtualBox 3D acceleration developer Leonid Lobachev on this issue.
+
* I have started talking with VirtualBox 3D acceleration developer Leonid Lobachev on this issue.
== Future ==
== Future ==
-
I expect MeeGo UX could be run correctly and smoothly inside VirtualBox.
+
# 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]]

Latest revision as of 19:49, 30 June 2011

Contents

Preparation

  1. Install VirtualBox PUEL or VirtualBox OSE. In this wiki, the VirtualBox OSE 3.2.6 OSE built from source codes (without modification) is used.
  2. Download Libglx.so.gz
    • cd ~/Downloads
    • gunzip Libglx.so.gz
    • mv Libglx.so libglx.so
  3. Download Clutter-xvisual-patch.txt

Installation

Installation steps:

  1. Download the MeeGo v1.0 for netbooks image and change its extension (simple rename) to ISO.
  2. 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.
  3. Boot the virtual machine for the first time. Choose Installation only from the boot menu.
  4. Follow the installation wizard and install MeeGo on the virtual hard drive.
  5. After you are back in the boot menu, turn off the virtual machine.
  6. Set virtual machine's CD-image to Empty.
  7. Boot your MeeGo system for the second time.

MeeGo does not seem to go anywhere except showing background image.

Workaround:

  1. Press ESC when the boot begins to get into GRUB boot menu.
  2. Press TAB to edit boot line.
  3. 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
  4. Add suid for Xorg:
    chmod +s /usr/bin/Xorg
  5. Replace 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
  6. Reboot and continue MeeGo installation
  7. 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 forum post
  8. Finish MeeGo installation, now MeeGo UX could be shown with GL software rendering, the performance is very slow.

Result:

MeeGo0524-VirtualBoxOSE-SoftwareRendering.png

Installing VirtualBox guest additions for OpenGL acceleration

  1. Press ESC when the boot begins to get into GRUB boot menu.
  2. Press TAB to edit boot line.
  3. 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
  4. 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
  5. Install dependencies (MeeGo 1.2: the kernel development package name is kernel-devel):
    sudo zypper install gcc make kernel-netbook-devel patch
  6. Change password:
    passwd
  7. Reboot to activate potential kernel updates (running kernel needs to match the kernel-devel package)
  8. 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):
    sudo mount /dev/sr0 /mnt && cd /mnt && sudo ./VBoxLinuxAdditions-x86.run
  9. Inside the MeeGo VM, download the clutter source code with:
    yumdownloader --source clutter
  10. Extract the clutter tarball from the RPM:
    rpm2cpio clutter-1.2.6-2.2.src.rpm|cpio -id
  11. Extract the clutter source code from the tarball:
    tar jvxf clutter-1.2.6.tar.bz2
  12. Install build dependencies:
    sudo yum-builddep clutter
  13. Patch clutter:
    cd clutter-1.2.6 && scp user@host:~/Downloads/Clutter-xvisual-patch.txt && patch -p1 < ./Clutter-xvisual-patch.txt
  14. Build clutter:
    ./configure --prefix=/usr && make && make install
  15. Shutdown, enable 3D Acceleration and Reboot
  16. 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.
    uxlaunch

Result: 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 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

  1. I expect MeeGo netbook UX could be run correctly and smoothly (with GL acceleration) inside VirtualBox.
  2. I expect MeeGo handset UX could be run correctly and smoothly (with GL acceleration) inside VirtualBox.
Personal tools