AMD has finally made public its new Gallium3D driver
, which is called "RadeonSI" and provides the user-space acceleration support for their latest-generation AMD Radeon HD 7000 "Southern Islands" graphics cards under Linux.
Towards the end of March is when AMD published the DRM driver support for the Radeon HD 7000 series
(along with their next-generation AMD Fusion "Trinity" APUs), but there wasn't any Gallium3D/X.Org driver support. The DRM changes for supporting the Southern Islands hardware has made it into the Linux 3.4 kernel and we now have the new Gallium3D driver.
Due to the invasive architectural changes with GCN / SI, the current "R600g" Gallium3D driver isn't being extended to support the new Radeon GPUs but a new Gallium3D driver was deemed necessary. This "RadeonSI" Gallium3D driver is based upon a very stripped-down version of R600g.
That code is now available for this new driver, but for now it's living in a branch of a personal Mesa Git repository. AMD's waiting on merging this new driver to master until the LLVM-related changes to Radeon Gallium3D are complete. This work though should be merged in time for Mesa 8.1 this summer.
This new RadeonSI Gallium3D driver introduces over 110,000 lines of new code to Mesa. With this being a new driver, it's not up to the same speed and support level as those GPUs on R600g or even R300g. Alex writes in his announcement, "Basic egl demos are starting to run."
Alex also mentions they're working on getting the ISA documentation for the HD 7000 series out there and they expect that to be soon.
What about the X.Org driver support for the HD 7000 series? Alex says, "There is no ddx for SI right now. The plan is to support X acceleration via gallium." This is interesting!
So AMD is planning to basically do away with their DDX for future hardware and just run the desktop atop their Gallium3D and KMS/DRM stack. The Xorg Gallium3D state tracker accelerates EXA 2D over 3D in a fairly generic way rather than messing around with the hardware-specific DDX. For more information read Running The Xorg State Tracker On R300 Gallium3D
As soon as the RadeonSI Gallium3D driver is in decent shape for supporting the Radeon HD 7000 series hardware with OpenGL 2.1/3.0+, it will be benchmarked on Phoronix. For now you can read Alex Deucher's mailing list announcement
or check out the current Git repository
. Below is the commit message of the initial Southern Islands code import.
This commit adds initial support for acceleration on SI chips. egltri is starting to work. The SI/R600 llvm backend is currently included in mesa but that may change in the future. The plan is to write a single gallium driver and use gallium to support X acceleration.
If you're debating between a Radeon HD 7000 series GPU and NVIDIA's new GeForce 600 "Kepler" series, read about the interesting Kepler open-source support via Nouveau
Also see my Radeon HD 7950 Linux benchmarks
and the most recent update