XAA In X.Org Has Finally Met Its Executioner
The XAA 2D acceleration architecture is finally set to be stripped out of X.Org Server 1.13 and upstream open-source X.Org drivers.
The old and crusty XAA, the XFree86 Acceleration Architecture, is finally set to be laid to rest as X.Org developers cheer on its death. XAA has been around since, well, the XFree86 days (1996 with the XFree86 3.3 release to be exact while it was re-written in XFree86 4.0).
The XAA acceleration support in most of the DDX drivers have been superseded by EXA (or UXA, SNA, and other means) for years now, so this old and not too useful acceleration architecture is going to be dropped. For modern graphics hardware, XAA is effectively useless.
EXA was designed to replace XAA, better handle the X Render extension, and has been around for over a half-decade now with it being upstream since X.Org 7.0. EXA can better handle modern graphics processors while still being relatively simple.
Since then EXA has morphed inside the xf86-video-intel driver to UXA, or the UMA Acceleration Architecture. UXA implements the EXA API but internally it's using the Graphics Execution Manager (GEM) within the kernel for handling memory matters. Most recently there's also been the SNA acceleration architecture as the newest (and fastest) means of Intel 2D acceleration.
The Nouveau and Radeon drivers both continue to support EXA while some drivers still support XAA as a fall-back mode. EXA is also implemented over Gallium3D within the Xorg state tracker to use the graphics processor's 3D engine. There's also the similar Glamor acceleration architecture.
Daniel Stone has provided patches today to send XAA off to open-source heaven. He's submitted patches to the important DDX drivers that make them function without any XAA code. "It's dead, Jim"
In preparation for X.Org Server 1.13, he's prepared the X.Org Server patch that kills the support server-side. X.Org Server 1.13 is anticipated for release in August or September of this year and its merge window should open around March following the release of X.Org Server 1.12. His patch is simply entitled Remove XAA.
With not merging this until the xorg-server 1.13 window, this allows the DDX drivers to be updated in time for those that still depend on XAA. Most of these other drivers right now are in a broken state. Daniel's list of broken drivers include: apm ark ast chips cirrus cyrix geode glide glint i128 i740 impact imstt neomagic newport nsc nv r128 radeonhd rendition s3 s3virge savage siliconmotion sis sisusb sunffb tdfx tga trident tseng vermilion via voodoo xgi xgixp.
Hopefully this XAA dropping will lead to more cleaning within X.Org Server and most of these other legacy drivers will just be burned with fire and dropped from the X.Org katamari. There's already been killing DRM cruft with fire, dropping the classic Radeon drivers, and removing the DRI1 legacy Mesa drivers. Let more of this ancient hardware support die as the limited manpower within the X.Org / Mesa camp already leads to a hard enough time working on support for modern hardware and most of these old drivers just suffer from bit-rot.
Within the Intel camp, i8xx series support has been brought up again when discussing stripping out the XAA bits.
In terms of removing XAA from the X.Org Server, David Airlie says, "Like seriously" as he reviewed the patch. Keith Packard, the X.Org Server release manager, says "Looking forward to merging this for 1.13 :-)" Alex Deucher says "Finally!" and Jamey Sharp ends the XAA death sentence with "I love this."