Informazioni mancanti...
Mi pare che l'articolo (e buona parte dei commenti) sia abbastanza disinformata.
Gallium3D è una tecnologia che permette da un lato di scrivere driver, dall'altro di esporre a livello software funzionalità molto simili a quelle dell'hardware grafico moderno.
Gallium è multipiattaforma: al momento è supportato appieno da Linux e FreeBSD, ed è in fase embrionale il supporto ad Haiku (clone di BeOS) e ad AROS (clone di Amiga OS).
Esistono vari driver Gallium3D:
- r300g: supporta Radeon dall'R300 al R500 ed è il più completo ed evoluto;
- r600g: supporta Radeon dalla R600 a R700 e fra poco anche Evergreen, manca ancora qualche mese perché sia pronto;
- nouveau: supporta schede dalla Geforce 3 in poi, Fermi escluso credo, ed è messo decentemente, ma ha scarse prestazioni;
- un driver proprietario per Intel GMA 500 Poulsbo (basato su PowerVR);
- un vecchio driver per Intel GMA al momento abbandonato;
- credo qualche altro paio di driver assortiti:
http://www.phoronix.com/scan.php?page=news_item&px=ODE2NQ
Dal lato applicativo, grazie all'esposizione di funzionalità simili a quelle fornite dall'hardware (a livello di architettura) permette facilmente di scrivere state-tracker che permettono di fare un sacco di cose:
- accelerazione 2D;
- accelerazione 3D di varie API (OpenGL, Direct X);
- decodifica video;
- altro ancora.
Il bello è che se implemento un driver ho in automatico tutti gli state tracker che sono implementati da Gallium3D.
L'implementazione di DX 10 e 11 è stata relativamente semplice appunto perché sia Gallium che DX 10 rispecchiano in maniera fedele il modo in cui è pensato l'hardware, quindi la mappatura Gallium - DX è stata facile. Paradossalmente uno state tracker per DX9 (ne esiste uno proprietario) sarebbe più complicato da realizzare.
|