Softwarebasiertes OpenGL-Rendering erzwingen

11

Wie kann ich eine Anwendung zwingen, softwarebasiertes OpenGL-Rendering unter Ubuntu zu verwenden?

Bobby
quelle
Über welche (Art) Anwendung sprechen wir?
Bobby

Antworten:

20

Wenn Sie Mesa verwenden libGL, können Sie das Software-Rendering dauerhaft aktivieren, indem Sie Folgendes ausführen:

sudo apt-get installiere libgl1-mesa-swx11

Dadurch werden die libgl1-mesa-glxhardwarebeschleunigten Mesa-Bibliotheken entfernt und der reine Software-Renderer installiert.

Alternativ können Sie festlegen LIBGL_ALWAYS_SOFTWARE=1, was nur Programme betrifft, die mit dieser Umgebungsvariablen gestartet wurden, nicht das gesamte System.

Diese beiden Änderungen funktionieren möglicherweise nicht, wenn Sie die binären NVidia-Treiber verwenden, die ihre eigenen bereitstellen libGL.

kurzlebig
quelle
1
Hallo, wo kann ich diese Variable LIBGL_ALWAYS_SOFTWARE = ​​1 setzen? Ich habe das umgekehrte Problem, OpenGL wird immer per Software gerendert und mein Laptop unterstützt Unity3D für Ubuntu 15.04 nicht. Ich habe hybride Intel-Nvidia-Grafiken.
Santi
1
libgl1-mesa-swx11 ersetzt libgl1-mesa-glx nicht mehr. Daher müssen Sie bei der Installation eine Überschreibung konfigurieren, um sie zu verwenden. Trotzdem empfehle ich die Verwendung des LLVM-Pipe-Software-Renderings mit "LIBGL_ALWAYS_SOFTWARE = ​​1". Es ist viel schneller und nutzt neuere Hardware. Außerdem können Benutzer von nvidia- und amd-Treibern die Verwendung der mesa-Software-Pipeline erzwingen, wenn mesa installiert ist, indem sie einen ld.so-Hack verwenden, um die geladene libGL-Bibliothek zu überschreiben.
Robert Wm Ruedisueli
2
Funktioniert dies mit proprietären AMD-Treibern? Gibt es eine einfache Option für Nvidia?
Daniel M Gessel
Ich frage mich, warum LIBGL_ALWAYS_SOFTWARE=1nicht mit installierten NVIDIA-Treibern + gearbeitet werden konnte libgl1-mesa-glx, da mein Programm immer noch mit /usr/lib/x86_64-linux-gnu/libGL.so(bereitgestellt von libgl1-mesa-dev) verknüpft ist und nicht /usr/lib/nvidia-361/libGL.so, was dlopenvon Mesa geladen zu sein scheint . Ubuntu 16.04.
Ciro Santilli 4 改造 中心. 六四
1

Wenn es sich um Ihre eigene Anwendung handelt, können Sie einen Link zur Software OpenGL Implementation Mesa3D erstellen .

Malte Clasen
quelle