Maemo 5 Clutter performance

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

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,

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


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.

  • Install packages needed for compilation:
sudo apt-get install kernel-package ncurses-dev fakeroot zlib1g-dev
  • Fetch the source code from kernel.org
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.1.tar.bz2
  • Unpack the kernel sources:
tar xjf linux-2.6.28.1.tar.bz2
cd linux-2.6.28.1
  • 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
  • And select options:

Load an Alternate Configuration File

Save Configuration to an Alternate File

  • Then run the following commands:

fakeroot make-kpkg --initrd --revision=custom.1.0 kernel_image

  • 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

  • Install the new kernel:

sudo dpkg -i linux-image-2.6.28.1_custom.1.0_i386.deb

  • Reboot


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

Steps:

sudo apt-get update sudo apt-get install linux-image-2.6.29-2-486

  • Remember to remove repository of debian unstable from /etc/apt/sources.list and run

sudo apt-get update

Reboot


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.)

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.


Fedora 10 with Intel drivers

SDK has worked alright here without additional installations.

Useful links