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-glxlibrerie 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=1non 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 dlopenda Mesa. Ubuntu 16.04.
Se si tratta della propria applicazione, è possibile collegarsi al software di implementazione OpenGL Mesa3D .