Erzwingen Sie Software-basiertes Opengl-Rendering

18577
Bobby

Wie kann ich eine Anwendung zwingen, Software-basiertes Opengl-Rendering auf Ubuntu zu verwenden?

10
Von welcher (Art) Anwendung sprechen wir? Bobby vor 13 Jahren 0

2 Antworten auf die Frage

19
ephemient

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

sudo apt-get install 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, dass nur Programme betroffen sind, die mit dieser Umgebungsvariablen gestartet werden, nicht das gesamte System.

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

Hallo, wo kann ich diese Variable LIBGL_ALWAYS_SOFTWARE = ​​1 setzen? Ich habe das inverse Problem, OpenGL wird immer von Software gerendert und mein Laptop unterstützt Unity3D für Ubuntu 15.04 nicht. Ich habe eine hybride Intel-Nvidia-Grafik. Santi vor 8 Jahren 1
libgl1-mesa-swx11 ersetzt libgl1-mesa-glx nicht mehr. Daher müssen Sie bei der Installation eine Überschreibung konfigurieren, um sie verwenden zu können. Trotzdem empfehle ich, die Wiedergabe der LLVM-Pipe-Software mit "LIBGL_ALWAYS_SOFTWARE = ​​1" zu verwenden. Sie 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 ein ld.so-Hack verwendet wird, um die geladene libGL-Bibliothek zu überschreiben. Robert Wm Ruedisueli vor 8 Jahren 1
Funktioniert dies bei AMD-proprietären Treibern? Gibt es eine einfache Option für Nvidia? Daniel M Gessel vor 8 Jahren 2
Ich frage mich, warum `LIBGL_ALWAYS_SOFTWARE = ​​1` nicht mit installierten NVIDIA-Treibern +` libgl1-mesa-glx` funktionieren konnte, da mein Programm immer noch mit `/ usr / lib / x86_64-linux-gnu / libGL.so` verknüpft ist (bereitgestellt von `libgl1-mesa-dev`) und nicht` / usr / lib / nvidia-361 / libGL.so`, das anscheinend von Mesa mit `dlopen` geladen wird. Ubuntu 16.04. Ciro Santilli 新疆改造中心 六四事件 法轮功 vor 7 Jahren 0
1
Malte Clasen

Wenn es sich um Ihre eigene Anwendung handelt, können Sie auf die Software OpenGL-Implementierung Mesa3D zugreifen .