it-swarm.com.de

So aktivieren Sie indirekte GLX-Kontexte (+ iglx) in Ubuntu 14.04 LTS mit nvidia gfx-Karten

Ich betreibe einen Linux-Host für die Qt-Software-Entwicklung an zentraler Stelle.

Mit meiner Windows-Box verwende ich Xming als lokalen X-Server und PuTTY, um eine Verbindung zu diesem Linux-Host herzustellen. Mit dieser Konfiguration kann ich alle X (xclock, xterm) und GLX (qtcreator, gxlinfo, glxgears ...) Programme auf dem Linux-Host verwenden.

Meine Hauptarbeitsstation ist ein Ubuntu 14.04 LTS mit einer NVIDIA-Grafikkarte. Wenn ich mit meinem Ubuntu-System über "ssh -p port # -YC my.dev.Host.com" eine Verbindung zum Linux-Host herstelle, kann ich auch Alle X-Programme (xclock, xterm), aber ich können keine GLX-Programme (qtcreator, gxlinfo, glxgears ...) verwenden.

Soweit ich gelernt das liegt daran, dass der X-Server keine indirekten GLX-Kontexte standardmäßig für Version 1.16 unterstützt.

Meine Fragen lauten also: Wie kann ich indirekte GLX-Kontexte (X-Server und Nvidida-Treiber) in meiner Ubuntu 14.04 LTS-Installation aktivieren, damit die Dinge von einem X-Server erwartungsgemäß funktionieren.

Vielen Dank für jede Hilfe!

cmks

Hier ist die Ausgabe von glxgears, vielleicht hilft das:

[email protected]:~# LIBGL_DEBUG=verbose glxgears 
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  35
  Current serial number in output stream:  37
9
cmks

Ich hatte ein ähnliches Problem beim Ausführen einiger GL Anwendungen über 'ssh -X' und löste es, indem ich "+ iglx" zum xserver-Befehl in /usr/share/lightdm/lightdm.conf.d/50 hinzufügte -xserver-command.conf.

[SeatDefaults]
# Dump core
xserver-command=X -core +iglx

Danach starten Sie entweder neu oder drücken Strg-Alt-F1, melden sich an und starten den Sudo-Dienst lightdm neu.

Ich hoffe das hilft!

8
Justin

Eine alternative (und vom Display-Manager unabhängige) Möglichkeit, die Optionen hinzuzufügen, ist das Hinzufügen des folgenden Abschnitts zu /etc/X11/xorg.conf:

Section "ServerFlags"
    Option "IndirectGLX" "on"
EndSection
4
user652430

Ich hatte das gleiche Problem beim Ausführen eines benutzerdefinierten OpenGL-Programms über ssh -X. Die obige Lösung arbeitete mit einer geringfügigen Modifikation

Section "ServerFlags"  
    Option "AllowIndirectGLX" "on"  
    Option "IndirectGLX" "on"  
EndSection  

Dies funktionierte mit einem Ubuntu 16.04-Server, auf dem kubuntu-desktop mit einer NVIDIA GTX 1070-GPU und einem über apt installierten NVIDIA-Binärtreiber ausgeführt wurde.

0
Triradiate