Intel Rounds Out Its Ivy Bridge Graphics Driver
The xf86-video-intel 2.16.0 driver was tagged (Git commit) by Chris Wilson this morning as their latest quarterly release. What's most important about this release is enabling the Ivy Bridge acceleration code, in particular, for UXA / SNA with X Render support and X-Video acceleration. There's also a variety of bug-fixes within this driver release for Ivy Bridge, Sandy Bridge, and older hardware. This driver update also supports the shared render buffer allocations for the IVB hardware as needed by Mesa for 3D support.
The 2.16 release supports the "Sandy Bridge New Acceleration Architecture", but for this release is still requires passing a build-time flag (--enable-sna) for having the support built into the DDX. Contrary to the name, the SNA architecture model is supported just not for Sandy Bridge, but is also core to the Ivy Bridge support and is also relevant for even older generations of hardware. Here are some of our recent SNA benchmarks that show the rather dramatic performance improvements that can be provided by this new acceleration code in some environments.
Outside of the hardware enablement realm, the only other feature new to the 2.16 series worth noting is the deep color support for all supported Intel chipsets, which means it's possible to use 30-bit monitors now at their native color depth with this driver.
In terms of the Ivy Bridge support being rounded out, this xf86-video-intel 2.16.0 driver is now the minimum X.Org driver version supported for when the Ivy Bridge hardware is released by year's end. Beyond this driver, Intel IVB owners will also be wanting the Linux 3.0 kernel or newer as that's where Ivy Bridge is supported in the Intel DRM (Direct Rendering Manager) driver for 3D and KMS (kernel mode-setting) support. The Linux 3.1 kernel would ideally be best since there are SNB/IVB performance optimizations and other work within this newer kernel, but that won't make it into Ubuntu 11.10 and others.
On the Mesa side, the recently released Mesa 7.11 will be key for the user-space 3D support on Intel's next-gen hardware. Here again, using the latest Git (for what will be Mesa 7.12-devel or potentially Mesa 8.0-devel) will be best. In the coming months there will certainly be more performance optimizations for Ivy Bridge, bug-fixes, and support for more OpenGL functionality (i.e. finally nearing OpenGL 3.0 support).
Ubuntu 11.10 is already shipping with the Linux 3.0 kernel and Mesa 7.11, while the xf86-video-intel 2.16.0 will hopefully be pulled into the Oneiric repository shortly.
This means there should be "out of the box" support for Ivy Bridge within this Ubuntu Linux update being released in October. It won't be in the best shape, unless Canonical is back-porting more of the work from Mesa 7.12-devel and the Linux 3.1 DRM, but it should be functional. Of course, that should have been the case too for Ubuntu 11.04 with Sandy Bridge, but that was a troubling experience -- and it continues to be for many users. Intel even ended up borking a later kernel update. At least with Fedora 16, Red Hat should be pumping in the very latest graphics driver code.
We'll just have to wait and see how the Ivy Bridge support is once the hardware is actually released, but hopefully there won't be any show-stopping bugs for this forthcoming hardware that kill the initial user experience. For all graphics hardware, the Phoronix recommendation will continue to be always using the very latest Linux kernel / DDX / Mesa as the open-source Linux graphics drivers are in a constant game of catch-up to the graphics drivers of other operating systems and the proprietary AMD / NVIDIA drivers.
One outstanding limitation of the Intel Linux graphics driver is that there is just OpenGL 2.1 support, nor by the IVB launch time is it expected that Intel's Mesa driver will support OpenGL 3.x (or even OpenGL 4) functionality.
While this covers the graphics side, we're still waiting for the VA-API library (libva) updates to support HD video decoding and encoding on Ivy Bridge, which will hopefully be here before launch-day (Update: evidently Intel has already pushed VA-API IVB code into Git.). There's also no OpenCL support for Intel Linux graphics processors or that of any other GPUs under Linux with open-source drivers (there is though with the proprietary AMD / NVIDIA drivers). OpenCL support is coming atop the Gallium3D architecture, in part through this year's Google Summer of Code project, but Intel is still reliant upon their classic Mesa driver and not Gallium3D.
Ivy Bridge is the 22nm die shrink of Sandy Bridge and it's graphics capabilities are expected to be compatible with Microsoft DirectX 11 and OpenCL 1.1. Ivy Bridge will also offer up PCI Express 3.0 support. This hardware should be out in just a matter of months. Since Ivy Bridge processors are expected to be backwards compatible with the Sandy Bridge platform, hopefully besides the graphics driver requirements there won't be much of other Linux hardware compatibility problems to cause worry. In May was when Intel began releasing Ivy Bridge driver code for Linux.
Next month at the X.Org Developers' Conference (Chicago; 12 to 14 September), of which I am the event organizer, hopefully the Intel developers will comment more on their Ivy Bridge Linux support and future plans.