Isso removerá as libgl1-mesa-glxbibliotecas Mesa aceleradas por hardware e instalará o renderizador somente de software.
Como alternativa, você pode definir LIBGL_ALWAYS_SOFTWARE=1, o que afetará apenas os programas iniciados com essa variável de ambiente, não o sistema inteiro.
Ambas as alterações podem não funcionar se você estiver usando os drivers binários da NVidia, que fornecem seus próprios libGL.
Oi, onde posso definir essa variável LIBGL_ALWAYS_SOFTWARE = 1? Eu tenho o problema inverso, o OpenGL é sempre renderizado por software e meu laptop não suporta o Unity3D para o Ubuntu 15.04. Tenho gráficos Intel-Nvidia híbridos.
Santi
1
libgl1-mesa-swx11 não substitui mais a libgl1-mesa-glx. Portanto, ao instalá-lo, você precisa configurar uma substituição para usá-lo. Ainda assim, recomendo usar a renderização do software LLVM-Pipe usando "LIBGL_ALWAYS_SOFTWARE = 1". É muito mais rápido e tira proveito do hardware mais recente. Além disso, os usuários dos drivers nvidia e amd podem forçar o uso do pipeline do software mesa, se o mesa estiver instalado, usando um hack ld.so para substituir a biblioteca libGL carregada.
Robert Wm Ruedisueli 5/11
2
Isso funciona com drivers proprietários da AMD? Existe uma opção fácil na Nvidia?
Daniel M Gessel
Eu me pergunto por LIBGL_ALWAYS_SOFTWARE=1que não foi possível trabalhar com os drivers NVIDIA instalados + libgl1-mesa-glx, pois meu programa ainda está vinculado a /usr/lib/x86_64-linux-gnu/libGL.so(fornecido por libgl1-mesa-dev) e não /usr/lib/nvidia-361/libGL.so, o que parece ser carregado dlopenpelo Mesa. Ubuntu 16.04.
Ciro Santilli escreveu
1
Se for sobre o seu próprio aplicativo, você pode vincular ao software OpenGL de implementação Mesa3D .
Respostas:
Se você estiver usando o Mesa
libGL
, poderá ativar a renderização de software permanentemente executando:Isso removerá as
libgl1-mesa-glx
bibliotecas Mesa aceleradas por hardware e instalará o renderizador somente de software.Como alternativa, você pode definir
LIBGL_ALWAYS_SOFTWARE=1
, o que afetará apenas os programas iniciados com essa variável de ambiente, não o sistema inteiro.Ambas as alterações podem não funcionar se você estiver usando os drivers binários da NVidia, que fornecem seus próprios
libGL
.fonte
LIBGL_ALWAYS_SOFTWARE=1
que não foi possível trabalhar com os drivers NVIDIA instalados +libgl1-mesa-glx
, pois meu programa ainda está vinculado a/usr/lib/x86_64-linux-gnu/libGL.so
(fornecido porlibgl1-mesa-dev
) e não/usr/lib/nvidia-361/libGL.so
, o que parece ser carregadodlopen
pelo Mesa. Ubuntu 16.04.Se for sobre o seu próprio aplicativo, você pode vincular ao software OpenGL de implementação Mesa3D .
fonte