Wymuś renderowanie OpenGL oparte na oprogramowaniu

11

Jak zmusić aplikację do korzystania z renderowania OpenGL opartego na oprogramowaniu w systemie Ubuntu?

Konstabl
źródło
O jakiej aplikacji mówimy?
Bobby

Odpowiedzi:

20

Jeśli korzystasz z Mesa libGL, możesz na stałe włączyć renderowanie oprogramowania, uruchamiając:

sudo apt-get install libgl1-mesa-swx11

Spowoduje to usunięcie libgl1-mesa-glxakcelerowanych sprzętowo bibliotek Mesa i zainstalowanie mechanizmu renderującego tylko oprogramowanie.

Alternatywnie możesz ustawić LIBGL_ALWAYS_SOFTWARE=1, co wpłynie tylko na programy uruchomione z tą zmienną środowiskową, a nie na cały system.

Obie te zmiany mogą nie działać, jeśli używasz binarnych sterowników NVidia, które dostarczają własne libGL.

efemeryczny
źródło
1
Cześć, gdzie mogę ustawić tę zmienną LIBGL_ALWAYS_SOFTWARE = ​​1? Mam odwrotny problem, OpenGL jest zawsze renderowany programowo, a mój laptop nie obsługuje Unity3D dla Ubuntu 15.04. Mam hybrydową grafikę Intel-Nvidia.
Santi
1
libgl1-mesa-swx11 nie zastępuje już libgl1-mesa-glx. Dlatego podczas instalacji musisz skonfigurować przesłonięcie, aby z niego korzystać. Mimo to polecam korzystanie z renderowania oprogramowania LLVM-Pipe przy użyciu „LIBGL_ALWAYS_SOFTWARE = ​​1” Jest znacznie szybszy i wykorzystuje nowszy sprzęt. Użytkownicy sterowników nvidia i amd mogą również wymusić użycie potoku oprogramowania mesa, jeśli mesa jest zainstalowany, za pomocą hacka ld.so w celu przesłonięcia załadowanej biblioteki libGL.
Robert Wm Ruedisueli,
2
Czy działa to na zastrzeżonych sterownikach AMD? Czy na Nvidii jest łatwa opcja?
Daniel M Gessel
Zastanawiam się, dlaczego LIBGL_ALWAYS_SOFTWARE=1nie można zmusić go do pracy ze sterownikami NVIDIA zainstalowanymi + libgl1-mesa-glx, skoro mój program jest nadal powiązany /usr/lib/x86_64-linux-gnu/libGL.so(dostarczony przez libgl1-mesa-dev) i nie /usr/lib/nvidia-361/libGL.so, co wydaje się być załadowane dlopenprzez Mesa. Ubuntu 16.04.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
1

Jeśli chodzi o twoją własną aplikację, możesz połączyć się z implementacją oprogramowania OpenGL Mesa3D .

Malte Clasen
źródło