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.


[edit] Debian Lenny with ATI drivers

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

Following the instruction in 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"
    Section "Screen"
           DefaultDepth	24

[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
  3. Unpack the kernel sources:
    tar xjf linux-
    cd linux-
  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-
  8. Install the new kernel:
    sudo dpkg -i linux-image-
  9. Reboot

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


  1. Add the repository of debian unstable (e.g deb 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