If you've been wanting to get involved with the open-source ATI Radeon driver development process or you simply want a better understanding of how the open-source Linux graphics drivers work (particularly for ATI hardware), there's some great reading material for you this morning.
Just hours ago we reported on AMD's position for the Gallium3D driver architecture according to John Bridgman, but some of his comments may now be different considering their Gallium3D adoption plans. After sending off that email with his Gallium3D comments, he learned that the Evergreen (a.k.a. Radeon HD 5000 series) support upbringing will be slightly different than planned.
If you're a member of the Phoronix Forums where John Bridgman, the AMD employee in charge of the open-source ATI graphics strategy, is known to frequently post (with over 4,200 comments) along with many other X.Org developers and AMD employees, you pretty much know what there is to know about their position on Gallium3D and other topics. However, if you don't, this post is for you.
A month ago the Canonical crew working on Ubuntu 10.04 LTS received an unreleased Catalyst 10.4 driver from AMD for inclusion with the Lucid Lynx since the publicly available ATI Catalyst drivers had not -- and to this day still do not -- support the X.Org Server 1.7 used by this next Ubuntu release. Similar pre-releases for Ubuntu have happened in the past when AMD hasn't been quick to the game in supporting new Linux kernels and X Servers. This driver was made available in Ubuntu 10.04 even before Catalyst 10.3 was released. Catalyst 10.4 still has not been publicly released, but another updated 10.4 driver has made its way into the Lucid repository.
While up to this point AMD has only cleared Evergreen shader documents for release to the general public, the developers at AMD responsible for working on the open-source support have been working on some code too for this Radeon HD 5000 series support. The Linux 2.6.34 kernel has kernel mode-setting (KMS) support for the ATI Radeon HD 5000 series graphics cards, but it goes without any 2D/3D/X-Video acceleration support. There's also DDX Evergreen support allowing these "R800" class GPUs to work with user-space mode-setting. That's really been the extent of the open-source support though for these graphics cards that are a few months old.
More than a year ago AMD rolled out the ATI FirePro V8700 workstation graphics card and months later then pushed out the FirePro V8750 as their new ultra high-end graphics card for those engaging in CAD, imaging, and other tasks. Now though AMD has unveiled the FirePro V8800 series that replaces the V8750 for the top spot.
It's been over a year since the last major release of the ATI X.Org driver, xf86-video-ati 6.12.0, but today the xf86-video-ati 6.13.0 driver has finally replaced this open-source ATI graphics driver.
Woah, here comes a pleasant surprise from AMD with their Catalyst Linux driver. AMD yesterday released a Catalyst 10.3 Linux driver that really didn't bring anything too exciting (and it still doesn't support X.Org Server 1.7), but today they've delivered a new preview driver that's based on Catalyst 10.3 and it brings OpenGL 3.3/4.0 support!
AMD has just put out their monthly update of the Catalyst Linux driver. Though as we already know based upon AMD giving Ubuntu a new driver, the support for X Server 1.7 is not coming until next month, which also offers official Eyefinity support and other changes. As such, Catalyst 10.3 isn't too interesting.
RadeonTool, a open-source utility written by David Airlie and others to tweak GPU registers and dump GPU states, has hit version 1.6.1. This low-level utility that's useful mostly just for developers and those debugging problems with ATI Radeon graphics cards on Linux brings a few new features to the table.
Well, to no surprise the trend of Ubuntu receiving unreleased Catalyst drivers has continued. Since Ubuntu 8.10, AMD has had to supply Canonical with early Catalyst drivers not otherwise publicly available so that they could ship with support for their binary Catalyst driver within the operating system's package repository.
On Sunday we reported that ATI in-kernel power management was moving along after AMD's Alex Deucher spent some time in recent days building upon Rafał Miłecki's initial power management support. Alex's patches added GUI idle IRQ support, support for changing the GPU clocks when the engine is idle, support for turning down the number of active SIMDS when running in a lower power stage for the ATI R600 ASICs and later, and new ASIC specific callback functions. This morning though he's taken the support a bit further.
Alex Deucher this morning put out the xf86-video-ati 6.12.6 point release, which isn't too interesting, but of greater interest he did put out a second release candidate for the forthcoming KMS-capable xf86-video-ati 6.13 DDX driver. There's already a lot to be found with this long-overdue and major xf86-video-ati 6.13 X.Org driver update, but added to this second release candidate (that's officially v6.12.192) is an ATI R600/700 GPU fix that should significantly improve the performance of EXA DFS acceleration.
Power management support within the Linux kernel for the ATI Radeon DRM driver has been in development for months and gone through several revisions, but with the forthcoming Linux 2.6.34 kernel there is initial ATI KMS power management support. For making the power management situation even better, over the weekend Alex Deucher of AMD has been working on another set of patches.
A few months back HDMI audio support came to the ATI Radeon kernel mode-setting driver and while this support is in place with the mainline kernel, it's only supported up through the ATI R600 hardware with the KMS driver. However, HDMI audio support for the R700 (Radeon HD 4000 series) is soon coming. Rafał Miłecki who has done much of the HDMI audio work for the open-source ATI driver stack has shared that he has achieved R700 audio success and the support may land in as soon as the Linux 2.6.34 kernel.
With the Linux 2.6.33 kernel having been released last week where the ATI kernel mode-setting (KMS) DRM code left the kernel's staging area, we knew a new ATI X.Org driver release was imminent. Over the night a new stable DDX driver update has been pushed out for xf86-video-ati as well as a new pre-release for the KMS-supportive 6.13 version that also carries other changes.
The xf86-video-ati 6.12.0 X.Org driver was released in March of 2009. Since then there has been no significant releases of the ATI X.Org driver, but fortunately, a new release is on the way.
This morning we reported on AMD revealing forthcoming Catalyst driver changes, particularly a set of new features that applied to Windows users. However, we hinted that there might be some changes coming to the Linux driver and now Catalyst 10.2 for Linux is out there so we have the first confirmation of what may be to come.
While AMD does not generally reveal planned changes and feature road-maps publicly for their Catalyst driver in advance of the given driver's public release, over the night they have announced a few upcoming changes. Last night AMD issued a press release announcing a set of changes coming for the 10.2 and 10.3 driver releases, which will be released this month and next, respectively.
If using the latest ATI open-source driver Git code for kernel mode-setting, there may be slightly better X-Video support without any visual slowdowns/problems. Pauli Nieminen has changed around the code so that a video buffer is allocated in the GTT (Graphics Translation Table) to provide faster memory operations that haven't been accelerated by KMS.
David Airlie has re-based his drm-radeon-testing tree and there's now a whole lot of new code and features that users can play with and test. The drm-radeon-testing tree is a branch of the Linux kernel and is code for the Radeon DRM area that will ultimately make it into the mainline tree in the Linux 2.6.34 kernel series and later.
After the earlier X talks today and then Luc's debated Linux graphics driver stack proposal (largely between he and Eric Anholt and Daniel Stone with conflicting views, but at least Intel admitting "there's a subset of users we care about and a subset we don't"), Jerome Glisse began talking about ATI Radeon kernel mode-setting and its current state. While most that read Phoronix regularly know the direction of Radeon KMS support for the coming releases, below is Jerome's short-term TODO list for the ATI kernel support.
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.
1052 AMD news articles published on Phoronix.