Back in December of 2008 VMware acquired Tungsten Graphics, the company that's principally behind Mesa 3D along with the Gallium3D driver architecture, the TTM memory manager, and other parts of the Linux graphics stack. A year later (this past November/December) we then found out VMware had them create a virtual Gallium3D driver for their VMware virtualization platform so that virtualized operating systems can exploit the graphics processor on the host system just not for driving OpenGL support, but OpenCL, OpenVG, OpenGL ES, and other areas covered now by the Gallium3D state tracker and going into the future (VDPAU, etc).
Back in mid-2008 we published two articles that looked at the contributors to the X Server and contributors to Mesa, which provided statistics as to the companies and developers contributing to these two important free software projects over the years. Since the start of the new year though I've been meaning to provide some other statistics about how the projects themselves have evolved over the year, but this morning I am finally pushing out these new numbers for the X.Org Server and Mesa.
In a Phoronix Forums thread in regards to a 2010 Linux graphics driver wish-list, a developer has shared that he has started a Direct3D 9.0 state tracker for Windows! Yes, where it would actually be possible to accelerate Direct3D 9.0 while on Linux when using a Gallium3D hardware driver.
While a blitter module was introduced for Gallium3D that uses the 3D engine for blitting, this doesn't help those without blit support that are still running the "classic" Mesa driver stack. Over the night, however, blit support has arrived for the ATI R600/700 Mesa driver. This support arrived in the form of three commits (1, 2, 3) that increase the driver's code-base by around 2,000 lines of code.
This week in the Mesa world Gallium3D feature levels came about and a new EGL state tracker was released. The week though is not over and there are more announcements coming out for this free software OpenGL stack used on Linux and other operating systems.
For the past few months there has been a developer, Chia-I Wu, working to bring the Mesa 3D stack to Android netbooks. Chia-I has worked to improve the OpenGL ES support in Mesa, wrote an Android EGL driver, Mesa OpenGL ES/EGL support outside of an X Server, and various other areas of interest. Also being worked on by this developer have been a set of improvements to the EGL support in the Gallium3D stack.
The last time we talked about Gallium3D work being done by Zack Rusin was just before the holidays when he was hacking on new geometry shader support. Zack's latest work on Gallium3D though is for defining "feature levels" that provides a table for what features can be supported by a given driver / graphics processor.
While ATI R600 users only recently received OpenGL 2.0 hardware support within the open-source Radeon 3D stack and there is many more OpenGL extensions to be implemented just not for the ATI Mesa driver but the other DRI drivers as well, Brian Paul has published a document that lays out the current state of OpenGL 3.x within the classic Mesa core. This document lays out what core Mesa supports and not necessarily that any of the drivers are implementing the said support at this time. Granted, with Mesa not really being very performance-efficient at this time or capable of running most games, a majority of users will be waiting for the OpenGL 3.x state tracker for Gallium3D.
Zack Rusin has just shared with the Mesa development community a plethora of new code. This is not code for yet another state tracker or new hardware driver, but rather it brings new geometry shader support to the Gallium3D infrastructure. There's a new syntax now being used for geometry shaders and these patches fully implement the support, including with the TGSI components. So far the feedback on these patches are very positive and should be merged to master in the near future.
VMware's Keith Whitwell has mentioned on the Mesa3D development list that he plans to merge the new Intel i965 Gallium3D driver to Mesa's master repository. At the beginning of November this new Gallium3D driver emerged and was formed within the i965g-restart branch, which continues to frequently see new work on this Gallium3D driver.
Just as planned, Mesa 7.7 has been released in time to make it into everyones stockings this holiday. Intel's Ian Romanick has just pushed out the release of Mesa 7.7.0, which delivers many new features, along with Mesa 7.6.1, which delivers bug-fixes and greater stabilization work atop the Mesa 7.6 code-base.
A month and a half ago we shared that Mesa 7.7 should be a Christmas present with a release date just before the holidays. Since then we have seen release candidates for Mesa 7.7 and it's still on track to debuting next week. Intel's Ian Romanick has today announced Mesa 7.7-rc3 (along with Mesa 7.6.1-rc4 for carrying bug-fixes in the current stable branch).
A week ago we shared that the first of the slides and videos from VMware's recent Gallium3D workshop were now posted on the Internet. This morning some more of this content is being published, which covers the VMware SVGA driver status, a Gallium3D state tracker overview, and the status of the OpenGL ES state tracker. The content from the previous video/slides push along with today's uploads can be found here. Unfortunately we have found out that some of the videos from the Gallium3D workshop have been lost.
Gallium3D has been a topic we have talked about a lot lately from the OpenCL state tracker to VMware's virtual GPU driver, but this graphics driver architecture keeps on advancing. The most recent module for Gallium3D is one written by Marek Olšák that provides a blitter.
While NVIDIA and ATI/AMD have OpenCL support within their binary drivers, the open-source Mesa / Gallium3D stack is still lacking open-source support for the Open Computing Language on Linux. But the discussion surrounding OpenCL in Gallium3D has been renewed on the mailing list today.
Not only are Mesa developers -- those at VMware and within the open-source community -- busy at work on producing new state trackers (such as for OpenCL and OpenGL 3.1/3.2 support) and actual hardware drivers (or virtual drivers), but the core Gallium3D architecture and API continues to be revised as well. Over the past few days there have been some new Gallium3D branches that have come about and others that are getting ready to be merged to master, or enter the mainline Mesa code-base.
Mesa 7.7 crept closer to being released last week when the first release candidate had arrived, but now we are even closer with there being a second release candidate. Intel's Ian Romanick has announced the release of Mesa 7.7 RC2 (along with Mesa 7.6.2 RC3) in hopes of still putting this release out before Christmas.
Nearly a month ago VMware had hosted the first-ever Gallium3D Workshop at its headquarters in California for developers and users interested in this graphics driver architecture that will be predominately used on Linux. We had monitored this workshop and provided live coverage -- A Virtual Gallium3D Driver Coming For VMware and The State Of Gallium3D, Its Future, Etc -- but beyond that not much information was released about the conference. Today, however, the slides and video recordings from this Gallium3D Workshop are finally coming out.
Mesa 7.7 is planned for release by Christmas and now being less than a month out from this targeted release, Ian Romanick has announced the first release candidate in the 7.7 series.
Last Friday during the Gallium3D workshop we learned that the Tungsten Graphics developers that were bought out by VMware have been working on a virtual Gallium3D driver that would be used by guest operating systems running within VMware's virtualization platform. This is especially interesting considering that it will allow virtualized guests to have accelerated access to X11, OpenGL, OpenCL, X-Video, XvMC, and all sorts of other possibilities that's just limited by what's supported by the available state trackers.
VMware hosted a Gallium3D workshop today at its headquarters in California (and via teleconference too) where the former Tungsten Graphics developers talked about all that they have been working on with Gallium3D, the current state of this graphics driver architecture, and what's to come. The biggest news coming out of this workshop is word that a virtual Gallium3D driver is coming, which will allow Gallium3D to run within a virtualized environment. It's looking like there will be this Gallium3D driver that can run within a VMware guest virtual machine and then take advantage of the state trackers on the host machine whether it be providing hardware-acceleration for OpenGL, OpenGL ES, OpenVG, OpenCL, etc. We're also thinking now that it's even more likely a Direct3D 9/10 state tracker will be made available too.
We like hearing about performance improvements for Linux and also Linux graphics in general, but when there's something about performance improvements for Linux graphics, it certainly gets us excited and garners our interest. This time we get to report on work being done to Mesa's GLSL compiler, which is now running drastically faster in a branch of Mesa that will be published in about a week.
If you pay attention to the Mesa3D development mailing list at all you will have noticed quite a number of messages lately from Chia-I Wu, who has been pushing a good number of patches lately. Largely his work has pertained to OpenGL ES support for mobile devices, but his intentions are now known. Chia-I Wu is bringing Mesa (Gallium3D inclusive) to Android. In particular, Chia-I is focusing on running Mesa under Android on Intel-powered netbooks.
A month ago we shared that the Gallium3D driver for the ATI R300/400/500 graphics cards (up through the Radeon X1000 series) was mostly done. Now today, the key author of the R300 Gallium3D driver, Corbin Simpson, has updated the status wiki to reflect the latest changes. The key change? The DRI state tracker report is no longer "mostly" implemented, but now it's "done" according to Corbin.
With all of the talk earlier this week regarding the Poulsbo Gallium3D driver and its performance improvements along with the restarted efforts on the Intel 965 Gallium3D driver and then word that Mesa 7.7 may be out by Christmas, it's likely that many are wondering about the current state of the various Gallium3D state trackers that we have been talking about for the past months. Well, here's a few observations on the different state trackers at least where they are at in Git.
The Mesa 3D graphics library on Linux has been moving along at a brisk pace lately with a frequent stream of new releases as many features arrive like new Gallium3D state trackers, maturing of new hardware support (particularly with the ATI Radeon graphics), and new OpenGL extension support. Mesa 7.6 was released in September, but now Intel's lead OpenGL contributor, Ian Romanick, has proposed a release schedule for Mesa 7.7.
One of the common complaints that arise from hopeful X.Org / Mesa developers or those aspiring to contribute to this critical free software area is that there's not enough documentation that is up-to-date and covers the internals of the X Server, Mesa, DDX drivers, etc. Well, for those looking to get into any Direct Rendering Manager (DRM) work, a heap of new documentation is available. Intel's Jesse Barnes has invested a great deal of time in updating (well, creating) the DRM developer documentation.
Back during the X Developers' Conference last month, one of the sessions was on GL shaders for Shader Model 3/4. This talk led by Ian Romanick called for advanced assembly shader extensions for Mesa, which would greatly benefit some middle-ware projects like Wine and Cedega with Mesa's current state and not having a bolstered GLSL implementation. None of the current OpenGL extensions are suitable for this due to some of the extensions being designed for use on specific hardware, rather than being ideal for use across all Mesa drivers/hardware, and other extensions not satisfying the needs Ian and other developers want. Long story short, Ian has written a new OpenGL extension as a result: GL_MESA_gpu_program3.
It has been a while since talking specifically about ATI's Gallium3D driver, but there is some good news coming out now for the driver that supports the ATI R300 through R500 (Radeon X1000) series hardware. Corbin Simpson, the developer that has largely been working on porting the 3D work from the classic Mesa driver to Gallium3D, has updated the Radeon Feature Matrix page on the X.Org Wiki last night.
This week at the X Developers' Conference there was a talk surrounding OpenGL 3.x and its lack of complete support within the latest Mesa code. While development manpower can end up be limiting, there are also some patent / legal issues surrounding this with regard to some parts of core OpenGL being covered by such inhibitive patents. This was explained here along with some of the possible ways to circumvent the issue.
879 Mesa news articles published on Phoronix.