Como habilitar contextos GLX indiretos (+ iglx) no Ubuntu 14.04 LTS com nvidia gfx-cards

8

Estou executando um host linux para desenvolvimento de software Qt em um local central.

Com minha caixa de janelas, eu uso o Xming como um X-server local e putty para conectar a esse host linux. Com esta configuração eu posso usar todos os programas X (xclock, xterm) e GLX (qtcreator, gxlinfo, glxgears ...) no linux-host.

Minha estação de trabalho principal é um 14.04 LTS do Ubuntu com uma placa nvidia gfx. Quando eu me conecto ao host linux com meu sistema ubuntu usando "ssh -pport # -YC my.dev.host.com" eu também posso usar todos os programas X (xclock, xterm) mas eu não posso usar programas GLX (qtcreator, gxlinfo, glxgears ...).

Até onde eu aprendi isso é porque o X-server não suporta contextos GLX indiretos por padrão para a versão mais jovem 1.16.

Então, minhas perguntas são: Como posso ativar contextos GLX indiretos (X-server e nvidida driver) na minha instalação do 14.04 LTS do Ubuntu para fazer as coisas funcionarem como esperado de um X-server.

Obrigado por qualquer ajuda!

cmks

Aqui está a saída dos glxgears, talvez isso ajude:

[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
    
por cmks 12.03.2016 / 17:19

3 respostas

6

Eu tive um problema semelhante ao executar alguns aplicativos GL via 'ssh -X' e resolvi-o adicionando "+ iglx" ao xserver-command em /usr/share/lightdm/lightdm.conf.d/50-xserver- command.conf.

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

Depois disso, você reinicia ou Ctrl-Alt-F1, login e 'sudo service lightdm restart'.

Espero que isso ajude!

    
O
por Justin 17.03.2016 / 13:48
3

Uma maneira alternativa (e independente do gerenciador de exibição) de adicionar as opções é adicionar a seguinte seção ao /etc/X11/xorg.conf:

Section "ServerFlags"
    Option "IndirectGLX" "on"
EndSection
    
por user652430 08.02.2017 / 23:12
0

Eu estava tendo o mesmo problema ao executar um programa OpenGL personalizado em relação a ssh -X . A solução acima funcionou com uma ligeira modificação

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

Isso funcionou com o servidor Ubuntu 16.04 executando o kubuntu-desktop com o driver NVIDIA GTX 1070 e o driver binário NVIDIA instalado através do apt.

    
por Triradiate 07.07.2017 / 15:06