Il Graphics Execution Manager (GEM) è un software di sistema per la gestione della memoria dei driver.
Il Graphics Execution Manager (GEM) è un software di sistema per la gestione della memoria dei driver.
Sia GEM e TTM gestiscono la memoria grafica (ciò significa che comunicano con il Non-Uniform Memory Access (NUMA) sui moderni chipset grafici) e controllano il contesto di esecuzione per il codice realativo alla grafica. Essi permettono ad applicazioni multiple di condividere le risorse del supporto grafico senza la necessità di conservare e ripristinare l'intero stato della grafica tra i vari cambi effettuati.
GEM assicura di non esserci conflitti tra la condivisione dei dati tra le applicazioni, gestendo la sincronizzazione della memoria. GEM usa molti sottosistemi del kernel per le sue operazioni e quindi ha un modestissima quantità di codice. GEM è incluso nel kernel di Linux dalla versione 2.6.28 per utilizzare i driver dell'hardware grafico di Intel I driver per l'ATI Radeon e i chipset VIA S3 utilizzano un "gestore TTM GEM-ifilizzato", il quale fornisce la stessa interfaccia come GEM, ma usa totalmente TTM
GEM è anche progettato per essere compatibile con i kernel *BSD
Le API di GEM sono documentate nell'annuncio originale del software.
In ogni modo, GEM ha causato dei problemi per gli sviluppatori non-Intel e collisioni con l'attuale sviluppo di X.Org (in particolare DRI2 e la nuova archiettetura di accelerazione EXA, ha condotto alcuni sviluppatori ad utilizzare un "gestore TTM GEM-ifilizzato".