Maemo 5 Clutter performance

(wikify slightly)
 
(10 intermediate revisions not shown)
Line 1: Line 1:
-
This page has been created so that all working solutions to get the clutter performace better in the SDK can be consolidated.  
+
This page has been created so that all working solutions to get the clutter performace better in the [[Documentation/Maemo 5 Developer Guide/Development Environment/Maemo SDK|SDK]] can be consolidated.  
Since the SDK uses Clutter and 3d effects, the speed of the UI depends greatly on the 3D acceleration speed on the host system. For many popular display adapters (nVidia, ATI) this means that the vendor provided closed source driver is needed for fully utilizing the 3D acceleration provided by the hardware. Using Intel cards, the hardware acceleration should basically work with the available open source drivers, but unfortunately some versions of the driver have been buggy in a way that causes problems for the 3d accelerated applications and thus also the SDK.
Since the SDK uses Clutter and 3d effects, the speed of the UI depends greatly on the 3D acceleration speed on the host system. For many popular display adapters (nVidia, ATI) this means that the vendor provided closed source driver is needed for fully utilizing the 3D acceleration provided by the hardware. Using Intel cards, the hardware acceleration should basically work with the available open source drivers, but unfortunately some versions of the driver have been buggy in a way that causes problems for the 3d accelerated applications and thus also the SDK.
Line 5: Line 5:
Here are some scenarios that have worked during the internal testing activity. Please add in any related information that you feel may help the users of the Maemo 5 SDK.
Here are some scenarios that have worked during the internal testing activity. Please add in any related information that you feel may help the users of the Maemo 5 SDK.
   
   
-
===Debian Lenny with ATI drivers===
+
==Debian Lenny with ATI drivers==
   
   
Graphics card on the test machine: Dell Latitude d610 ATI Mobility Radeon X300
Graphics card on the test machine: Dell Latitude d610 ATI Mobility Radeon X300
-
Following the instruction in http://forums.debian.net/viewtopic.php?t=17776 helped. Shortly,
+
Following the instruction in http://forums.debian.net/viewtopic.php?t=17776 helped. Shortly:
-
* Add the "Non-DFSG-compatible Software (non-free) into software sources
+
<ol>
-
* Install module-assistant build-essential linux-headers-$(uname -r) fglrx-amdcccle fglrx-control fglrx-driver fglrx-kernel-src  
+
<li>
-
* Reboot into Single User Mode. Enter the root password
+
Add the "Non-DFSG-compatible Software (non-free) into software sources
-
* Give commands:  
+
</li>
-
$> m-a prepare
+
<li>
-
$> m-a a-i fglrx
+
Install:
-
$> modprobe -v fglrx
+
<ul>
 +
<li>module-assistant</li>
 +
<li>build-essential</li>
 +
<li>linux-headers-$(uname -r)</li>
 +
<li>fglrx-amdcccle</li>
 +
<li>fglrx-control</li>
 +
<li>fglrx-driver</li>
 +
<li>fglrx-kernel-src</li>
 +
</ul>
 +
</li>
 +
<li>
 +
Reboot into Single User Mode. Enter the root password
 +
</li>
 +
<li>
 +
Give commands:
 +
<pre>
 +
$> m-a prepare
 +
$> m-a a-i fglrx
 +
$> modprobe -v fglrx
 +
</pre>
 +
</li>
 +
<li>
 +
Add the <code>Driver</code> line and <code>DefaultDepth</code> line to <code>xorg.conf</code> files.
 +
<pre>
 +
Section "Device"
 +
      Driver          "fglrx"
 +
EndSection
 +
Section "Screen"
 +
      DefaultDepth 24
 +
EndSection
 +
</pre>
 +
</li>
 +
</ol>
-
* Add the Driver line and DefaultDepth line to xorg.conf files.
+
==Debian Lenny with Intel drivers==
-
 
+
-
Section "Device"
+
-
        Driver          "fglrx"
+
-
EndSection
+
-
Section "Screen"
+
-
        DefaultDepth 24
+
-
EndSection
+
-
 
+
-
 
+
-
===Debian Lenny with Intel drivers===
+
Test machine: Dell Optiplex GX620
Test machine: Dell Optiplex GX620
Line 38: Line 60:
To get the UI framework to work with usable speed we need newer version of the kernel.
To get the UI framework to work with usable speed we need newer version of the kernel.
-
*Install packages needed for compilation:
+
<ol>
 +
<li>
 +
Install packages needed for compilation:
 +
<pre>
sudo apt-get install kernel-package ncurses-dev fakeroot zlib1g-dev
sudo apt-get install kernel-package ncurses-dev fakeroot zlib1g-dev
-
 
+
</pre>
-
*Fetch the source code from kernel.org
+
</li>
-
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.1.tar.bz2
+
<li>
-
 
