

コンピューティングにおいて、EXAはX.Org Server ( X Window Systemも参照)のグラフィックスアクセラレーションアーキテクチャであり、XAA( XFree86アクセラレーションアーキテクチャ)[ 1 ]を置き換え、 XRender拡張機能をより使いやすくするために設計されました。XAAを使用するように書かれた古いXFree86ビデオドライバを適応させるには、わずかな変更のみが必要です。これはZack Rusinによって設計され、 LinuxTag 2005 [ 2 ]で発表され、X.Org Serverバージョン6.9/7.0で初めてリリースされました。
歴史的に、2Dアクセラレーションと3Dアクセラレーションは区別されてきた。2Dアクセラレーションは、由緒あるXFree86アクセラレーションアーキテクチャ(XAA)によって提供され、ビデオカードの2DハードウェアアクセラレーションをXサーバーで利用できるようにした。
3Dアクセラレーション機能は、 Direct Rendering Managerを介して提供されていました。これは、3Dレンダリングされた画像を2D画像の上にマッピングすることで動作していました。この方式にはいくつかのバグのある特殊なケースがありましたが、デスクトップにコンポジット機能が導入されるまでは概ね正常に動作していました。しかし、この違いが多くのバグやパフォーマンス問題の原因となってしまいました。
EXAは、XAAよりもXRenderとの統合性を向上させ、X.Org Serverの2Dパフォーマンスを改善するための暫定的な措置として導入されました。実際には、いくつかの点で非常に有利であることが証明された一方で、多くの特殊なケースや不具合も発生しました。
解決策は、2Dグラフィックスと3Dグラフィックスの両方でOpenGLによるハードウェアアクセラレーションに移行し、2Dグラフィックスを3Dレンダリングのサブセットとして扱うことだった。しかし、完全に移行するのは残念ながらそう簡単ではなく、いくつかの大きな障害が伴う。
EXAは、実験的なFreedesktop.org XserverのKAA(KDrive Acceleration Architecture)を基に開発された。最初のメーリングリストの発表によると[ 3 ] 、目標は以下のとおりである。
XAA ドライバーの多くは X11R6.9/7.0 で EXA サポートが追加され、さらに多くのドライバーでサポートが追加され続けています。この移行をできるだけ容易にすることは、重要な設計上の考慮事項でした。[ 4 ]
UXAは、Intelが開発したEXA APIの再実装であり、グラフィックス実行マネージャを使用しています。[ 5 ]
Radeonの無料かつオープンソースのデバイスドライバは、 EXAとGlamorによる2Dアクセラレーションをサポートしています。[ 6 ]
X.Orgのウェブサイト[ 8 ]によると、 EXAは「明確な頭字語のないアクセラレーションアーキテクチャ」です。Dot.kde.orgはこれを「Eyecandy Acceleration Architecture」と呼んでいます。[ 9 ]ドライバ変更ガイド[ 4 ]では、「EXcellent Architecture、Ex-kaa aXeleration Architecture、あるいは何でもいい」と呼んでいます。