9 settembre 2011

[Chrome OS] Google implementa un'estensione in Gallium3D


Questa è una notizia che interesserà forse i più nerd tra i nostri lettori ma, nonostante il livello tecnico elevato, la sua rilevanza è innegabile.
Il team di Chromium OS, la branca open source di Chrome OS, ha abilitato l’estensione GLX_EXT_texture_from_pixmap nei driver, cosa che rende possibile utilizzare compositing window manager direttamente dai driver Gallium3D (come LLVMpipe o Softpipe) con la CPU, nel caso in cui il processore grafico dell’utente non possiede l’accelerazione hardware.

Gli ingegneri di Google al lavoro su Chromium OS avevano già in precedenza rilasciato un driver Gallium3D per Intel con lo scopo di migliorare le prestazioni del chipset Intel i915g sui propri Chromebook.
Per chi non lo conoscesse, Gallium3D è una libreria free software per la gestione di driver hardware (device driver) per la grafica 3D. Gallium3D è attualmente in fase di sviluppo da parte di VMware.
L’obiettivo ambizioso di Gallium3D è quello di migliorare pesantemente la stabilità e le prestazioni 3D dell’hardware attraverso una gestione più diretta rispetto a quanto previsto da Mesa3D. Gallium3D agisce come un layer tra le API grafiche e il sistema operativo e separa la gestione della memoria e delle funzioni grafiche della GPU consegnandole rispettivamente al Direct Rendering Manager (DRM) al Direct Rendering Interface (DRI2). Questo sistema risolve anche un problema di gestione della memoria considerato irrisolvibile sotto Mesa.
L’estensione GLX_EXT_texture_from_pixmap permette l’utilizzo di un buffer di colori sia per le operazioni di rendering che di texturing.

Questo nuovo codice implementato da Google in Gallium3D è molto importante per il mondo Linux poiché apre le porte alla possibilità di far funzionare i compositing window manager come GNOME Shell, Compiz e così via, direttamente tramite la CPU attraverso un driver Gallium3D.
Per approfondire l'argomento vi invito a leggere questo articolo sul blog Phoronix.