Here's another reason to celebrate today besides the release of Wayland 0.85
: Mesa 8.0 has been officially released! Mesa 8.0 is what brings OpenGL 3.0 compliance to several open-source graphics drivers, advances the Gallium3D architecture, brings many new features, and a heck of a lot of other changes that materialized over the past six months.
The release announcement can be found here
, but it really doesn't say anything. "Mesa 8.0 has been released. Mesa 8.0 is a new development release. People who are concerned with stability and reliability should stick with a previous release or wait for Mesa 8.0.1."
The official release notes
of changes within Mesa 8.0 is also embarrassingly incomplete (just listing what's been killed):
- Removed all DRI drivers that did not support DRI2. Specifically, i810, mach64, mga, r128, savage, sis, tdfx, and unichrome were removed.
- Removed support for BeOS.
- Removed the obsolete (and unmaintained) Windows "gldirect" and "ICD" drivers.
- Removed the linux-fbdev software driver.
- Removed all remnants of paletted texture support. As required by desktop OpenGL, GL_COLOR_INDEX data can still be uploaded to a color (e.g., RGBA) texture. However, the data cannot be stored internally as color-index.
- Removed support for GL_APPLE_client_storage extension.
- Removed the classic Mesa r300 and r600 drivers, which are superseded by the gallium drivers for this hardware.
- Removed the dead Gallium i965, cell and failover drivers, which were either broken and with nobody in sight to fix the situation or deprecated.
With writing about Mesa advancements on Phoronix daily (or often even multiple times per day) it's really hard to summarize everything that's happened since the release of Mesa 7.11 last summer. Mesa 8.0
began as Mesa 7.12-devel
, but was changed to the 8.0 series when the OpenGL 3.0 compliance was met
for core Mesa and the Intel DRI driver. Here's my take on some of the most prominent changes that happened for Mesa 8.0:
- The Intel classic DRI driver now supports OpenGL 3.0
/ GLSL 1.30
for Sandy Bridge and Ivy Bridge support. It's taken a while for core Mesa to support the necessary OpenGL 3.0 extensions and the GL Shading Language changes, but that's finally wrapped up (well, mostly wrapped up). There's still a lot of work left though before OpenGL 3.1/3.2/3.3 and OpenGL 4.0/4.1/4.2 support is in place -- several releases. The Softpipe rasterizer also can handle GL3
- The Radeon R600g driver is also capable of OpenGL 3.0 / GLSL 1.30 support.
- The only Nouveau Gallium3D driver to advertise OpenGL 3.0 support at this time is the "NVC0" Fermi driver for the GeForce 400/500 series. However, GL3 has been supported in the hardware going back to the GeForce 8 series "NV50", which will hopefully be ready for Mesa 8.1 in another six months.
- Mainline Mesa / Gallium3D support for Google Android
- Among the new hardware support (or better than first-cut support in 7.11) in Mesa 8.0 is for Intel Ivy Bridge, better Nouveau Fermi handling, and the latest AMD hardware. However, there still is no Radeon HD 7000 series support.
- All of the old non-DRI2 drivers have been killed
. This includes dropping 3dfx Voodoo and other old, obscure drivers for mostly GPU hardware older than a decade. The classic (non-Gallium3D) Radeon drivers were also wiped
- Floating-point depth buffers support
, but this is hidden behind a build-time switch due to patent reasons.
- VMware completely overhauled their Gallium3D driver
. This "virtual" Gallium3D driver is used for providing guest acceleration support within virtual machines on VMware virtualization products. There's actually a very thorough Phoronix article coming out on Friday morning that looks at this exciting VMware driver which is now on-by-default and the DRM driver has left the kernel staging area.
- The new XA state tracker
for doing 2D over Gallium3D. This right now is used by the VMware graphics driver and eventually will be more of a complement to the Xorg state tracker, which originally brought EXA acceleration over Gallium3D. Speaking of which, the R600g driver now works with the Xorg state tracker
(it already did for R300g
- There's many performance improvements in Mesa 8.0 for the main drivers (Nouveau / Radeon / Intel).
- GLX_EXT_texture_from_pixmap support and other needed changes so LLVMpipe can handle GNOME Shell / Mutter
along with the other software rasterizers.
- Mesa GLSL-to-TGSI support
- The merging of Gallium3D pipe-video
for offering some video playback improvements over Gallium3D, namely for Radeon and Nouveau. The exposed video APIs that are maturing within Gallium3D is for VA-API and VDPAU.
That's the brief list of items that immediately come to mind... As far as performance changes go, here are Mesa 8.0 benchmarks for the ATI/AMD Radeon hardware generations
, Intel DRI
, and Intel Gallium3D
Unfortunately upgrading to Mesa 8.0 isn't as easy as installing an updated graphics driver on Windows or updating your proprietary Linux graphics driver. If you know how to, you've likely already been running the Git development snapshots so this isn't a huge deal. If you're a novice Linux end-user, wait for PPA/third-party repositories to arrive or for your distribution to provide its next update. Ubuntu 12.04 LTS, Fedora 17, and others will be shipping Mesa 8.0. Mesa 8.0 also works on Solaris, the *BSDs, and other platforms, but there most of the modern DRI/Gallium3D drivers don't work due to lack of infrastructure
Congratulations to all of those involved in bringing Mesa 8.0 to fruition. With the openSUSE Old Toad beer being gone, in celebration was a Veldensteiner Weißbier sent by a soon-to-be Phoronix Premium member. (Note: this photo is also to serve as a hint for something that's the focus of a future set of interesting articles. ;))
While Mesa 8.0 is huge for the free software community and the advancement of open-source graphics drivers, there's also many shortcomings to Mesa 8.0
. Regardless, nice job to the developers and prost/cheers!