For those wondering what functionality is supported by Intel's open-source GMA500/GMA600 "Poulsbo" DRM driver, here's a list of what works and also what doesn't function.
The open-source Poulsbo driver being talked about is what supports the GMA500 Poulsbo and newer Intel chips based upon the PowerVR SGX technology. There's a few different Linux driver options for Poulsbo/PowerVR, but what this article refers to is the open-source Poulsbo driver written by Alan Cox
(of Intel) and what was merged into the mainline Linux kernel tree earlier in the year.
It's the basic Poulsbo driver that's written via what bits of documentation are publicly available for the hardware and the crufty un-accelerated open-source code that has been available. Alan Cox ended up adding Intel Cedar Trail support
to this open-source DRM graphics driver among other improvements
. Just recently the Poulsbo driver left the kernel staging area
For those wondering where this driver is presently at, Alan has listed the state of various items. Below is the list as it concerns the Intel GMA500/GMA600 support by this open-source Poulsbo DRM driver.
If you configure it in the following should work on GMA500/600
- internal laptop displays including backlight
- external svga
- mode setting via KMS
- framebuffer console
- the framebuffer X server (and once out generally Dave Airlie's generic KMS X server)
The following I know don't work
- Huge external displays so large they won't fit in 8MB at init time (causes a crash)
- Using the vesa X server with it - this confuses stuff and isn't fixable, it's a "wrong user configuration"
- 2D hardware acceleration except console scrolling (as it seems to be too slow to be useful). I may add some 2D bits later where they do help(eg back to front blitting may be worth it just about)
- 3D engine (no public documentation)
- Video playback acceleration. In theory there is enough info in the VAAPI code for GMA500/600 that has been published and in the old 'binary X/source kernel' driver to do this but someone will have to work on it if they want it
- Dell Mini HDMI port. This seems to be some kind of external bridge chip. Being a TV luddite I don't yet own an HDMI capable display to test.
(This was posted to the kernel mailing list
The list shouldn't be a surprise if you closely follow the kernel's developments and the many Phoronix news stories. The open-source Intel Poulsbo driver is basically at a point of having a KMS un-accelerated display (no 2D or 3D support) and can work under an X.Org Server when using the fbdev driver. There's possible bits of 2D acceleration that may come in the future, but right now there's no 2D hardware acceleration.
The 3D acceleration support is also not present due to PowerVR documentation lacking or any other official open-source support. This may change thanks to some other work going on at Intel and other open-source PowerVR efforts, or as a very last-ditch hope is a fobbled
effort to reverse-engineer PowerVR graphics
as deemed a "high priority" by the Free Software Foundation.
What is interesting from Alan's list is the VA-API support mention. He says that there's enough code and information out there already to potentially implement open-source support for the Video Acceleration API under GMA500/GMA600 hardware, but that no interested developers have yet tackled this code.