EXA (X11)
# EXA (X11)

En informática, EXA es una arquitectura de aceleración de gráficos del servidor X.Org diseñado para reemplazar a XAA (la arquitectura de aceleración XFree86) y hacer que la extensión XRender sea más útil, con solo cambios menores necesarios para adaptar los controladores de video XFree86 escritos para usar XAA; fue diseñado por Zack Rusin y anunciado en LinuxTag 2005 y lanzado por primera vez con el servidor X.Org versión 6.9 / 7.0.

## Historia

Históricamente, se ha hecho una distinción entre la aceleración 2D y 3D. La aceleración 2D fue proporcionada por XFree86 Acceleration Architecture, XAA, que hizo que la aceleración de hardware 2D de la tarjeta de video estuviera disponible para el servidor X.

El conjunto de aceleración 3D se proporcionó a través del Direct Rendering Manager, que trabajó mapeando imágenes representadas en 3D sobre la imagen 2D. Esto tenía algunos casos de esquinas con errores, pero más o menos trabajado, hasta que la composición entró en el escritorio. Esta distinción se ha convertido en la fuente de muchos errores y problemas de rendimiento.

EXA se presentó como una medida provisional, para proporcionar una mejor integración con XRender que XAA, mejorando el rendimiento de X.Org Server 2D. En la práctica, aunque esto resultó ser bastante ventajoso en algunos aspectos, también exhibió una serie de casos de esquina y regresiones.

La solución fue pasar a aceleración de hardware con OpenGL tanto para gráficos 2D como 3D, y los gráficos 2D se convirtieron en solo un subconjunto de la representación 3D. Lamentablemente, cambiar completamente no es tan simple sin algunos obstáculos importantes.

EXA fue adaptado de KAA, la arquitectura de aceleración de KDrive, del servidor experimental Freedesktop.org Xserver. Según el anuncio inicial de la lista de correo, los objetivos son:

* Que XRender acelere apropiadamente
* Ser lo más simple posible

Muchos controladores XAA tienen soporte EXA agregado para X11R6.9 / 7.0 y se continúa agregando soporte a más controladores. Hacer esta transición lo más fácil posible fue una consideración importante del diseño.

UXA es una reimplementación de la API EXA desarrollada por Intel, utilizando el Graphics Execution Manager.

El controlador de dispositivo de código abierto Radeon es compatible con la aceleración 2D a través de EXA y Glamour.

Se supone que Glamor pondrá obsoleto todos los intentos previos.

## Acrónimo

De acuerdo con el sitio web X.Org EXA es "acceleration architecture with no well-defined acronym". Dot.kde.org lo llamó "Eyecandy Acceleration Architecture". The driver modification guide calls it "EXcellent Architecture or Ex-kaa aXeleration Architecture or whatever."

