EXA (X11)

De Wikipedia, la enciclopedia libre
Las API XAA/EXA/UXA/SNA son para los controladores de gráficos 2D dentro del servidor X. Tenga en cuenta que el software moderno utiliza Direct Rendering.
Glamor reemplaza DDX, aquí con XWayland.

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)[1]​ 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[2]​ y lanzado por primera vez con el servidor X.Org versión 6.9 / 7.0.

Historia[editar]

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,[3]​ los objetivos son:

  1. Que XRender acelere apropiadamente
  2. 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.[4]

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

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

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

Acrónimo[editar]

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

Véase también[editar]

Referencias[editar]

  1. Summer coding Archivado el 18 de noviembre de 2005 en Wayback Machine. (Zack Rusin blog entry, 3 June 2005)
  2. Acceleration Architecture (initial LinuxTag presentation by Zack Rusin)
  3. New acceleration architecture (announcement on Xorg mailing list, Zack Rusin, 25 June 2005)
  4. Jesse Barnes (9 de marzo de 2006). «Adding EXA support to your X.Org video driver». Archivado desde el original el 20 de julio de 2011. Consultado el 18 de mayo de 2010.  |autor= y |apellido= redundantes (ayuda)
  5. UMA Acceleration Architecture
  6. «Radeon Feature Matrix». freedesktop.org. 
  7. «What is Glamor?». freedesktop.org. 
  8. «Glossary». X.Org Foundation. Consultado el 29 de abril de 2015. 
  9. New Acceleration Architecture for X.org (dot.kde.org, 28 June 2005)

Enlaces externos[editar]

  • ExaStatus (X.Org)
  • EXA (Carl Worth's EXA development blog posts)