AIGLX

GLX e AIGLX versus direct rendering.

Accelerated Indirect GLX ("AIGLX") è un progetto open source fondato dalla X.Org Foundation e dalla comunità Fedora Core al fine di fornire capacità di rendering con accelerazione indiretta GLX a X.org e driver Direct Rendering Infrastructure (DRI). Questo permette a client X remoti di sfruttare a pieno le possibilità di accelerazione hardware attraverso il protocollo GLX; per puro caso, questo sviluppo era necessario anche per compositing window manager che usano OpenGL (come Compiz o Beryl) al fine di sfruttare l'accelerazione hardware.

Il modulo AIGLX è stato inserito di default in X.Org versione 7.1 e successive.

Spiegazione

Un window system può fare comunicare un'applicazione OpenGL con una scheda grafica in due modi.

Il primo modo è di specificare il comando OpenGL in un modello di rete usando l'architettura client/server simile a quella usata dalle routine di X11 per disegnare. Questo è il percorso indiretto perché i comandi sono spediti al server X, il quale si occupa a sua volta di mandarli alla scheda video.

Il secondo modo, che sta alla base di Xgl, è di aprire una finestra e poi permettere alla libreria OpenGL di spedire i comandi direttamente alla scheda video. Questo permette a Compiz e altri compositing window manager di essere costruiti sopra un tradizionale server con una piccola estensione GLX piuttosto di creare un server Xgl. Un altro vantaggio è che DRI bypassa il server Xgl (se così non fosse, non potrebbe essere accelerato), mentre con AIGLX a tutto è permesso di essere composito.

Supporto hardware

AIGLX ha bisogno del supporto dei driver per funzionare. In particolare, dipende dall'estensione OpenGL texture_from_pixmap. Attualmente i driver proprietari della Nvidia e della ATI supportano tale estensione, come pure i driver liberi radeon per schede ATI, i driver liberi VIA e i driver liberi Intel.

Estensione X Composite con i driver NVIDIA

Lo stesso argomento in dettaglio: Implementazione OpenGL dei driver NVIDIA.

Relazione con Xgl

Xgl è un server grafico alternativo a X.org, mentre AiGlx è parte del server grafico X.org. Sebbene il progetto AIGLX abbia caratteristiche simili a Xgl non è un suo concorrente. Il progetto, secondo il Wiki di Fedora Project, fu iniziato perché Xgl durante i suoi stadi finali era scritto dietro porte chiuse nel senso che i sorgenti non erano disponibili. Questo è contro la filosofia dell'open source in quanto non permette la revisione e contributi di tutti, infatti Xgl è criticato di avere troppe falle per essere usabile. È stato tuttavia dichiarato che i progetti AIGLX e Xgl si scambiano codice e cooperano per assicurare la compatibilità e miglioramenti di entrambi i sistemi.

Bibliografia

  • (EN) Reveman, David "AIGLX, metacity, nvidia and Xgl". Email. 23 Feb 2006.

Voci correlate

  • X Window System
  • OpenGL
  • Xgl
  • VirtualGL
  • Beryl (software)
  • Compiz

Collegamenti esterni

  • (EN) Fedora Project Wiki AIGLX Article — contiene dimostrazioni video in formato libero Ogg Theora.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica