Compared to past years when recapping the AMD/ATI Linux advancements over the past calendar year, 2009 was not quite as exciting, which can be viewed as both good and bad for their Catalyst Linux driver. There were many advancements this year on AMD's open-source side, but in 2009 there wasn't as many milestones for their Catalyst driver like in the past with the introduction of CrossFire, OverDrive, same-day Linux support, the AMD Catalyst Control Center, and other new features. Here is our 2009 year in review look at AMD's advancements to their proprietary Catalyst Linux driver along with our annual benchmarks.
Nearly two years ago at the Linux Foundation Summit in Austin was VIA's most recent announcement about becoming serious with open-source support. This was not VIA's first time they claimed to back an open-source strategy, which led a number of open-source developers to immediately call VIA's open-source strategy a bluff. To date this still is mostly a bluff, but they have produced some fluff. In 2010 it looks like this will still be the case, but VIA hopes to produce some code by the second half of 2010. This code, however, will likely not appear in most Linux distributions until 2011.
Another annual tradition of ours besides running a Linux Graphics Survey is to provide a "year in review" analysis of the ATI and NVIDIA Linux drivers with their respective graphics driver releases from the past year in terms of both feature improvements and how their quantitative performance has changed. We have been doing these annual ATI and NVIDIA yearly reviews going back to 2005, but now it's time to share our thoughts and numbers for 2009. We are beginning with our NVIDIA Linux 2009 Year In Review.
Recently via email we were asked to run a comparison of the different anti-aliasing and image rendering options between the ATI/AMD and NVIDIA Linux drivers and hardware. Well, we have now run a few quantitative and qualitative tests at different anti-aliasing levels under Linux. For those that want to run the tests themselves with their own drivers and hardware, we also have provided instructions on how you can easily do so using the Phoronix Test Suite 2.4 "Lenvik" development build -- it is irresistibly easy.
For the month of November we ran the 2009 Linux Graphics Survey, which is a survey in regards to X.Org and the Linux graphics stack that we have been hosting annually for the past three years. This year there was 13,836 results submitted and we have now had the time to go over these results and are publishing all of the numbers today.
One of the articles on Phoronix last week was entitled Intel Linux Graphics Shine With Fedora 12, which showed off the nice state of Intel graphics on this latest Red Hat release when it came to kernel mode-setting and its 3D stack with it working well "out of the box" and offering some nice performance gains over the earlier Fedora 10 and Fedora 11 releases. While the Intel stack may be improved in Constantine, the ATI support has taken a hit, as users were quick to point out in response to last week's article. In particular, when using the ATI kernel mode-setting driver in Fedora 12 (which is the default for pre-R600 hardware), there is a large performance discrepancy compared to using the traditional user-space mode-setting for ATI Radeon hardware. Today we are looking at what exactly the performance cost is for using ATI KMS in this new release.
Intel's Linux graphics driver stack is often at the forefront of X.Org / Mesa innovations, from Intel being the first driver having in-kernel video memory management to being the first driver with mainline kernel mode-setting support to even being the driver that often first receives support for new OpenGL extensions in Mesa. The Intel Linux driver stack can be attributed with many firsts, but continually pushing this driver while putting out quarterly timed releases has led to some pains. Earlier this year in fact the driver stack was rather buggy -- especially in Ubuntu 9.04 -- that impaired many users with stability issues, performance problems, and other headaches. Most of the regressions from overhauling the Linux driver stack have been resolved, but where is the driver stack at now? The Intel stack in Ubuntu 9.10 is performing rather well, but where it's more important is its status within Fedora as more of the bleeding-edge graphics packages are pulled into this release that often don't make it into other distributions until months later when they roll out their next releases. To see where the Intel Linux graphics are at in Fedora 12, we ran the same set of benchmarks in the Fedora 10, 11, and 12 releases with an Intel G43 IGP.
For a year now we have been talking about XvBA, which stands for X-Video Bitstream Acceleration and is designed to implement AMD's Unified Video Decoder 2 (UVD2) engine on Linux systems for improving the video decoding and playback process on desktop systems. AMD has been shipping an XvBA library with their ATI Catalyst Linux driver since last year, but they have yet to release any documentation on the XvBA API or any patches to implement the support within any Linux media players. Heck, AMD has not even officially confirmed XvBA with Phoronix being the lone source of information for the past year. Today though, XvBA has finally become useful under Linux. But it is not what you may be thinking...
For the past two years we have hosted an annual Linux Graphics Survey in which we ask well over 20,000 users each time their video card preferences, driver information, and other questions about their view of the Linux graphics stack. This year we are hosting the survey once again to allow the development community to get a better understanding of the video hardware in use, what open-source and closed-source drivers are being used, and other relevant information that will help them and the Linux community.
AMD's Catalyst Linux driver has improved substantially over the past few years. Years ago the Catalyst Linux driver was in shambles with its performance being utterly poor, it lacked enthusiast-oriented features like CrossFire and OverDrive, and ATI customers had to wait months -- sometimes in excess of a year -- for any driver support in Linux. All of this though has changed with AMD now providing same-day Linux support, a near feature parity to the Windows Catalyst driver, and first-rate performance. Playing a critical role in improving the ATI Linux support has been Matthew Tippett, serving as the engineering manager for Linux Core Engineering since joining ATI Technologies in 2003. To put it in perspective, when Matthew started work at ATI, only the FireGL graphics cards were supported under Linux. However, today will be his last day serving ATI / Advanced Micro Devices.
Fedora 12 provides "out of the box" support for kernel mode-setting with ATI R600/700 series graphics hardware, but it does not provide 3D acceleration by default. However, Red Hat's X developers have made it very easy to enable this 3D support for the ATI Radeon HD 2000, 3000, and 4000 series hardware by just installing a special Mesa package from yum. In this article we are taking a quick look at where the R600/700 3D support is at in Fedora 12.
In late August we started asking our readers for any questions they had for NVIDIA about Linux and this graphics company's support of open-source operating systems. Twelve pages worth of questions were accumulated and we finally have the answers to a majority of them. NVIDIA's Andy Ritger, who leads the user-space side of the NVIDIA UNIX Graphics Driver team for workstation, desktop, and notebook GPUs, answered these questions. With that said, there are some great, in-depth technical answers and not the usual marketing speak found in many interviews. While Linux is our focus, Andy's team and his answers for the most part apply equally to NVIDIA drivers on Solaris and FreeBSD platforms too. There are many questions that range from the status of new features in their proprietary graphics driver to why it is unlikely there will be any official open-source support from NVIDIA to download percentages of their Linux driver.
Ubuntu 9.10 had its beta release last week and the final release is coming in just three weeks, but this late in the release cycle, it has been decided to pull in the final Mesa 7.6 version. Pulling in this newer code that provides OpenGL acceleration on Linux provides numerous bug-fixes along with support for a greater number of OpenGL extensions on different hardware and other improvements.
While the ATI Radeon HD 5800 graphics cards were introduced last week, the open-source support for the Radeon HD 2000/3000/4000 series is finally maturing. The Linux 2.6.32 kernel will feature kernel mode-setting support for these ATI R600/700 graphics processors as well as the DRM support for allowing 3D acceleration. The classic Mesa support for the Radeon HD 2000 through Radeon HD 4000 series is maturing and is now able to run basic OpenGL games and applications, while the Gallium3D support is still a ways out. However, now that there is finally the Catalyst 9.10 driver within Ubuntu Karmic Koala that supports the latest kernel, we are finally able to directly compare the performance of AMD's Catalyst driver and that of the latest open-source code. In this article we have benchmarks showing the 2D performance between these two driver options with both an R600 and R700 graphics card.
Back in May we shared that the Ubuntu Intel graphics performance was still in bad shape after testing out very early Ubuntu 9.10 packages. The netbook experience was killed in Ubuntu 9.04 after a buggy Intel Linux graphics stack led to slow performance, stability issues, screen corruption, and other problems. Months have passed since we last exhaustively looked at the Intel Linux graphics stack, but we have just carried out some new tests using Ubuntu 9.10 Alpha 3. This new development release of Ubuntu carries the latest kernel, Mesa, and Intel driver packages as we see how the graphics performance is with an Intel 945 and G43 chipsets.
Yesterday NVIDIA released their first 190.xx Linux beta driver for their GeForce and Quadro graphics cards. The NVIDIA 190.16 Beta driver brought a number of VDPAU fixes, PowerMizer control features, a number of new official and unofficial OpenGL extensions receiving GLX protocol support, and there were a number of other fixes and enhancements too. However, now that we have had a chance to analyze this driver, there is more in store than what the change-log shares regarding this driver. There is in fact support for the unreleased OpenGL 3.2 specification.
This morning VIA's Bruce Chang had submitted the DRM code for the Chrome 9 IGP with a request that it be pushed into the mainline Linux kernel. The DRM alone isn't usable to an end-user without a Mesa driver or something else to take advantage of this kernel component. VIA previously expressed interest in a Gallium3D-based Chrome 9 driver, but now today we find out they have no intentions on creating an open-source Chrome 9 3D driver. Instead, they just want this DRM into the mainline Linux kernel so that it can be used by their binary blob and to hopefully have some open-source developers come along and create a free software driver from their incomplete documentation.
To those running ATI Radeon graphics cards on Linux, this week has been very important with several key announcements having been made. The TTM memory manager is getting ready for inclusion into the Linux kernel, which finally will allow the open-source ATI driver (and soon the Nouveau driver too for NVIDIA hardware) to have kernel-based GPU memory management. With the memory management work set in the ATI driver via a mix of TTM and GEM, the ATI kernel mode-setting is also getting ready to be released as a staging driver within the Linux 2.6.31 kernel. The announcements this week have not been only about the GPU and Linux kernel, but the Radeon driver rewrite has also been merged to master. As we discussed in yesterday's news post, this Radeon Mesa re-write brings several key improvements immediately and there are still more features to come.
Kernel mode-setting for Intel graphics hardware can already be found in the mainline Linux kernel and will be included by default in the release of Ubuntu 9.10 later this year. While Intel's kernel mode-setting support has been maturing in a steadfast manner, this support has not been moving along quite as fast for ATI and NVIDIA hardware. It is possible we will see ATI/AMD kernel mode-setting along with the necessary memory management support enter the Linux 2.6.31 kernel and potentially see this feature appear in Ubuntu 9.10 as an end-user option, but currently this support is still deemed under development. For those with ATI Radeon hardware looking to test out kernel mode-setting, there is now a Launchpad PPA and a LiveCD available for testing out these mode-setting capabilities atop Ubuntu.
For as long as I can recall, ATI/AMD video cards have typically had decent support in Linux. It's not hard to pick out points in time where drivers were slow to come (R300 sticks out in my mind), but that was not due to the lack of effort by the open-source community as it was the difficulty reverse engineering a chip with no documentation. Intel seems to be the one getting most of the press these days regarding their open-source graphics support, but AMD is putting forth its own notable effort as well. They have multiple full time employees working on open-source support and have released specifications and programming documentation for their entire range of chips. The past few months have seen a flurry of activity in graphics related development, and a fair amount of this is centered around AMD hardware.
AMD ended out last year by releasing basic R600/700 3D code that allowed the rendering of open-source triangles, but not much in the way of usable OpenGL acceleration for end-users. Just last month AMD had then pushed out new R600/700 code that plugged into the Mesa stack and is being used as the groundwork for the providing open-source OpenGL acceleration on the Linux desktop with newer ATI graphics processors. In between December and April, AMD had also released extensive documentation covering the 3D engines on the R600 and R700 graphics processors along with the R700 instruction set architecture. While the open-source 3D support is still emerging for the Radeon HD 2000, 3000, and 4000 series, AMD has released some more documentation. This time around they have a programming guide for those developers interested in understanding the latest ATI GPUs.
We began talking about Intel graphics regressions in Ubuntu 9.04 back in January but for the most part that went under the radar at Canonical up until Ubuntu 9.04 was nearing release. At that point it was then explored whether greedy migration heuristics improved performance as the UXA acceleration architecture was still too problematic to enable by default. We had found that using some of the latest kernel code had improved the performance some, but still there were major regressions within Intel's new Linux driver stack.
As we reported in December, the Nouveau driver is available in Ubuntu 9.04. Unlike Fedora 11 where the Nouveau driver is being enabled by default on NVIDIA hardware, the Nouveau driver will be an after-installation option to Ubuntu users. In this article are the simple steps on how to enabled the Nouveau driver in Ubuntu and what you can expect from this open-source, community-spawned graphics driver.
In late December AMD had published open-source R600/700 3D code that also allowed for 2D and X-Video acceleration, but was not of use to end-users interested in full OpenGL acceleration. AMD had then released the R600/700 3D documentation a month later and then the R700 ISA documentation just a few weeks back. Today, however, AMD is finally pushing some workable code into a public code repository.
X Server 1.6 was released back in February, and there have been test releases for it going back to the end of last year, but today AMD has finally delivered support for this new X.Org server in their proprietary Linux graphics driver. Like last month with the Catalyst 9.3 release, the Linux version was not released on the same day as the Windows build, which ended up being a one-week delay. Besides X Server 1.6 support there are also a few other changes in Catalyst 9.4 worth reporting.
While Intel has long backed an open-source graphics driver for their integrated graphics driver, it was not up until last year when Intel released the i965/G35 documentation that there was public, NDA-free documentation concerning their newer IGPs. Later that year they then released the GMA X4500HD series and since then we have been waiting for them to push out public documentation concerning their G45 chipset. Well, Intel has finally come to the table with this documentation and it is very extensive. This documentation drop today is split into several volumes and makes up well over 1,000 pages of Intel hardware documentation and register descriptions that are available under the Creative Common Attribution, No Derivative Works license.
As we have outlined before and shared benchmarks of in the past, the Intel graphics driver stack has been going through some significant changes. The Intel graphics driver now has a proper memory manager in the form of the Graphics Execution Manager, there is upstream kernel mode-setting support, and a new 3D component is coming soon in the form of Gallium3D. With all of this invasive work going on, regressions are currently prevalent from stability problems to graphical corruption to slower 2D performance. While these are problems users will face with the new distribution updates in H1'09, some have been trying out different driver configurations in order to circumvent the situation. Canonical, for example, had been toying with the idea of enabling greedy migration heuristics by default.
While the Catalyst driver for Windows was released a number of days ago, the Catalyst Linux driver was missing. It has, however, been released today. AMD's Linux engineers ended up delaying the Catalyst 9.3 release so they could spend additional time tuning this driver, since it will be the last release that supports the R300 through R500 series as the support is being dropped. The significant feature that was pushed back into the Catalyst 9.3 Linux driver is improved Composite support.
Ubuntu 9.04 will be released towards the end of next month and it is picking up the Linux 2.6.28 kernel, GNOME 2.26, and other improvements like install-time support for the EXT4 file-system and some subtle improvements. When it comes to the X.Org side it is shipping with X Server 1.6 and the stabilized version of Mesa 7.3. Specifically in regards to the ATI Linux graphics, it will be shipping with an updated xf86-video-ati driver by default and Catalyst 9.4 will be an option for the user. With Ubuntu 9.04 Alpha 6 having been released last week, we have run a few benchmarks comparing the open-source ATI performance in Ubuntu 8.10 and Ubuntu 9.04 Alpha 6.
In this edition of the Nouveau Companion, covered is the status of this open-source NVIDIA display driver and what went on at FOSDEM with the Nouveau project status and combining LLVM with Gallium3D. Recently the Nouveau developers have been successful in using EXA acceleration on newer GeForce 9 graphics cards, backlight controls working on more NVIDIA graphics cards, and a port of the Nouveau driver to FreeBSD. Work on kernel mode-setting and proper kernel memory management is also underway.
730 display drivers articles published on Phoronix.