XAA
Pierwsza wspólna warstwa akceleracji 2D w XFree86: sterownik wypełniał tabelę tego, co potrafi karta, a resztę XAA robiła programowo.
Przed XFree86 3.3 w 1997 roku każdy sterownik graficzny pisał własną akcelerację, a większość nie pisała żadnej. Harm Hanemaayer zbudował XFree86 Acceleration Architecture, by to zmienić: sterownik rejestruje procedury sprzętowe dla zestawu prymitywów – wypełniania prostokątów, kopiowania z ekranu na ekran, rozwijania wzorów monochromatycznych na kolorowe dla tekstu, rysowania linii – a XAA wplata je w kod rysowania serwera, z programowym awaryjnym wariantem dla całej reszty. Mark Vojkovich przepisał całość dla XFree86 4.0 w 2000 roku i przez dekadę tak właśnie każda karta ATI, Matrox i S3 rysowała okna w Linuksie.
Kłopot w tym, że lista prymitywów odzwierciedlała blitter z karty z 1995 roku. Gdy pojawił się XRender z mieszaniem alfa i wygładzanym tekstem, nie było dla niego ścieżki sprzętowej, więc kompozycja spadała na oprogramowanie, a pulpity się zacinały na kartach, które potrafiły znacznie więcej. Nowsze karty zresztą szybko zostały tylko z silnikami 3D. EXA przejęła rolę w 2005 roku, a XAA wycięto z serwera X.Org w 2012 roku.