Posted by Michael Larabel on January 09, 2012
Mesa, the heart of the open-source 3D graphics drivers for Linux, will see its 8.0 release in February with OpenGL 3.0 compliance.
It’s been known for a year that when OpenGL 3.0 support is ready it will be released as Mesa 8.0. Intel announced in September at XDC2011 Chicago it aimed to have GL3.0 support done by the end of 2011. They’ve nearly achieved this, and now what was to be known as “Mesa 7.12” is now Mesa 8.0.
We’ve known for a few weeks now, and mentioned in several Phoronix articles already, that this Mesa 8.0 release was likely to happen. Only today though did Kenneth Graunke of Intel make the commit announcing Mesa 8.0-devel (rather than 7.12-devel) and saying within the release notes that Mesa implements OpenGL 3.0 rather than OpenGL 2.1.
While Mesa now basically has OpenGL 3.0 support in place, don’t leap for joy just yet. The OpenGL 3.0 / GLSL 1.30 support in Mesa 8.0 basically comes for the Intel Sandy Bridge / Ivy Bridge hardware. In November is when Intel began advertising GLSL 1.30 as the shading language supported for current-generation Sandy Bridge and next-generation Ivy Bridge graphics hardware. Older Intel hardware isn’t GL3-capable.
Outside of Intel hardware, the Gallium3D drivers for the recent generations of ATI/AMD Radeon GPUs is still fighting for GL3 compliance. They have made progress in the direction of handling full OpenGL 3.0 support, but it doesn’t have quite the same coverage that the Intel DRI driver does at the moment. For the NVIDIA driver, the Nouveau driver stack for modern GeForce graphics processors is also still fighting for OpenGL 3.0 compliance. This support though will likely come after the Radeon driver though considering the limited community manpower working on open-source NVIDIA support.
Within Mesa 8.0 there might be OpenGL 3.0 support in Softpipe as a CPU-based software driver implementation used for reference. However, this driver is extremely slow and not even as useful as the LLVMpipe software driver.
Open-source OpenGL 3.0 support is finally here… Prost!
While OpenGL 3.0 is now advertised, this achievement for open-source graphics drivers comes three and a half years after the Khronos Group released the OpenGL 3.0 specifications. The proprietary Windows/Linux drivers from AMD and NVIDIA have supported OpenGL 3.0 / GLSL 1.30 for over three years while the open-source drivers are now only catching up.
OpenGL 3.0 introduced OpenGL Shading Language 1.30 (GLSL 1.30), vertex array objects, improved frame-buffer objects (FBOs), floating-point textures and render buffers, texture arrays, and floating-point depth buffers, among other new features. On the AMD side, a Radeon HD 2000 series or newer graphics card is needed for hardware support. NVIDIA GeForce 8 series and later is capable of GL3.
After OpenGL 3.0 there is still OpenGL 3.1/3.2/3.3 and OpenGL 4.0/4.1/4.2 to tackle. And there’s also still OpenCL 1.0/1.1 support that’s needed too. By the time Mesa is caught up with handling these industry specifications, chances are there will be several new versions ratified.
OpenGL 3.0 support in Mesa also doesn’t mean you can magically go play the latest games now on the open-source drivers, but there’s still some inherent limitations. Mesa still doesn’t have S3TC (S3 Texture Compression) support enabled by default nor other features like floating-point textures (an OpenGL 3.0 feature) since they are covered by patents. These features can be enabled if rebuilding Mesa with non-default build switches and pulling in the external S3TC library, but no major distribution vendor (unless counting Arch) is doing so out of legal concerns.
These patented features are critical for some games, but alas it’s not happening for now in Mesa. The use of open-source Linux graphics drivers have even been criticized by Ryan Gordon and others, with vendors treating these drivers as being ready when they are not fully baked and without parity to the closed-source alternatives.
Also hindering Mesa’s adoption is the performance, which for the Nouveau and Radeon drivers is much slower than the feature-rich proprietary drivers. See The Most Comprehensive AMD Radeon Linux Graphics Comparison and A 14-Way Comparison Of NVIDIA vs. Nouveau Drivers, among many other Phoronix articles to see the current state of these open and closed-source Linux drivers.
Look for Mesa 8.0 to be released in early February (in time so that Intel’s OpenGL 3.0 support will be here for Ivy Bridge). The Mesa 8.0 release will be found in Ubuntu 12.04 LTS, Fedora 17, and other distribution releases beginning in Q2’2012.
Mesa 8.0 will eventually play a role on other operating systems too. Mesa is employed by Solaris, *BSD, and even niche operating systems like Haiku (BeOS) and AROS as an open-source graphics library. However, most of these non-Linux platforms currently lack the kernel-side bits (the Direct Rendering Manager code with GEM/TTM memory management and KMS) as needed by modern Mesa drivers.
Besides the OpenGL 3.0 support upbringing, Mesa 8.0 brings many other updates to core Mesa, Gallium3D and its state trackers, and the various hardware drivers. There’s new hardware support, bug-fixes, and a lot of new functionality.