July 19th, 2010
So, I finally did it – I’ve uploaded a mostly working driver for the Intel Poulsbo (GMA 500) graphics chipset to the RPM Fusion repository for Fedora 13. As of right now, it’s in non-free updates-testing; it’ll be moved to the main updates repo at some point. To install it, set up RPM Fusion repos according to the instructions, then run this command:
yum –enablerepo=rpmfusion-nonfree-updates-testing install xorg-x11-drv-psb
You may also want to do this (it’ll make it work even when a new kernel comes out and Fusion doesn’t yet have a kmod-psb package for it):
yum –enablerepo=rpmfusion-nonfree-updates-testing install akmod-psb
Then just reboot, and usually it should work. Remember, you can get an mplayer build with video playback acceleration support which will let you play HD videos smoothly from my video-experimental repo: details in this post.
If you have trouble, check what kernel -devel package(s) is/are installed. Depending on your exact hardware – many Poulsbo-sporting machines don’t actually support PAE – you may also need to manually install (with yum) the i586 kernel-devel package instead of the i686-PAE kernel-devel package that the dependencies may pull in.
If it works, but 3D acceleration and VA-API support don’t seem to be working, check the permissions on /dev/dri/card0; they should be 666 (rw-rw-rw-). If not, add this section to /etc/X11/xorg.conf:
Here’s some system-specific tweaks:
If you want to have an external monitor side-by-side with the laptop display, you’ll want to add a Screen section to /etc/X11/xorg.conf that looks much like the one in this file. You need to combine the dimensions of the displays you’ll have connected appropriately. For instance, I have a 1600×768 panel in my laptop and the external monitor would be a 1680×1050 screen, which would be to the right of the laptop panel. So I add together the horizontal dimensions – 1600+1680 = 3280 – and use the tallest single vertical dimension – 1050 – and wind up with a size of 3280×1050. That’s what I put in the ‘Virtual’ lines in the Display section. If your laptop display was 1024×768 and your external monitor 1280×1024, you’d do 2304×1024, and so on. Then you can configure the displays with gnome-display-properties or krandrtray or xrandr once X starts up.
If you’re using a Sony Vaio P (first generation), you’ll want the kernel parameters ‘mem=1900MB nohz=off’ to make everything work smoothly (this is nothing to do with the Poulsbo chipset, just other quirks of the Vaio P; I’m not sure if they’re needed on the second-gen P).
In case you’re someone who reads my blog but uses another distro, the driver is still packaged in Mandriva and should work out-of-the-box on 2010 and 2010 Spring (you may need to install additional packages from non-free to get 3D and video playback acceleration support, I’m not entirely sure, and I’m not sure how well it works on 2010 Spring). Ubuntu users will want to see this Wiki page and the recent pages of this forum thread for instructions and info. I’m not sure about other distros – do feel free to add info in the comments.
Note that this is entirely something I do in my spare time, and is not an official Red Hat project of any kind. Nothing to do with it is in any way representative of, or endorsed or supported by, Red Hat or the Fedora project.
Edit: I totally forgot to include credits in this post, very rude of me! I’m sorry. Thanks go to Olivier Blin at Mandriva, who did a lot of the work of porting the driver to work with X server 1.7 and later, and to the Ubuntu poulsbo community who did some more work, particularly Yves de Muyter who solved some thorny issues with EXA support. I really just packaged up the stuff other people have made for Fedora.