Poulsbo (GMA 500) driver in RPM Fusion repository for Fedora 13

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:

Section “DRI”
Mode 0666
EndSection

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

103 Responses

  1. Eric Piel
    Eric Piel July 27, 2010 at 11:52 pm | | Reply

    Oh! It works fine with the upstream version! So this means it’s probably due to a difference in the compilation between the mandriva package and the upstream package… Not sure where is the bug, but probably more in the xserver or psb driver than the graphic library :-S

    Ah, I’ve also noticed that launching the tracker search window, crashes the server (with a backtrace in libexa + the psb driver). Maybe upgrading to something newer than xserver 1.7 will help. Getting nostalgic of 1.6, where everything worked so fine !

  2. DH
    DH July 28, 2010 at 4:52 am | | Reply

    @stm82s:
    Not “rpmfusion-nonfree”…. “rpmfusion-nonfree-updates-testing”.

    You need to run “yum –enablerepo=rpmfusion-nonfree-updates-testing install xorg-x11-drv-psb”

    And note: the long dash before the “enablerepo” is actually TWO dashes — this forum software likes to mess with the characters.

    *** You *MUST* be running FEDORA *13* 32BIT.

  3. Khalid
    Khalid July 28, 2010 at 5:59 am | | Reply

    Again , Can anyone who own a sony vaio P , write a step by step instructions on how to change the “1900 mb = nohz etc. ”

    I would be really greatful.

    thanks all..

  4. DH
    DH July 28, 2010 at 6:52 am | | Reply

    Doesn’t matter if one owns that particular model — same for any. You append the stuff to the end of your kernel arguments.

    And before you do, you might want to look at the line to add better first, adding what you’ve got listed there won’t work.

  5. Khalid
    Khalid July 28, 2010 at 8:11 am | | Reply

    Dear DH,
    Thanks for your reply. I am not experienced enough to get into the kernel parameters and edit that bit of information.

    hence, i would be thankful if someone can take me through it step by step.

    thanks

  6. DH
    DH July 28, 2010 at 9:03 am | | Reply

    Adam posted it right above you.

    Note that this is basic stuff…. and is your friend and would definitely yield you the answer…. i.e. a search for “modify kernel argument fedora” would have gotten you the answer in the first result. When you don’t know something, don’t be afraid to search for it.

  7. DH
    DH July 28, 2010 at 9:05 am | | Reply

    I guess that angle brackets are read as html tags and get removed.. presumably for security. “and is your friend” should have read “and {insert your favorite search engine here} is your friend”

  8. stm82s
    stm82s July 28, 2010 at 4:13 pm | | Reply

    DH i changed the file rpmfusion-nonfree-updates-testing to the main server and it worked! Yum found the package but could not install because of the PAE kernel. Following the guide of this page i looked for a i586 kernel but could not find one. Then i installed the regular i686 kernel and still could not install because yum asked for the 2.6.33.6-147.2.4 kernel and i only found the 2.6.33.6-147 version (the regular one). I change all the rpm fusion files in the /etc/yum.repos.d/ folder to the main server and made them enabled and still did not find it. I just realized that i am out of luck…

    Thanks a lot for the help so far. If you think of anything please let me known.

  9. stm82s
    stm82s July 28, 2010 at 4:13 pm | | Reply

    If it helps, the yum message (it is partly in portuguese):
    Error: Package: kmod-psb-2.6.33.6-147.2.4.fc13.i686-4.41.1-12.fc13.1.i686 (rpmfusion-nonfree-updates-testing)
    Requires: kernel-uname-r = 2.6.33.6-147.2.4.fc13.i686
    Instalados: kernel-PAE-2.6.33.3-85.fc13.i686 (@anaconda-InstallationRepo-201005130056.i386)
    Instalados: kernel-PAE-2.6.33.6-147.fc13.i686 (@updates)
    Available: kernel-2.6.33.3-85.fc13.i686 (fedora)
    Available: kernel-2.6.33.6-147.fc13.i686 (updates)
    Available: kernel-PAEdebug-2.6.33.3-85.fc13.i686 (fedora)
    Available: kernel-PAEdebug-2.6.33.6-147.fc13.i686 (updates)
    Available: kernel-debug-2.6.33.3-85.fc13.i686 (fedora)
    Available: kernel-debug-2.6.33.6-147.fc13.i686 (updates)
    Você pode tentar usar o parâmetro –skip-broken para contornar o problema
    (You could try to use the parameter –skip-broken to circumvent the problem)
    You could try running: rpm -Va –nofiles –nodigest

  10. stm82s
    stm82s July 28, 2010 at 4:19 pm | | Reply

    Just to make clear, the yum message i got from the virtual machine, in my system the kernel-2.6.33.6-147.fc13.i686 is installed and started by default but the error is the same.

  11. DH
    DH July 29, 2010 at 5:03 am | | Reply

    … yum update kernel.
    reboot on the new kernel (version 2.6.33.6-147)
    … yum install the xorg psb driver.

    There’s nothing magic about this. If it doesn’t work, then it is probably because you’ve been rewriting your repo files and broke them.

  12. stm82s
    stm82s July 29, 2010 at 4:06 pm | | Reply

    dh I do not think I expressed myself correctly. The kernel that is installed is the 2.6.33.6-147 , but the xorg-x11-drv-psb requires the kernel 2.6.33.6-147.2.4 .
    Before I modify the files of the repositories I made a backup of them and even restoring them the same message appears:
    Requires: kernel-uname-r = 2.6.33.6-147.2.4.fc13.i686
    Installed: kernel-2.6.33.6-147.fc13.i686 (@ updates)

    I do not want to bother with many questions, I will wait until the launch of a new kernel version to try again.

    Anyway I am very grateful for your help and for all the work of Adam, i had already installed Fedora 11 with his drivers and everything work nicely.

    Thanks again for the help and sorry for anything.

  13. DH
    DH July 30, 2010 at 4:26 am | | Reply

    @stm:
    Take a careful look at what is in rpmfusion repos….
    There are more than one version of the kmod. Including the NOT-.2.4 version. There is also an ****a****kmod which will build itself automatically for your kernel as long as you have the matching kernel-devel installed.

  14. koukou73gr
    koukou73gr August 2, 2010 at 8:31 am | | Reply

    I finally pushed the button and ditched F12 + custom psb builds for F13 + RpmFusion ones 🙂

    Yay, all looks good, bar one catch: Disabling ShadowFB to get Xv acceleration costs me hibernation (while STR looks to be unaffected):
    – Hibernating from within X will hang on resume, but system seems to be alive underneath.
    – Hibernating from text console will kill X on resume, but system will otherwise work ok.

    Enabling ShadowFB gives me back hibernation. As I use hibernation to keep my workplace alive far more frequently than watching videos, I guess I’ll keep it like this…

    Funny, it made no difference in glxgears (both ~90fps).

    Hardware: AO751h

    Thanks Yves, Adam and all involved!

  15. DH
    DH August 3, 2010 at 6:03 am | | Reply

    @koukou: did you apply the dri mode in your xorg.conf? If not, then you may not have had 3D working to begin with. 90 FPS reeks of software rendering.

  16. koukou73gr
    koukou73gr August 4, 2010 at 2:13 am | | Reply

    No and you’re probably right. I actually just noticed the update killed my xorg.conf where I had it specified before in F12.

    But as hibernation is the actual show stopper for me, I’ll probably just pass along 🙂

  17. Myroslav Opyr
    Myroslav Opyr August 4, 2010 at 5:25 am | | Reply

    Adam, you made my Nokia Booklet 3G useable now 😉 Thank you a lot!

    However I’m having issues with suspend/hybernate and filed it in Bugzilla. Adam, can you take a look there, please? https://bugzilla.redhat.com/show_bug.cgi?id=621176

    Regards, m.

  18. DH
    DH August 5, 2010 at 6:50 am | | Reply

    Myroslav: You aren’t going to get anywhere with bugzilla on this since you’re using a hacked up blob driver.

  19. stm82s
    stm82s August 8, 2010 at 5:52 am | | Reply

    Adaw and DH: Just to inform, now that the 2.6.33.6-147.2.4 kernel is available, i updated my fedora and completed the installation. Everything is working nicely now.

    Thanks again!

    dh: i searched and found the kmod version for the old kernel, but every time i tried to install it yum “forced” the installation of the newer kmod. I may be wrong on this, but i think the problems i had happened because i did the dvd installation, with the updated and testing repositories. Anyway it is working now.

  20. Myroslav Opyr
    Myroslav Opyr August 10, 2010 at 7:43 am | | Reply

    DH: I’ve booted in PAE kernel that boots vesa driver and my symptoms are the same. Should I regenerate crash logs and submit separate bug without PSB running?

  21. dglaros
    dglaros August 10, 2010 at 2:17 pm | | Reply

    Hello people!!!Tnx all for relapse and solution about GMA 500 driver i find this i thing is a problem

    Section “DRI”
    Mode 0666
    EndSection

    i changed to

    Section “DRI”
    Mode 0666
    EndSection

    and work FIND!!!!and i have enabled 3D!!!

  22. Errol
    Errol August 11, 2010 at 12:35 pm | | Reply

    Hi everybody.

    I have an odd hardware setup. I’m using a FitPC2. It doesn’t have a screen connected to LVDS, only to TDMS via a TDMS to DVI bridge.

    In the logs the driver finds a blank mode for LVDS and my DVI screen is found on TDMS.

    Log:
    Output LVDS0 using initial mode 0x0 +0+0
    Output TMDS-1 using initial mode 144×900 +0+0

    Then there is a error “Couldn’t find PLL settings for mode!”

    The LCD looks like it keeps changing frequency, it flashed every few seconds…

    How do I disable the LVDS port? 🙂

  23. taljurf
    taljurf August 21, 2010 at 3:16 am | | Reply

    Thx a lot!! 🙂

  24. Kalle
    Kalle August 22, 2010 at 1:49 pm | | Reply

    Hello!

    I have tried to install the driver on my Asus EEE PC 1005 HA.

    But it doesn’t works.

    xserver is not starting.

    The error is: Fatal Error

  25. Kalle
    Kalle August 22, 2010 at 1:51 pm | | Reply

    Sorry,

    to fast pushed RETURN 😉

    The Error is:

    Fatal Error
    no screens found

    Can anybody help me please?

  26. D
    D August 23, 2010 at 4:34 am | | Reply

    Did anyone get Vaapi working on an external display? It only works for me if I use mirror mode. is there a xvattr -a XV_CRTC -v 1 for VAAPI?

  27. AdmiralNemo
    AdmiralNemo August 27, 2010 at 4:19 pm | | Reply

    Glad to see so many people are getting this working. I just got an Archos 9 tablet with a GMA500 chipset, but I’ve had no luck getting the Poulsbo drivers working on Gentoo. I updated the ebuilds to use the newest SRPMS from RPM Fusion and apply all the patches. All of the packages compile fine against Kernel 2.6.34 and X.org 1.8.2 and 1.7.7, but no matter what I do, `startx` always results in a black screen and an unusable console terminal. I’ve tried toggling ShadowFB and a few other options in xorg.conf to no avail. Does anyone have any other suggestions?

  28. acoto
    acoto August 29, 2010 at 4:04 pm | | Reply

    Hello Adam, Linux Gurus

    Thank you for all help with poulsbo. All this intel mess is driving me crazy.

    I have an asus 1101ha, and still some trouble with F13 and new driver.

    I added xorg-x11-drv-psb and akmod-psb, then rebooted, but I feel nothing happened. screen is as slow as standard vesa driver can go.

    I checked with yum search psb, and seems like all files are installed

    what else can be done to check for correct installation? driver status?

    Regards,

    ac

  29. Felix Leung
    Felix Leung September 3, 2010 at 7:13 pm | | Reply

    Dear Adam,

    I have installed F13 with psb driver on a Vaio P first gen. The driver worked but I got a weird situation. My kernel crashed and with ioremap problems.
    Then USB ports does not work.

    Any hints?

    Regards, Felix.

  30. Jodora
    Jodora September 5, 2010 at 11:15 am | | Reply

    Hi,

    I have installed F13 on my eeepc 1101ha. I’m running on the kernel 2.6.33. I made an yum install akmod-psb.i686*
    and when i do a lsmod |grep nouveau or lsmod |grep psb, but nothing run.

    The pilote for my GMA500 doesn’t run.

    Someoen can help me?

  31. Felix Leung
    Felix Leung September 5, 2010 at 5:32 pm | | Reply

    Dear Adam,
    Sorry for not replying earlier because I lived on the other side of the globe. Thanks for informing the harmless kernel notification. I shall work on the mysterious usb then.

    regards, Felix.

  32. Felix Leung
    Felix Leung September 5, 2010 at 6:16 pm | | Reply

    Dear Adam,
    Found out sth is wrong in dmesg.

    ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
    ehci_hcd 0000:00:1d.7: enabling device (0000 -> 0002)
    ehci_hcd 0000:00:1d.7: PCI INT D -> GSI 20 (level, low) -> IRQ 20
    ehci_hcd 0000:00:1d.7: setting latency timer to 64
    ehci_hcd 0000:00:1d.7: EHCI Host Controller
    ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
    ehci_hcd 0000:00:1d.7: debug port 0
    ehci_hcd 0000:00:1d.7: cache line size of 64 is not supported
    ehci_hcd 0000:00:1d.7: irq 20, io mem 0x7f800000
    ehci_hcd 0000:00:1d.7: startup error -110
    ehci_hcd 0000:00:1d.7: USB bus 1 deregistered
    ehci_hcd 0000:00:1d.7: PCI INT D disabled
    ehci_hcd 0000:00:1d.7: init 0000:00:1d.7 fail, -110
    ehci_hcd: probe of 0000:00:1d.7 failed with error -110

    is there anyway to reload ehci ?

    regards, Felix

  33. Felix Leung
    Felix Leung September 8, 2010 at 7:49 pm | | Reply

    Dear Adam,
    Re-installed without updating fixed the problem.
    sth wrong with the new kernel.

    will refrain from updating kernel for the time being.

    regards, Felix

  34. Amir Safarzadeh (From Iran)
    Amir Safarzadeh (From Iran) September 14, 2010 at 6:28 am | | Reply

    Thank Adam . It Worked Properly In My Acer Aspire AO751H “Fedora 13” but with a bit changes in procedure :
    for who could not install this driver I Suggest try these steps and it may be work :
    First : I Get Configurations from http://www.rpmfusion.org/configuration using Terminal …
    Second : I Logged in as root in terminal by typing (su –login) and entering my administrative password …
    Third : I Typed this command in terminal (yum install xorg-x11-drv-psb) and it downloaded some files & installed them .
    forth : Reboot & Every thing was ok & Fedora runs with 1366*768 resolution … 🙂
    Thanks to Every one Who Provided This Driver …

  35. Sebastian
    Sebastian September 16, 2010 at 2:30 pm | | Reply

    Install worked quite well on my Acer Aspire AO0751H. Resolution and 2D acceleration are fine, no 3D though.

    Interestingly, video playback with xine or vlc does not work in the standard installation. But in firefox, ogg (big buck bunny) and flash (adobe flash 10.1) videos are working properly. If I set ShadowFB to “true” in xorg.conf, video playback with xine and vlc is working but it is quite slow. window rendering seems also to get slower compared to ShadowFB = false.

    does anyone have an idea, why video playback is working in ff, but not with xine or vlc (I also tested this with the mplayer-accel, which also did not work)?

  36. Jon Gjengset
    Jon Gjengset September 27, 2010 at 10:18 pm | | Reply

    I have the same problem as Felix with the USB devices on a Sony Vaio X13 on Arch Linux (based on the sources you provide)..

    Problem only exists with “newer” kernels.

    Any information I can provide you with to help debug this?

  37. hapm
    hapm September 30, 2010 at 8:32 am | | Reply

    Hi, I have just installed Fedora 13 in my FitPC2 and as soon as I install the modules and reboot, I cannot get X to start. By checking the logs on X, I found this:

    Fatal server error:
    Couldn’t find PLL settings for mode!

    If I start with initmode 3, I can see the modules correctly loaded, but when I start X, the monitor turns off.

    I have tried a myriad of xorg.conf options to no avail. Any suggestion?

  38. hapm
    hapm September 30, 2010 at 9:05 am | | Reply

    After another attempt, I got it working by using the “NoPanel” option.

    I now have a working system! Cheers and thanks for the guide!

Leave a Reply to Amir Safarzadeh (From Iran) Cancel reply

Your email address will not be published. Required fields are marked *