Come posso forzare un'applicazione a utilizzare il rendering opengl basato su software su Ubuntu?
Come posso forzare un'applicazione a utilizzare il rendering opengl basato su software su Ubuntu?
Risposte:
Se stai utilizzando Mesa libGL
, puoi abilitare il rendering del software in modo permanente eseguendo:
sudo apt-get install libgl1-mesa-swx11
Ciò rimuoverà le libgl1-mesa-glx
librerie Mesa con accelerazione hardware e installerà il renderer solo software.
In alternativa, è possibile impostare LIBGL_ALWAYS_SOFTWARE=1
, che interesserà solo i programmi avviati con quella variabile d'ambiente, non l'intero sistema.
Entrambe queste modifiche potrebbero non funzionare se si utilizzano i driver binari NVidia, che forniscono i propri libGL
.
LIBGL_ALWAYS_SOFTWARE=1
non sia stato possibile far funzionare i driver NVIDIA installati + libgl1-mesa-glx
, poiché il mio programma è ancora collegato a /usr/lib/x86_64-linux-gnu/libGL.so
(fornito da libgl1-mesa-dev
) e non /usr/lib/nvidia-361/libGL.so
, che sembra essere caricato dlopen
da Mesa. Ubuntu 16.04.
Se si tratta della propria applicazione, è possibile collegarsi al software di implementazione OpenGL Mesa3D .