+
Fetch the source code from kernel.org
-
*Unpack the kernel sources:
+
<pre>
 +
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.1.tar.bz2</pre>
 +
</li>
 +
<li>
 +
Unpack the kernel sources:
 +
<pre>
tar xjf linux-2.6.28.1.tar.bz2
tar xjf linux-2.6.28.1.tar.bz2
cd linux-2.6.28.1
cd linux-2.6.28.1
-
 
+
</pre>
-
*Run menuconfig and load the current kernel configuration file from /boot/ directory, e.g /boot/config-2.6.26-2-686 and save it to your source directory with name .config.
+
</li>
-
 
+
<li>
 +
Run menuconfig and load the current kernel configuration file from <code>/boot/</code> directory, e.g <code>/boot/config-2.6.26-2-686</code> and save it to your source directory with name <code>.config</code>.
 +
<pre>
make menuconfig
make menuconfig
-
 
+
</pre>
-
*And select options:
+
</li>
-
Load an Alternate Configuration File
+
<li>
-
Save Configuration to an Alternate File
+
And select options:
-
 
+
<ul>
-
*Then run the following commands:
+
<li>Load an Alternate Configuration File</li>
 +
<li>Save Configuration to an Alternate File</li>
 +
</ul>
 +
</li>
 +
<li>
 +
Then run the following commands:
 +
<pre>
fakeroot make-kpkg --initrd --revision=custom.1.0 kernel_image
fakeroot make-kpkg --initrd --revision=custom.1.0 kernel_image
-
 
+
</pre>
-
*If no error occurs you will find the new kernel from parent directory
+
</li>
-
as a Debian package called linux-image-2.6.28.1_custom.1.0_i386.deb
+
<li>
-
 
+
If no error occurs you will find the new kernel from parent directory as a Debian package called <code>linux-image-2.6.28.1_custom.1.0_i386.deb</code>
-
*Install the new kernel:
+
</li>
 +
<li>
 +
Install the new kernel:
 +
<pre>
sudo dpkg -i linux-image-2.6.28.1_custom.1.0_i386.deb
sudo dpkg -i linux-image-2.6.28.1_custom.1.0_i386.deb
-
 
+
</pre>
-
*Reboot
+
</li>
-
 
+
<li>
-
 
+
Reboot
 +
</li>
 +
</ol>
Alternative way.
Alternative way.
Line 73: Line 116:
Steps:
Steps:
-
*Add the repository of debian unstable (e.g deb http://ftp.fi.debian.org/debian/ sid main) to /etc/apt/sources.list
+
<ol>
 +
<li>
 +
Add the repository of debian unstable (e.g deb http://ftp.fi.debian.org/debian/ sid main) to <code>/etc/apt/sources.list</code>
 +
<pre>
sudo apt-get update  
sudo apt-get update  
sudo apt-get install linux-image-2.6.29-2-486
sudo apt-get install linux-image-2.6.29-2-486
-
 
+
</pre>
-
*Remember to remove repository of debian unstable from /etc/apt/sources.list and run  
+
</li>
 +
<li>
 +
Remember to remove repository of debian unstable from <code>/etc/apt/sources.list</code> and run:
 +
<pre>
sudo apt-get update
sudo apt-get update
-
 
+
</pre>
 +
</li>
 +
<li>
Reboot
Reboot
 +
</li>
 +
</ol>
 +
Another alternative:
 +
# Install the compiz window manger.<pre>sudo apt-get install compiz</pre>
 +
# And run the compiz<pre>compiz --replace</pre>
-
 
+
==Ubuntu with nVidia/ATI drivers==
-
An other alternative:
+
-
*Install the compiz window manger.
+
-
 
+
-
sudo apt-get install compiz
+
-
*And run the compiz
+
-
 
+
-
compiz --replace
+
-
 
+
-
 
+
-
 
+
-
 
+
-
===Ubuntu with nVidia/ATI drivers===
+
Installing restricted drivers by Ubuntu gets the UI framework in usable speed. This does bring along some desktop effects that one may not like. (We just turned such effects off.)
Installing restricted drivers by Ubuntu gets the UI framework in usable speed. This does bring along some desktop effects that one may not like. (We just turned such effects off.)
-
===Ubuntu with Intel drivers===
+
==Ubuntu with Intel drivers==
Graphics card on the test machine: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02)
Graphics card on the test machine: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02)
Line 105: Line 149:
A default installation of Ubuntu Jaunty works OK with the desktop effects enabled.
A default installation of Ubuntu Jaunty works OK with the desktop effects enabled.
 +
