Cela supprimera les libgl1-mesa-glxbibliothèques Mesa à accélération matérielle et installera le moteur de rendu uniquement logiciel.
Alternativement, vous pouvez définir LIBGL_ALWAYS_SOFTWARE=1ce qui n'affectera que les programmes démarrés avec cette variable d'environnement, pas l'ensemble du système.
Ces deux modifications peuvent ne pas fonctionner si vous utilisez les pilotes binaires NVidia, qui fournissent les leurs libGL.
Bonjour, où puis-je définir cette variable LIBGL_ALWAYS_SOFTWARE = 1? J'ai le problème inverse, OpenGL est toujours rendu par logiciel et mon ordinateur portable ne prend pas en charge Unity3D pour Ubuntu 15.04. J'ai des graphiques hybrides Intel-Nvidia.
Santi
1
libgl1-mesa-swx11 ne remplace plus libgl1-mesa-glx. Ainsi, lors de son installation, vous devez configurer un remplacement pour l'utiliser. Néanmoins, je recommande d'utiliser le rendu du logiciel LLVM-Pipe en utilisant "LIBGL_ALWAYS_SOFTWARE = 1". Il est beaucoup plus rapide et tire parti du matériel plus récent. De plus, les utilisateurs des pilotes nvidia et amd peuvent forcer l'utilisation du pipeline logiciel mesa, si mesa est installé, en utilisant un hack ld.so pour remplacer la bibliothèque libGL chargée.
Robert Wm Ruedisueli
2
Est-ce que cela fonctionne sur les pilotes propriétaires AMD? Existe-t-il une option simple sur Nvidia?
Daniel M Gessel
Je me demande pourquoi LIBGL_ALWAYS_SOFTWARE=1ne pourrait pas être fait fonctionner avec les pilotes NVIDIA installés + libgl1-mesa-glx, car mon programme est toujours lié à /usr/lib/x86_64-linux-gnu/libGL.so(fourni par libgl1-mesa-dev) et non /usr/lib/nvidia-361/libGL.so, qui semble être chargé dlopenpar Mesa. Ubuntu 16.04.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
1
S'il s'agit de votre propre application, vous pouvez créer un lien vers l'implémentation du logiciel OpenGL Mesa3D .
Réponses:
Si vous utilisez Mesa
libGL
, vous pouvez activer le rendu logiciel en permanence en exécutant:Cela supprimera les
libgl1-mesa-glx
bibliothèques Mesa à accélération matérielle et installera le moteur de rendu uniquement logiciel.Alternativement, vous pouvez définir
LIBGL_ALWAYS_SOFTWARE=1
ce qui n'affectera que les programmes démarrés avec cette variable d'environnement, pas l'ensemble du système.Ces deux modifications peuvent ne pas fonctionner si vous utilisez les pilotes binaires NVidia, qui fournissent les leurs
libGL
.la source
LIBGL_ALWAYS_SOFTWARE=1
ne pourrait pas être fait fonctionner avec les pilotes NVIDIA installés +libgl1-mesa-glx
, car mon programme est toujours lié à/usr/lib/x86_64-linux-gnu/libGL.so
(fourni parlibgl1-mesa-dev
) et non/usr/lib/nvidia-361/libGL.so
, qui semble être chargédlopen
par Mesa. Ubuntu 16.04.S'il s'agit de votre propre application, vous pouvez créer un lien vers l'implémentation du logiciel OpenGL Mesa3D .
la source