XAA In X.Org Has Finally Met Its Executioner

Posted by Michael Larabel on January 18, 2012

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."

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. FreeBSD Still Working On Next-Gen Package Manager
  2. DNF Still Advancing As Experimental Yum For Fedora
  3. Logitech Begins Supporting Linux Users
  4. Modern Intel Gallium3D Driver Still Being Toyed With
  5. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  6. GCC 4.8.1 Compiler Due To Be Out Next Week
  7. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  8. Linux's "Ondemand" Governor Is No Longer Fit
  9. Firefox 22 Beta Enables WebRTC Support
  10. OpenSUSE 13.1 Milestone 1 Released
  11. DRM Graphics Driver Comes For Dove/Cubox
Latest Forum Talk
  1. Sumo Lounge Emperor
  2. KDE's Krita Ported To OpenGL 3.1, OpenGL ES 2.0
  3. DNF Still Advancing As Experimental Yum For Fedora
  4. FreeBSD Still Working On Next-Gen Package Manager
  5. Ubuntu 13.10 Likely Switching To Chromium Browser
  6. Logitech Begins Supporting Linux Users
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite