The following guide is now slightly outdated as Ubuntu 10.04 is out and new drivers are necessary, also some of the repositories I originally used have disappeared. If you use Ubuntu 10.04, try following my much easier directions here instead. (The largest detriment to the Ubuntu 9.10 driver is a complete lack of suspend to ram for me. I will leave my guide for 9.10 online as reference, though. It seems to have been the first good description and I'm happy about the major online media coverage. :)

I've finally managed to get it running. Here is what I did. First you need to get Ubuntu 9.10 running with poulsbo. The first steps 1.-4. describe how to set up the driver for X. The second part (5.-10.) describes how to set up VAAPI and mplayer to get video acceleration. (There is already an early stage GMA500 driver for Ubuntu 10.04.)

The image shows the phoronix test suite benchmarking when I play Grey.ts in a loop (-loop 0) with mplayer and vaapi but without sound (-nosound) on my netbook. During the entire time, the CPU frequency is also downscaled to 800 Mhz. Compare to phoronix vdpau benchmark on a core 2 duo system (which obviously shows even less cpu usage, because the CPU is much more powerful) or the Atom and Nvidia ION benchmark on Phoronix.

CPU usage when playing a 10 minute fireworks recording in 1080p @ 50 fps without sound and then two FullHD movie trailers. The CPU is clocked at 800Mhz the entire time. The spike is caused by a bug in my test sequence: I didn't start a new mplayer process for new files but passed them all at once on the command line.

I can watch FullHD (1080p @ 50 fps + AC3) videos with about 30% or less CPU utilization (Atom@800 Mhz) on my netbook now. Looks really nice, too. Some videos produce artefacts, especially self-recorded AVCHD m2ts files. If you use the right demuxer, AVCHD videos play fine, but deinterlacing does not work. Sometimes the video seems not to run very smooth, etc. It's not perfect yet, don't expect too much! But most videos work perfectly, no matter what resolution.

The only real problem is with suspend to ram. You can't use suspend to ram or VAAPI at the same time: If you used VAAPI and try to suspend, the system doesn't suspend and/or crashes. If you suspend, then use VAAPI or even xv I think, the system crashes really hard. So suspend doesn't really work as expected yet. I think the sound also doesn't work properly after suspend. Suspend works fine for me even after resume if I do a double console switch (Ctrl-Alt-F1 wait until you see the console, then Ctrl-Alt-F7).

3. Once that's done, for a more stable and speedy operation, you need to add an /etc/X11/xorg.conf:

Section "Device"

Identifier "GMA500"

Option "AccelMethod" "EXA"

# someone suggested UXA? but that's for the i965 drivers

Option "DRI" "on"

Option "MigrationHeuristic" "greedy"

Option "IgnoreACPI" "yes"

Driver "psb"

EndSection

Section "DRI"

Mode 0666

EndSection

4. Reboot and make sure that it works! If X doesn't work properly yet, VAAPI won't, either. After a short black screen, you should be greeted in the correct resolution. Full screen xv video should already work fine. Suspend to RAM also worked perfectly at this point for me.

If the system goes to DPMS standby and from there switches to other modes (DPMS suspend, etc.), then my screen actually turns on again (showing all black with backlight active). So make sure you chose only one setting for DPMS. A constantly running screen is not good at all.

VAAPI Video Acceleration setup

Now comes the part where we install the hardware decoding acceleration. If you just want X you can stop now. ;) This is written for Ubuntu 9.10 with old repositories, so 5+6 might not be necessary anymore or work for Ubuntu 10.04!

I've also manged to get the source code to work. This is less bothersome, because you need not link the libaries. Hence less man hours, but more disk space and computer hours for compiling. Didn't take as long as I feared, though. And it's using a slightly newer version of mplayer-vaapi, which includes some rudimentary OSD in vaapi mode now.

X. Done! Enjoy e.g. a nice HD trailer for a start! Post your results! I can recommend using it in smplayer for more comfort(e.g. automatically continue where you left of last). If it crashed, check out by blog entry about smplayer crashing in vaapi mode.

Update: It turns out deinterlacing not working is not due to VAAPI, but a limit in the psb driver. It works with the current iegd driver and other drivers from AMD and NVIDIA (press the D putton in mplayer I think). If I could just get one of those iegd drivers... Thanks Gwenole from splitted-desktop.com for answering my email and of course for writing the mplayer-vaapi patches in the first place! He seems to be the absolute VAAPI expert.

Also some experiments show that I can attach an external screen and watch videos with VAAPI on it. That means I should be able to actually use the netbook for decoding HD video and displaying it on an external screen. (But it does not work for me with except in mirror or single display mode.) Only thing missing now is a digital display port to connect a FullHD display... ;)

Are you sure you've activated the repositories for both karmic and jaunty? I think if you don't have jaunty active this happens. I remember having seen something similar before. But I also used a fresh install.

First off, thanks for the great article. It's articles like these that let me do great things with my netbook.

However, I've experienced a problem -- I'm missing the VA API header files that match the new version of the libva1 package. Naturally, I'm unable to install the libva-dev package from the Ubuntu repositories, since the versions do not match. This prevents me from building and installing mplayer from source, which is the method I'd really like to employ.

Hi,Did you try to watch movies with subtitles? I've been fighting with that for some time. If I have A S S enabled, VAAPI acceleration doesn't work, I get about 1-2 fps. If I use regular subtitles, mplayer crashes with a error 11. I've already posted the backtrace, etc., to the mplayer-users mailing list, but nobody even commented.Thanks

yes and no. I haven't experimented with subtitles, but you may have noticed that the OSD in general does either not work (precompiled version) or work only in black (self-compiled version). Are you using the precompiled version? I assume then subtitle support is not really in it yet. You'd need a newer libva and compile a newer mplayer with it. But since the versions don't always go along well (that's why I recommend specific version), it's not easy to find working combinations. If you do find a newer working one, please let me know!

My system totally messed up! I followed these steps. Then I got the output says first sdvo output reported failure to sync or input is not trainded. Linux now runs in the low-graphics mode.They give me 4 ways to go. 1ST, run ubuntu in low-graphics mode. Second, Reconfigure graphics. 3RD, troubleshoot this error. The last one, exit to console login.2.6.31-17 is the kernel version of ubuntu. I am still working on it.

I have removed ubuntu from my msi u110. The thing gets even worse when I finished installing the psb-kernel-source package. The whole system got no response and It halted there. However, when I press the power bottom. It can turn off normally.

Well, it looks like your repositories are set up a bit messy. If I see correctly you use repositories for Kubuntu 9.04, 9.10 and 10.04. Something there doesn't fit. The current driver is not ready for 10.04's Xorg anyway AFAIK.Try starting with a clean set up and then use the above instructions. Trust me, it's worth it.

Gwenole said he's gotten deinterlacing to work, too, with the driver by the way. I might update the guide once I can get it set up.

I'm on 2.6.36 with a few patches. This is without audio playback I think, not sure right now.What's your system? Sorry don't have a lot of time for debugging right now, try commenting again in June if you're serious about it...