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.
This afternoon AMD has released the Catalyst 9.3 driver for Windows along with ADL, or the AMD Display Library. The AMD Display Library is a cross-platform library that provides a single SDK to access graphics hardware information. In the past AMD has provided a few SDKs for obtaining this information on Windows, but this is the first time we are seeing such support on Linux.
This year NVIDIA has been following the "release early, release often" mantra with it seeming like two weeks can't even go by without seeing a new Linux driver -- whether it's a beta driver, an official driver update, or one of their legacy drivers picking up a few fixes (at times they have even released four drivers at once). On the opposite spectrum, AMD continues with monthly Catalyst driver updates on both Linux and windows. Rather than a continual stream of new public driver releases, AMD maintains a private beta program for their Catalyst Linux driver. This private program is made up of AMD developers, hardware vendors, users of different Linux distributions, other Linux vendors, and end-users. Phoronix has been apart of this program for years, but those testing this driver are under a strict Non-Disclosure Agreement with AMD regarding pre-releases of their Linux software. Today, however, AMD has decided to declassify some information pertaining to its Linux Graphics Driver Beta Program.
Yesterday we broke the news that AMD will stop supporting the R300-500 GPUs in the Catalyst driver. There have been well over one hundred posts in the Phoronix Forums from ATI customers upset with this decision, but fortunately, there is first-rate open-source support available. AMD continues to release documentation and code while the X.Org development community has been hard at work on the xf86-video-ati and xf86-video-radeonhd drivers along with Mesa and Gallium3D components. The main problem though is the open-source stack -- at this time -- providing poor gaming performance, but power management can also be a problem. In yesterday's article we provided some R500 comparative 2D and OpenGL benchmarks, but in this article are some power management results comparing the Catalyst 9.2 driver to the xf86-video-ati driver.
Beginning next month with the Catalyst 9.4 release, support for the R300/400/500 generations of graphics processors will be dropped from AMD's mainline ATI driver. In a move they hope will allow them to focus their efforts on newer and upcoming graphics processors, the mainline Catalyst driver on both Linux and Windows will stop supporting cards older than the Radeon HD 2000 series. Linux customers affected will be encouraged to use their open-source driver stack (xf86-video-ati or xf86-video-radeonhd and Mesa) or stay with the Catalyst 9.3 driver.
For months we have seen S3 Graphics advertise a magical Linux driver in their press releases that promised to offer OpenGL 3.0 support and advanced video functionality. They had reported to us the driver would be released in December, but that deadline had passed and they continued to announce Linux support when launching the Chrome 540 GTX, but still there was nothing. However, S3 Graphics has now actually delivered such a driver! They have delivered a Chrome 500 series Linux driver that not only provides OpenGL 3.0 support but also H.264, VC-1, and MPEG-2 hardware decoding on the GPU. While it may appear to be good, this driver is still far from perfect.
During the X.Org meetings at FOSDEM, Stephane Marchesin had discussed what he and other open-source developers are doing by using a code compiler (LLVM) and interweaving it with the Gallium3D driver architecture. By strapping the Low-Level Virtual Machine to Gallium3D, developers are hoping they can use the power of this relatively new compiler infrastructure to provide advanced GPU shader optimizations. This is not exactly an easy task, but it is believed it can be accomplished with beneficial results and they are making progress.
At FOSDEM 2009 in Keith Packard's talk on the rebuilt Linux desktop, he shared the progress made in composited 3D, monitor auto-plugging, 2D/3D/media shared objects, kernel mode-setting, and kernel-based 2D drawing. Allowing these problems to be addressed was the Graphics Execution Manager for kernel memory management. The Graphics Execution Manager was used instead of TTM (which we talked about several times before at Phoron
The first X.Org talk at FOSDEM 2009 was on version 1.3 of the Resize and Rotate extension. Matthias Hopf talked about RandR 1.3 and then Keith Packard demonstrated the transformations and panning operations using this soon-to-be-released version of RandR. Among the features for RandR 1.3 are querying state without output probing, multi-monitor panning, display transformations (translation, scaling, rotation, projection), and support for standard outputs.
Just over a month ago we shared that patches had emerged to support Intel's VA-API in MPlayer and FFmpeg. VA-API supports popular video formats such as MPEG-4 and VC-1 and is able to accelerate IDCT, Motion Compensation, LVC, bit-stream processing, and other functions, but this video API has not picked up much speed yet. The only display driver to have implemented support for VA-API in the hardware is Intel's closed-source driver (the one that's a bloody mess) for the Poulsbo chipset, which is found in a few select netbooks/nettops. However, it is now possible to use Intel's VA-API with NVIDIA hardware (the GeForce 8 series and later) and soon will be possible to use this video API on ATI/AMD hardware too.
AMD has just released its first official Catalyst driver update for the new year. AMD had delivered several key improvements to their proprietary Linux driver stack last year as we shared in our AMD Linux 2008 Year in Review, but what's there to get excited about in Catalyst 9.1? Well, first and foremost there is improved Composite support during video playback, Hybrid CrossFire support, and a number of fixes. Oh, and there's also OpenGL 3.0 support!
The NVIDIA 180.22 Linux driver was released less than three weeks ago, but today NVIDIA has released a new 180.xx display driver update. In addition, NVIDIA has updated all three of their legacy display drivers.
A month ago we compared Intel's graphics performance between Ubuntu 8.10 and the latest Ubuntu 9.04 daily snapshot at the time. With those tests we found Intel's performance had degraded significantly. However, with many new graphics packages having been released since then, we have carried out some additional tests this morning to look at where the Intel Linux graphics performance stands today.
Earlier this week we delivered results from a comparison between the Catalyst and X.Org Radeon drivers looking at the R500 2D performance. With a lot of interest having been generated from that, we have now carried out the same set of tests again but this time using an ATI Radeon HD 4850 (RV770) graphics card and the experimental EXA support.
Four months after Mesa 7.2 was released, Mesa 7.3 has now officially surfaced. Mesa 7.3 has been in testing since earlier this month with it having gone through three release candidates. The new features found in this latest version of the standard Open-Source OpenGL stack is proper support for GLSL 1.20 and the Intel DRI driver now supports the Graphics Execution Manager and Direct Rendering Infrastructure 2.
The 42nd edition of the Nouveau Companion is now available to provide an update on the status of this community project to provide an open-source 2D/3D driver for all of NVIDIA's graphics hardware. Covered in this developer update is the status of the Nouveau driver on newer NVIDIA hardware, work underway on NV20 Gallium3D code, the LLVM back-end for Gallium3D progressing, the work that's left on kernel mode-setting support, and the GEM / TTM memory management work. The lack of a stabilized memory manager for the Nouveau kernel mode-setting driver is what's postponing a stable 2D driver release.
One of the common complaints about the ATI Catalyst Linux driver is slow 2D performance, but is this really the case? Does AMD's binary-only Linux driver have 2D performance issues that could actually make it run slower than the open-source driver developed by the X.Org community through specifications released by AMD? In this article we have run a total of 28 benchmarks looking squarely at the 2D performance between the Catalyst (fglrx) driver and the xf86-video-ati (Radeon) drivers on Ubuntu Linux.
Just a little more than a week after AMD openly released R600/700 GPU code to begin development of an open-source 3D driver for their ATI Radeon HD 2000/3000/4000 hardware, a disassembler and table dumper for their video BIOS abstraction layer has been released to developers. This tool called AtomDis was used early on in the development of the RadeonHD driver by Novell and is now being released under the GNU GPLv2 license to assist interested open-source developers or act as an instrument to those learning about graphics processor programming.
On Monday AMD released the open-source R600/700 3D code to begin fostering the development of an open-source 3D driver for their newer ATI hardware while the related programming documentation still on the way. This code that's finally out in the public domain brings basic EXA acceleration and X-Video support, but on the 3D side there isn't any usable OpenGL support. It is expected that there will be a modest level of open-source 3D support for the ATI R600 and R700 series in the first half of 2008 for end-users, but for now there is just the DRM code and an r600_demo program. In this article we are taking a brief look at this r600_demo debugging utility on the RV770 hardware.
772 display drivers articles published on Phoronix.