Phoronix: xf86-video-radeonhd 1.3.0 Driver Released
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. Among the new features in the RadeonHD 1.3.0 driver include support for HDMI audio with the RS690 and R700 ASICs, basic power management support, EXA acceleration is enabled by default, fixed back-light handling, overhauled cursor handling, many bug fixes, and the start of some developer's documentation...
From a design standpoint, radeonhd has a different code structure (relatively more modular), different internal representation of physical stuff like connectors/encoders/displays, and includes hard-coded (ie not calling atombios) support for GPUs up to rv770. It also only deals with 5xx/rs6xx and up.
The KMS code is arguably a hybrid of radeonhd and radeon design concepts, ie the hardware abstractions are closer to radeonhd but the code is closer to radeon.
From a design standpoint, radeonhd has a different code structure(...)
I think the more accurate question would be "what does radeonhd offer that radeon doesn't"? Is there still a reason for the redundant work? In the past, there were differences of support (radeon for < r500, radeonhd for > r500) and philosophy (the AtomBIOS debate), but is there a feature now that radeonhd offers and radeon doesn't? If so, what stops radeon from implementing that feature and the *hd developers switching their valueable time and expertise to contribute to a single driver?
IIRC, -radeonhd is the only one to support HDMI audio. I'd be interested to see this feature in -ati too, so I wouldn't have to wait for in-kernel implementation (I have an AGP HD3650 and these cards tend to need more time to reach stability).
If so, what stops radeon from implementing that feature and the *hd developers switching their valuable time and expertise to contribute to a single driver?
Right now, radeonhd seems to be focusing on power management and backlight control, while the radeon crew is focused on KMS. In theory, the developers work in the code tree they're most comfortable with, and those changes should find their way into the common kernel code.
As you probably know, the drivers share already common acceleration code and work on features like HDMI audio were shared too. If the radeonhd driver was ended, the radeonhd crew would then have to learn a new code base, so take that into account when you're worrying about wasted time/duplicated effort.