Christmas Comes In July For An Open ATI
Just hours ago AMD released a new AtomBIOS parser, but there is even more worth celebrating. It turns out that David Airlie with Red Hat has been secretly working on kernel-based mode-setting support using AtomBIOS. In fact, he pushed out the initial code this afternoon that delivers R500 (Radeon X1000) kernel mode-setting support!
As detailed in David Airlie's blog post, he's been trying out this new ATI parser for the past couple of weeks and he's started to formulate the kernel mode-setting code. This ATI KMS support contains a GEM style API to user-space layered on top of TTM internals and the mode-setting support for the R500 and RS690 series.
Missing from this initial kernel mode-setting code is support for earlier ATI GPUs (R100/200/300/400) as well as the newer R600 and RV770 (Radeon HD 2000 to Radeon HD 4800 series) GPUs. This support though will be ported over from the xf86-video-ati DDX driver. Proper command submission support is also lacking as well as 3D acceleration and EXA pixmaps.
This kernel mode-setting support is currently being housed in separate code branches, but will be merged to master and enter the Linux kernel in the future. David Airlie mentioned in the Radeon IRC channel that the Radeon KMS support will hopefully be merged right behind the Intel KMS support, but before that of course will be GEM going to master. David also hopes to ship this ATI support with the Fedora 10 Beta.
For open-source ATI users, the fun doesn't stop here today. The "quick and dirty" 2D branch of the RadeonHD driver has been merged to master. This work has been ported over from the Radeon driver and brings numerous (R500) 2D XAA/EXA acceleration improvements. In addition, the RadeonHD driver now has Textured Video support for the ATI R500 series.