High resolution with extra Compiz effects on Dell Mini 10 with Ubuntu 9.10 Karmic

Let me preface this post with a rant. In retrospect, I feel that getting this netbook with the Poulsbo chipset / Intel GMA500 video was a mistake since it's been a major PITA. The little form factor has been more annoying than helpful. Should have gone with a larger laptop with a decent Nvidia or ATI video card. There are reasons for why this chipset is such a bitch to live with and sounds like it's one of those situations where no one is at fault. Fine, but after dumping quite a few hours on this thing since getting it, I frankly just don't care. As a mere luser, I need a working computer whose video doesn't keep breaking on every kernel and OS upgrade so I can live my life.

But, wasted hours aside, I just got it working again. I had the nice 1366x768 resolution previously working with Ubuntu 9.04, but it wouldn't let me turn on Compiz effects. A few days ago, swayed by promise of seemless iPhone 3GS syncing, I upgraded to Ubuntu 10.04, which broke video. Turns out, GMA500 support is not all there yet with Ubuntu 10.04 Lucid and I forgot to research that before upgrading. So then I do a fresh install of Ubuntu 9.10 Karmic and follow the install steps on the Ubuntu Poulsbo Wiki, only to find this did absolutely nothing. Turns out, it's missing some critical steps. After scouring the web for a while and trying a bunch of settings, finally arrived at a configuration that works. Got the pretty resolution back and even got extra Compiz effects! This thing is a royal pain in the ass, but sure looks nice when it works. Anyway, here's the config that's working for me on Dell Mini 10 (aka Inspiron 1010).

First, we follow the Wiki and add a repository and install some packages:

1
2
3
ak@mini:~$ sudo add-apt-repository ppa:gma500/ppa
ak@mini:~$ sudo apt-get update
ak@mini:~$ sudo apt-get install libdrm-poulsbo1 poulsbo-config poulsbo-driver-2d poulsbo-driver-3d psb-firmware psb-kernel-headers psb-modules xpsb-glx

Also install kernel sources, which the Wiki fails to mention:

1
ak@mini:~$ sudo apt-get psb-kernel-source

Then we tell the kernel to leave some RAM for Compiz. Edit "/etc/default/grub" and set:

GRUB_CMDLINE_LINUX="mem=786mb"

Be sure to update grub after:

1
ak@mini:~$ sudo update-grub

Now we edit "/usr/bin/compiz" to tell Compiz that psb driver is not a bad guy after all by adding it to the list of drivers to whitelist:

WHITELIST="nvidia intel ati radeon radeonhd i810 fglrx psb"

Then backup your /etc/X11/xorg.conf and replace it with:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Section "ServerFlags"
        Option "DontZap" "False"
EndSection
 
Section "Device"
        Identifier "Configured Video Device"
        Option "IgnoreACPI"
        Option "AccelMethod" "uxa"
        Option "MigrationHeuristic" "greedy"
        Option "NoDDC"
        Option "DRI" "on"
        Option "Tiling" "true"
        Driver "psb"
EndSection
 
Section "DRI"
        Mode 0666
EndSection
 
Section "Monitor"
        Identifier "Configured Monitor"
EndSection
 
Section "Screen"
        Identifier "Default Screen"
        Monitor "Configured Monitor"
        Device "Configured Video Device"
EndSection

Now reboot and enjoy your beautiful new screen (until next time it breaks). :-)

4 Comments

  • 1. flipcoder replies at 15th June 2010, 2:56 am :

    Thanks a lot. I was also having trouble with 10.04 and the wiki did not help. I’ve switched to 9.10 and trying this right now and will post if it works! :)

  • 2. flipcoder replies at 15th June 2010, 3:29 am :

    Awesome, it worked. You saved me hours of time. To anyone who can’t start X after doing this, this command helped me:
    sudo dpkg-reconfigure psb-kernel-source

  • 3. gasconj replies at 20th June 2010, 1:12 pm :

    missing icons and x11 goes into a loop.
    Thanks for your work though.
    J

  • 4. syslay replies at 27th October 2010, 3:02 pm :

    Right about all intel GPU,,

Leave a comment

NOTE: Enclose quotes in <blockquote></blockquote>. Enclose code in <pre lang="LANG"></pre> (where LANG is one of these).