KDE SC 4.5.0 ha alcuni problemi con alcune schede video inclusa la mia. Al momento del rilascio, Arch ha consigliato diverse soluzioni alternative. Uno dei quali era
esporta "LIBGL_ALWAYS_INDIRECT=1" prima di avviare KDE
Ho deciso che era il metodo più semplice e migliore. Ma non so cosa faccia o come influisca sul mio sistema. È più lento dell'impostazione predefinita? devo ricordarmi di tenere d'occhio il problema e disabilitarlo in seguito una volta risolto?
Risposta accettata:
Il rendering indiretto significa che il protocollo GLX verrà utilizzato per trasmettere i comandi OpenGL e X.org eseguirà il vero disegno.
Il rendering diretto significa che l'applicazione può accedere direttamente all'hardware senza dover prima comunicare con X.org tramite mesa.
Il rendering diretto è più veloce in quanto non richiede il cambio di contesto nel processo X.org.
Chiarimento: In entrambi i casi il rendering viene eseguito dalla GPU (o tecnicamente può essere eseguito dalla GPU). Tuttavia, nel rendering indiretto il processo è simile a:
- Il programma chiama uno o più comandi
- I comandi vengono/vengono inviati a X.org tramite il protocollo GLX
- X.org chiama l'hardware (es. GPU) per disegnare
In rendering diretto
- Il programma chiama uno o più comandi
- I comandi vengono/vengono inviati alla GPU
Si noti che poiché OpenGL è stato progettato in modo tale da poter funzionare in rete, il rendering indiretto è più veloce, quindi sarebbe un'implementazione ingenua dell'architettura, ovvero consente di inviare un sacco di comandi in una volta sola. Tuttavia c'è un po' di sovraccarico in termini di tempo CPU speso per cambi di contesto e protocollo di gestione.