Intel GMA 500

From ArchWiki
Revision as of 13:18, 4 August 2010 by Ptmkenny (talk | contribs) (Installing the FBDEV Xorg framebuffer driver: added info about dependency on 915resolution-static)
Jump to navigation Jump to search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary heading Template:Article summary link Template:Article summary end

The Intel Poulsbo Chipset, also known by its official name "GMA 500", is typically found on boards for the Atom Z processor series. It embeds a graphics core that was developed by PowerVR and is licensed by Intel. Its major feature is the hardware decoding capability of FullHD video content in various state-of-the-art codecs, e.g. h.264.

As the graphics hardware was not developed by Intel themselves, regular Intel drivers do not work with this hardware. Furthermore, two different accelerated Linux drivers for this hardware exist; both of which have major problems. Alternatively, there is a generic framebuffer driver solution, but this is unaccelerated.

On this page you find comprehensive information about how to get the best out of your Poulsbo hardware using Arch Linux.

What to expect

If you choose to go with the IEGD driver you will at the end of the day you will be able to run X on your hardware. Furthermore, you will be able to use basic OpenGL capabilities, some may even get GL compositing working. You may use your display at its native resolution and maybe even have decent 2D acceleration. With the IEGD driver, you will not be able to use suspend states anymore. You may play FullHD videos without stuttering, but only some will play correctly, others will show artifacts. But you will not be able to run an up-to-date arch installation because the IEGD driver doesn't work with kernel26 > 2.6.31 and Xorg server > 1.6.

If you choose the Poulsbo driver you will, as of now, be able to run an up-to-date arch installation. But you can't expect the same performance as with the IEGD driver. With the drivers currently in AUR you will only have 2D performance, but it is possible to get 3D also(ubuntu has it working). You will be able to play youtube videos smoothly.

Or if you choose to use framebuffer driver you will be able to get the correct resolution for your screen and an up-to-date arch installation. You will not be able to play any kind of video smoothly. A plus for this option is that you will only use official arch packages.

Installing the IEGD driver

This guide is not complete and will not give you a working X unless you figure out the rest of yourself.

First thing to notice is that, regardless of which driver you use, Intel currently only supports kernel versions up to 2.6.31 and Xorg server versions up to 1.6. You may be able to use newer software without hardware acceleration.

Installing Xorg server 1.6

Please note that Kernel 2.6.31 and Xorg server 1.6 is no longer officially suported by the Arch Linux team.

At this time, the Xorg 1.6 files are available for i686 from the following sites:

Download the following files from one the the repositories listed above. It is recommended to create a separate folder in your home directory to ensure that it is easy to locate the files.

  • xorg-server-
  • xf86-input-evdev-2.2.5-1-i686.pkg.tar.gz
  • xf86-input-keyboard-1.3.2-2-i686.pkg.tar.gz
  • xf86-input-mouse-1.4.0-2-i686.pkg.tar.gz
  • xf86-input-synaptics-1.1.3-1-i686.pkg.tar.gz
  • xf86-video-vesa-2.2.0-1-i686.pkg.tar.gz

Open a terminal, change to the directory you downloaded the files to, and enter the following commands.

sudo pacman -R xorg-server xf86-input-evdev xf86-input-mouse xf86-input-synaptics xf86-input-keyboard xf86-video-vesa xf86-video-fbdev
sudo pacman -U xf86-evdev-2.2.51-i686.pkg.tar.gz xorg-server- \
     xf86-input-keyboard-1.3.2-2-i686.pkg.tar.gz xf86-input-mouse-1.4.0-2-i686.pkg.tar.gz \
     xf86-input-synaptics-1.1.3-1-i686.pkg.tar.gz xf86-video-vesa-2.2.0-1-i686.pkg.tar.gz

The second command may be entered as one line, without the backslashes.

An older version of libssl is also needed. This requirement can be fufilled with the openssl-compatibility package from the Arch User Repository. You must have the prerequisites installed to build this.

mkdir openssl-compatibility
cd openssl-compatibility
makepkg -s
sudo pacman -U openssl-compatibility*.pkg.tar.xz

Once this is done, you may reboot the computer. Alternatively, close all instances of Xorg and run


The Xorg 1.6 server should start without issue.

Troubleshooting Xorg 1.6

Driver cannot be found

If it complains that the driver cannot be found, you probably have the FBDEV driver specified in your /etc/X11/xorg.conf file, but didn't install the FBDEV driver as described above . Change the

Driver "fbdev"

line to

Driver "vesa"

and everything should be fine.

Installing IEGD-enabled kernel

This process is still under development. Some info may be found here.

Installing IEGD binary drivers


Installing mplayer-vaapi


Installing the Poulsbo driver

This is fairly easy. All the packages you need can be built from AUR, use yaourt or whatever you prefer.

yaourt -S xorg-x11-drv-psb

On of this packages dependencies is libdrm-poulsbo, after building this the installation will fail(if you have mesa or libgl installed) because this package conflicts libdrm. What you need to do is installed it manually:

pacman -U /path/to/the/package/libdrm-poulsbo-2.3.0-2-i686.pkg.tar.xz

When you have libdrm-poulsbo successfully installed you will need to restart the installation:

yaourt -S xorg-x11-drv-psb 

Now you have the Poulsbo driver installed, but you need to make some changes to /etc/X11/xorg.conf. Change the driver to poulsbo:

driver "psb"

Right after this line append this line:

option "shadowFB" "true"

Now you can start X and everything should be working.

Installing the FBDEV Xorg framebuffer driver

Using the FBDEV driver results in somewhat better performance than using the plain VESA driver, i.e. you can get the right resolution. This work with latest xorg and kernel, so no downgrading.

Download v86d and xf86-video-fbdev:

pacman -S v86d xf86-video-fbdev

You will also need to install 915resolution-static from the AUR:

yaourt -S resolution-static

Make the file /etc/modprobe.d/uvesafb.conf and add this:

options uvesafb mode_option=1280x800-32 scroll=ywrap

Make sure you use the right resolution for your setup.

Edit /lib/initcpio/hooks/915resolution and make sure it has the right resoultion for your setup.

Edit /etc/mkinitcpio.conf and add 915resolution and v86d to the "HOOKS", like this:

HOOKS="base udev 915resolution v86d ..."

Make sure you run mkinitcpio:

mkinitcpio -p kernel26

Edit /etc/X11/xorg.conf and change driver to fbdev:

Driver "fbdev"

See the Uvesafb article for more information.

For Chakra?

Using the FBDEV driver results in somewhat better performance than using the plain VESA driver. It is not, however, currently in the Chakra Project's repositories. Fortunately an Arch user found the package in his backups, and has posted it online at Feel free to download it, but please do not abuse the URL given below (via multiple-threaded download or otherwise) as the traffic limit is currently unknown.

Go to the site with a web browser that supports JavaScript and download the file. Then run

sudo pacman -U xf86-video-fbdev-0.4.1-1-i686.pkg.tar.gz

to install the FBDEV driver.