While I haven’t completely figured out the problems I talking about a couple days ago, I’ve made some progress and feel I should share the details with you and my future self — who will undoubtedly have forgotten this and had to look it up.
While I still can’t can’t get VA-API acceleration working, I did track down the reason I couldn’t get ordinary XVideo acceleration: that’s handled through the Xpsb.so blob, which REQUIRES Xorg-server 1.6.
So, I installed Xorg 1.6, following the directions in the Arch Linux Wiki’s “Poulsbo” article. That includes instaling openssl-compatibility from the AUR, as Xorg 1.6 requires a slightly older version of openssl. Afterwards, I removed, rebuilt, and reinstalled the PSB driver packages (just in case) and started up the Xserver. I then opened a terminal, and used Mplayer try playing the H.264 720p encoding of Big Buck Bunny with XVideo acceleration. (-vo xv, if you didn’t know.)
It worked perfectly.
I have no clue if XVideo offloads the decoding to the SGX 535 chip the GMA500 hardware incorporates, like VA-API supposedly does with the right driver, but the playback is certainly a lot smoother than plain X11 rendering.
As for why I can’t get the VA-API acceleration to work, even after copying a blob to where it’s expected to be, it seems to be because the modern libva used in Arch Linux is not compatible with the older libdrm-poulsbo software. I’ve tried recompiling it, but that doesn’t help at all — and requires the standard, non-Poulsbo-driver-compatible libdrm to compile at all. I’ve tried changing the PKGBUILD to not conflict with the newer, standard libdrm, then compiling and force-installing libdrm-poulsbo, and then compiling and installing libva; when I tried to start Xorg up, though, the conflicting libdrm versions crashed Xorg. As expected.
So, the headaches continue, but are at least partially dealt with. Now, not only do I have backlight control, native resolution, and proper font DPI, but I can even play HD movies comfortably. 😀 Now I just have to sort out that pesky, pesky libva issue — and perhaps figure out why XvMC still doesn’t work.