'''Update:''' With the Fremantle beta2 release the Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) aka 4500MHD aka GM45 on Ubuntu 9.04 seems to work fast out of the box without any special configuration.
-
===Fedora 10 with Intel drivers===
+
==Fedora 10 with Intel drivers==
SDK has worked alright here without additional installations.
SDK has worked alright here without additional installations.
-
===Useful links===
+
==Useful links==
* http://www.h-online.com/open/Ubuntu-9-04-and-Intel-graphics--/features/113196
* http://www.h-online.com/open/Ubuntu-9-04-and-Intel-graphics--/features/113196
* https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/262164
* https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/262164
* http://forums.debian.net/viewtopic.php?t=17776
* http://forums.debian.net/viewtopic.php?t=17776
 +
 +
[[Category:Development]]
 +
[[Category:Fremantle]]

Latest revision as of 11:05, 9 December 2010

This page has been created so that all working solutions to get the clutter performace better in the SDK can be consolidated.

Since the SDK uses Clutter and 3d effects, the speed of the UI depends greatly on the 3D acceleration speed on the host system. For many popular display adapters (nVidia, ATI) this means that the vendor provided closed source driver is needed for fully utilizing the 3D acceleration provided by the hardware. Using Intel cards, the hardware acceleration should basically work with the available open source drivers, but unfortunately some versions of the driver have been buggy in a way that causes problems for the 3d accelerated applications and thus also the SDK.

Here are some scenarios that have worked during the internal testing activity. Please add in any related information that you feel may help the users of the Maemo 5 SDK.

Contents

[edit] Debian Lenny with ATI drivers

Graphics card on the test machine: Dell Latitude d610 ATI Mobility Radeon X300

Following the instruction in http://forums.debian.net/viewtopic.php?t=17776 helped. Shortly:

  1. Add the "Non-DFSG-compatible Software (non-free) into software sources
  2. Install:
    • module-assistant
    • build-essential
    • linux-headers-$(uname -r)
    • fglrx-amdcccle
    • fglrx-control
    • fglrx-driver
    • fglrx-kernel-src
  3. Reboot into Single User Mode. Enter the root password
  4. Give commands:
    $> m-a prepare
    $> m-a a-i fglrx
    $> modprobe -v fglrx
    
  5. Add the Driver line and DefaultDepth line to xorg.conf files.
    Section "Device"
           Driver          "fglrx"
    EndSection
    Section "Screen"
           DefaultDepth	24
    EndSection
    

[edit] Debian Lenny with Intel drivers

Test machine: Dell Optiplex GX620

Display controller:Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02)

Display controller driver:xserver-xorg-video-intel version 2:2.3.2-2+lenny6

To get the UI framework to work with usable speed we need newer version of the kernel.

  1. Install packages needed for compilation:
    sudo apt-get install kernel-package ncurses-dev fakeroot zlib1g-dev
    
  2. Fetch the source code from kernel.org
    wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.1.tar.bz2
  3. Unpack the kernel sources:
    tar xjf linux-2.6.28.1.tar.bz2
    cd linux-2.6.28.1
    
  4. Run menuconfig and load the current kernel configuration file from /boot/ directory, e.g /boot/config-2.6.26-2-686 and save it to your source directory with name .config.
    make menuconfig
    
  5. And select options:
    • Load an Alternate Configuration File
    • Save Configuration to an Alternate File
  6. Then run the following commands:
    fakeroot make-kpkg --initrd --revision=custom.1.0 kernel_image
    
  7. If no error occurs you will find the new kernel from parent directory as a Debian package called linux-image-2.6.28.1_custom.1.0_i386.deb
  8. Install the new kernel:
    sudo dpkg -i linux-image-2.6.28.1_custom.1.0_i386.deb
    
  9. Reboot

Alternative way. If you don't want to compile the kernel from source you could install the latest kernel from Debian unstable.

Steps:

  1. Add the repository of debian unstable (e.g deb http://ftp.fi.debian.org/debian/ sid main) to /etc/apt/sources.list
    sudo apt-get update 
    sudo apt-get install linux-image-2.6.29-2-486
    
  2. Remember to remove repository of debian unstable from /etc/apt/sources.list and run:
    sudo apt-get update
    
  3. Reboot

Another alternative:

  1. Install the compiz window manger.
    sudo apt-get install compiz
  2. And run the compiz
    compiz --replace

[edit] Ubuntu with nVidia/ATI drivers

Installing restricted drivers by Ubuntu gets the UI framework in usable speed. This does bring along some desktop effects that one may not like. (We just turned such effects off.)

[edit] Ubuntu with Intel drivers

Graphics card on the test machine: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02) In the recent update of Ubuntu Jaunty, there are improvements. A default installation of Ubuntu Jaunty works OK with the desktop effects enabled.

Update: With the Fremantle beta2 release the Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) aka 4500MHD aka GM45 on Ubuntu 9.04 seems to work fast out of the box without any special configuration.

[edit] Fedora 10 with Intel drivers

SDK has worked alright here without additional installations.

[edit] Useful links