Intel's Special Driver For Poulsbo Uses Gallium3D
The Poulsbo Linux driver stack that Martin was showing off in the aforementioned videos include a new DRM driver, a new xf86-video-psb DDX driver, and a new Gallium3D driver for this hardware. The first two components (DRM and the X.Org driver) are open-source while the 3D driver riding atop Gallium3D is closed-source.
The new DRM code, which the developers will be working on merging upstream soon (after a failed attempt with their older code), supports kernel mode-setting with the Linux 2.6.31 kernel and later. For in-kernel memory management, Tungsten's TTM is being used rather than Intel's own Graphics Execution Manager. This DRM code is also able to use the new Simple Firmware Interface (SFI) support that has been merged into the Linux 2.6.32 kernel. This kernel code not only supports Poulsbo but also supports Moorestown and Sodaville too! As we have mentioned, Moorestown is the next-generation mobile device platform that succeeds Menlow. Sodaville on the other hand is Intel's new SoC (System-on-a-Chip) designed for consumer electronic devices. This open-source kernel code also supports the hardware encoders on these Intel chipsets.
When it comes to the new version of the Poulsbo X.Org driver (xf86-video-psb), it's totally new too and now supports DRI2. Lastly, there is the closed-source component, which is the Gallium3D code to provide some fast OpenGL acceleration. This portion of the code also contains two firmware files for the video hardware encoder and decoder, which is all closed up but Martin says can be distributed easily in Linux distributions.
Besides offering fast OpenGL / video performance, this Gallium3D driver should be able to leverage the other emerging state trackers too like those for OpenGL ES 1.1/2.0, OpenVG, and even the new X.Org state tracker that can accelerate EXA and X-Video.
If this new driver stack really ends up shipping by the end of this year or early next year, it will likely be the first complete driver that's showing off the Gallium3D architecture. Assuming everything works as planned, this will be quite the change from the current state of the Poulsbo Linux driver, albeit the Gallium3D bits will be closed off. The new kernel code that supports Moorestown and Sodaville along with KMS, TTM, SFI, and HW encoder support is also intriguing as well as their new DRI2-supportive X.Org driver.
Martin mentioned in his emails to us that while this is not a "true open-source 3D driver from PowerVR", someone could replace the closed-source Gallium3D driver with an open-source version while still using the open-source DRM/DDX code. Though given that the Nouveau developers have been working on Gallium3D support for NVIDIA hardware for years and haven't made too much headway in a usable driver, that the open-source ATI/AMD developers still have quite a ways to go with their new drivers, and that Intel doesn't even know for their in-house graphics chips whether they will support Gallium3D due to the initial work involved, it's unlikely we will see any new projects come around that try to re-implement an open-source Gallium3D driver off the working Poulsbo/Moorestown/Sodaville driver. Though this new is coming less than 12 hours after we reported on TG/VMware working on a rewritten Gallium3D i965g driver.
Martin also clarified that in the videos Quake III Arena was actually running at just 1280 x 1024 with a modest frame-rate (at 1600x1200 the current-generation GMA 500 drops to 20~25 FPS) and the video content shown in the videos were running with 1080i, due to the lack of 1080p content and testing. However, this Linux Foundation representative also mentioned that Moorestown and Sodaville will be using a 400MHz PowerVR core, which is faster than what's available today and should be able to push the 3D engine even further.
This is very exciting news for Intel Poulsbo customers running Linux whether it be Moblin or another distribution, albeit this is not the most optimal news with there still being a binary blob that may present an adoption barrier to some users.