XvMC support came to Gallium3D through a Google Summer of Code project for 2008 that involved getting X-Video Motion Compensation running atop the Nouveau driver with NVIDIA hardware. We described this work in The State Of Gallium3D Video Decoding and subsequently in Nouveau's Gallium3D Driver Gets Video Boost. In 2009 this XvMC work using GPU shaders moved into the X.Org state tracker. XvMC in Gallium3D hasn't been too much of a focus as developers are still working on driver support and other state trackers like for OpenGL 3.x and OpenCL. More users are also interested in VDPAU and its superior support and decoding abilities than the antiquated XvMC. However, AMD's Cooper Yuan has been toying around with this Gallium3D-XvMC code for the R300 Gallium3D driver.
Months after the ATI Radeon HD 5000 series (known by the "Evergreen" family codename) was introduced, AMD has finally pushed out the first bits of open-source code. This morning if you are to checkout the xf86-video-ati DDX driver branch there is initial user-space mode-setting support for the Radeon HD 5000 series GPUs. The ATI kernel mode-setting support that we really care about these days is also about done, but it isn't yet published. The open-source ATI driver currently offers no 2D (EXA) acceleration and the 3D support either through a classic Mesa driver or Gallium3D also is not yet available.
David Airlie has called upon Linus to pull in a new set of DRM patches for the Linux 2.6.33 kernel, which should land with the Linux 2.6.33-rc7 release. These graphics patches for the Linux kernel bring a few fixes for TTM, Radeon DisplayPort tweaks, r600 blit mutex, and support for the VMware graphics driver with older versions of the VMware Workstation. The most notable change in this pull request, however, is actually a very simple patch. This is the patch that moves the Radeon KMS configuration option out of the staging area and into the main configuration area for the kernel.
Jerome Glisse has sent a new patch to the other DRI developers that adds a command checker for the ATI R600/700 series graphics processors. The command stream (CS) checker ensures that no commands are attempting to access the GPU in a way that it shouldn't, such as accessing memory out of its resource size, which without the safety mechanism could be exploited by those with malicious intentions. Jerome still has a few items on his TODO list for this R600/700 series command stream checker, but it's now published for review and could potentially be ready in time for the Linux 2.6.34 kernel merge window.
AMD has done their monthly roundabout and released the ATI Catalyst 10.1 Linux driver. Found in the Catalyst 10.1 driver change-log is "Ubuntu 9.10 production support", even though AMD seeded them with an unreleased Catalyst driver since September and the official Catalyst releases since October have worked just fine with Ubuntu 9.10. Besides the "support" for Karmic Koala there are bug-fixes and they include a few AMDCCCLE / Catalyst Control Center fixes, HDMI hot-plugging fixes, and more. There are also updates packaging scripts from Phorogit and better OpenGL 3.x support. There is, however, still about a page of known issues and that's just their public list.
When it comes to Gallium3D hardware drivers for ATI Radeon graphics cards, most of the work up to this point has been focused on the R300g driver that is for ATI's older graphics processors up through the R500 / Radeon X1000 series. The Gallium3D R300 DRI support is considered done as is most of the driver. The ATI Gallium3D driver though isn't ready for prime-time usage quite yet, but should undergo more broad testing shortly along with the state trackers. The Gallium3D support for newer ATI/AMD graphics processors (particularly the R600/700 series, R800/Evergreen support has not been started) still is very premature and it will be a while before this driver stack is stable. The good news though is that it's progressing and the R600/700 winsys for Gallium3D has emerged.
In the comments area to the recent X.Org Talks For FOSDEM 2010 Still Missing posting, AMD's John Bridgman basically stated that there would be no talk on their open-source ATI driver progress as it's becoming predictable (and there's also a decreased travel budget), but his second comment was more interesting. "I'm kinda hoping we can have initial (display + shadowfb) Evergreen support out by FOSDEM. Fingers crossed."
AMD's Alex Deucher has just committed initial support for Embedded DisplayPort (eDP) connectors/monitors to the xf86-video-ati DDX display driver. Traditional DisplayPort monitors are already supported by this open-source ATI driver, but now Embedded DisplayPort connectors should begin to work as well. Here is the Git commit that provides the initial support.
Yesterday some R500+ PowerPlay code was started on (but not yet usable), and now at the same time we have more exciting AMD news to report. AMD has just released their shader instruction set documentation for the R800 "Evergreen" graphics processors!
Besides the Radeon DRM improvements (and Radeon HDMI KMS audio) to be found in the Linux 2.6.33 kernel, there is more to be thankful for this holiday season when it comes to the open-source support. Up to this point when it comes to power management for ATI's kernel mode-setting support the work (Radeon DRM Power Management Moves Along) has been largely done by Rafał Miłecki, an independent open-source developer. AMD nor any of its affiliate developers haven't really pushed out any major power management code (or technical documentation) yet, as we have heard some of it was being held up internally within their intellectual property review process, but it looks like things are changing.
If Catalyst 9.12 for Linux and its changes didn't deliver on what you wanted for your Christmas wishes, perhaps this change to their open-source driver does deliver on one of your hopes. The ATI R600/700 open-source 3D stack should now be OpenGL 2.0 compatible (compared to OpenGL 1.5 previously) and the GLSL (GL Shading Language) support should be "mostly" completed.
AMD has today delivered their last proprietary Linux driver update for the year, Catalyst 9.12. However, if you were hoping Catalyst 9.12 would deliver on some of your holiday wishes, guess again. There still is no pure, usable XvBA support besides using the VA-API to XvBA wrapper and the Catalyst 9.12 driver just doesn't bring much. There is though one small addition and that is a few options have been added to the AMD Catalyst Control Center Linux Edition.
Over the past month or so there has been a lot of work done by Rafał Miłecki and other open-source driver developers in providing open-source power management support under the ATI Radeon DRM code-base. In fact, the power management support has been the hold-up for moving the Radeon kernel mode-setting support out of the staging area of the Linux kernel, which is expected to still happen with the Linux 2.6.33 kernel.
On Monday we will be publishing our results from the 2009 Linux Graphics Survey, but when looking over the results there is one set of numbers in particular that jumped out (though there are a few other interesting figures too). Below is a prelude to the Phoronix survey results that will be published on Monday. The below graph shows how the ~14,000 respondents during our month-long survey responded to what Linux graphics survey driver they were using.
David Airlie, the Linux kernel DRM maintainer and the Red Hat employee responsible for a good portion of the open-source ATI Linux driver work, has announced changes in how he will be handling his DRM kernel branches and the addition of some new branches for ATI customers wishing to experiment with the latest Radeon driver code.
One of the underlying features that has been lacking from the ATI R600/700 DRM / kernel mode-setting driver on Linux has been support for interrupts, which is needed for the sync-to-vblank operation and other important areas. Interrupts support has been lacking since AMD has not yet published any documentation concerning them for the Radeon HD 2000, 3000, and 4000 series ASICs, but today their code has cleared the legal review process for publishing. AMD's Alex Deucher has just pushed out the code that enables the use of interrupts for R600/700 graphics processors via a ring buffer. This interrupts support also requires two new firmware files to be loaded by the open-source driver.
David Airlie has announced on his blog that he and Alex Deucher have finally got support for DisplayPort-driven graphics cards and monitors working with the open-source ATI Linux driver stack. Not only is there user-space mode-setting support via the xf86-video-ati DDX driver, but the kernel mode-setting for this latest monitor interface is working too. David had been working on DisplayPort support some months ago, but today DisplayPort monitors are finally lighting up and working correctly with the latest ATI driver code.
While OpenGL acceleration and GPU-assisted video playback are often most viewed as the areas that are severely lacking for the open-source Linux graphics drivers in comparison to what the binary-only ATI/NVIDIA drivers offer, another area that has not yet caught up to speed with the binary competition is power management. For years (going back to 2005) AMD has implemented PowerPlay support in their fglrx driver for dynamically clocking the GPU and memory clocks along with adjusting the voltages accordingly, based upon the user's input and then later generations of PowerPlay are more dynamic in nature. NVIDIA also supports their PowerMizer technology on Linux for dynamically clocking their GPUs/memory and voltages based upon the graphics processor's load.
Today AMD finally lifted the lid on Hemlock, their new ultra high-end dual-GPU graphics card that is being marketed as the Radeon HD 5970 (similar to the Radeon HD 4870 X2 but now for the Evergreen GPU family). The Radeon HD 5970 has 3200 stream processors (1600 per Cypress GPU), a combined 2GB of GDDR5 video memory, and AMD Eyefinity support for driving three displays simultaneously. The ATI/AMD Radeon HD 5970 is also quite a large graphics card measuring in at just under 33 cm!
AMD has today pushed out their Catalyst 9.11 Linux driver. This release contains support for Red Hat Enterprise Linux and initial support for OpenSuSE 11.2 along with a handful of minor bug-fixes. This release does also contain proper support for the Radeon HD 5750 and Radeon HD 5770 graphics cards so that users do not encounter the "unsupported hardware" watermark any longer. Beyond that there isn't much to look at nor are there any XvBA improvements.
Intel and AMD have jointly announced this morning that they have decided to stop fighting each other and have settled all outstanding legal disputes. These fights, of course, have been over anti-trust litigation, patent disputes, and other matters that have been burdening both companies for the past years.
Available over at AMD.com is now the Catalyst 9.10 Linux driver update. The release notes for this driver have yet to be uploaded there, but the Catalyst 9.10 Linux driver offers support for arbitrary transformations with RandR 1.3, support for loading the fglrx kernel module when an open-source DRM kernel module is still loaded, a fix for the fglrx kernel module when using DKMS 2.1.0, an AMDCCCLE menu item issue has been resolved, support for the Radeon HD 5750/5770 Juniper graphics cards, and other bug fixes. Catalyst 9.10 also contains a major advancement too, which will be exposed in the near future. That's all for now.
While at the same time as churning out the R600/700 3D code and beginning to work on the R800 2D/mode-setting code, AMD's open-source developers have released an updated R500 3D programming guide. Early last year AMD released its R500 3D programming documentation and since then they have made updates along with releasing R600/700 3D documentation. This morning though we are greeted by a new update to AMD's R500 3D programming guide.
AMD has released the fourth beta of the ATI Stream SDK 2.0, which provides a complete OpenCL development platform with OpenCL ATI GPU support for the ATI Radeon HD 4000/5000 series. Besides running OpenCL on the GPU, this ATI SDK also supports running OpenCL on SSE3-capable, multi-core CPUs from both AMD and Intel too. The ATI Stream SDK is available for x86 and x86_64 Linux, with OpenSuSE 11.0 and Ubuntu 9.04 being officially supported.
Just this morning we were talking about the lack of activity within the RadeonHD and Nouveau drivers, but as luck would have it, this afternoon the xf86-video-radeonhd 1.3.0 driver has been released. This is the first RadeonHD driver release since April.
There's already a fair amount of DRM changes in the Linux 2.6.32 kernel including ATI R600/700 KMS and 3D support, but now nearly half-way into the Linux 2.6.32 development cycle there is a huge pull request of new ATI kernel mode-setting code.
While the Linux 2.6.31 kernel brought initial support for ATI kernel mode-setting support with graphics cards up through the ATI Radeon X1000 series (and the Radeon HD 2000/3000/4000 support coming with the Linux 2.6.32 kernel), the KMS driver is not complete. There is still a fair amount of work ahead when it comes to in-kernel power management, and other areas, including HDMI support. Fortunately though, the HDMI support for ATI kernel mode-setting is moving along.
In the early hours of this morning AMD officially launched the ATI Radeon HD 5800 graphics cards series, currently made up of the Radeon HD 5850 and Radeon HD 5870. Both of these graphics cards are based upon their next-generation Evergreen (RV880) graphics core that brings significant improvements over the RV770 that was launched last July with the Radeon HD 4800 series. Early reviews on these high-end ATI graphics cards have been quite positive, but how's the Linux support? Well, to much dismay, we have to report that we aren't even sure.
A day after they had some press event where they showed off a 24 monitor setup running Linux (we weren't there), AMD has today released the Catalyst 9.9 driver for Linux. This driver, which is still behind the Ubuntu-Catalyst 9.10 driver that has support for the Linux 2.6.31 kernel and other improvements, has just one new feature: support for new Linux operating systems.
While the Radeon R100-R500 series kernel mode-setting support appeared in the Linux 2.6.31 kernel and DRM patches pending for the Linux 2.6.32 kernel that bring KMS support for newer hardware and other improvements, the ATI KMS driver is not complete. Features such as power management need to be brought into the kernel driver (for Intel too) where they will be better off compared to the traditional DDX drivers. However, that ATI KMS power management support is now further underway with a set of patches published today to the DRI development list.
1000 AMD news articles published on Phoronix.