Как включить косвенные контексты GLX (+ iglx) в Ubuntu 14.04 LTS с nvidia gfx-cards

Я запускаю Linux-хост для разработки Qt-программного обеспечения в центральном месте.

С моим окном окна я использую Xming в качестве локального X-сервера и шпатлевки для подключения к этому Linux-хосту , С этой конфигурацией я могу использовать все программы X (xclock, xterm) и GLX (qtcreator, gxlinfo, glxgears ...) на Linux-хосте.

Моя основная рабочая станция - это Ubuntu 14.04 LTS с nvidia gfx card. Когда я подключаюсь к Linux-хосту с помощью моей ubuntu-системы с помощью «ssh -p port # -YC my.dev.host.com», я также могу использовать все программы X (xclock, xterm), но я не могу использовать программы GLX (qtcreator, gxlinfo, glxgears ...).

Насколько я узнал, это связано с тем, что X-сервер не поддерживает косвенные GLX-контексты по умолчанию для версии младше 1.16.

Итак, мой Вопросы ist: Как я могу включить косвенные GLX-контексты (драйвер X-server и nvidida) в моей установке Ubuntu 14.04 LTS, чтобы получить работу, как ожидалось, с X-сервера.

Спасибо за любую помощь!

cmks

Вот результат работы glxgears, возможно, это помогает:

root@my.dev.host.com:~# 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
1
задан 12 March 2016 в 20:19

2 ответа

Альтернативный (и независимый от диспетчера отображения) способ добавить параметры - добавить следующий раздел в /etc/X11/xorg.conf:

Section "ServerFlags"
    Option "IndirectGLX" "on"
EndSection
3
ответ дан 23 May 2018 в 12:54
  • 1
    Мой xorg.conf постоянно перезаписывается каждый раз, когда я перезапускаю lightdm. – ArcaneDominion 8 December 2017 в 14:04

У меня была такая же проблема, что и обычная программа OpenGL над ssh -X. Вышеупомянутое решение работало с небольшой модификацией

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

Это работало с сервером ubuntu 16.04, на котором запущен kubuntu-desktop с графическим процессором NVIDIA GTX 1070 и бинарным драйвером NVIDIA, установленным через apt.

0
ответ дан 23 May 2018 в 12:54
  • 1
    Добро пожаловать в Ask Ubuntu! Я рекомендую изменить этот ответ, чтобы развернуть его с подробной информацией о том, где его добавить. (См. Также Как написать хороший ответ? для общих советов о том, какие ответы наиболее ценны в Ask Ubuntu.) – David Foerster 7 July 2017 в 16:10
  • 2
    Кажется, что правильная настройка - Option "IndirectGLX" "on" . Согласно этому , enableIndirectGLX должен оценивать значение TRUE, поэтому ошибка BadValue не возвращается. По умолчанию: FALSE = -iglx (в командной строке). Итак, любой из опций: +iglx вариант командной строки, OR IndirectGLX "on" или эквивалент "правдивый" значение – TrinitronX 13 January 2018 в 09:59
  • 3
    Документы Nvidia для двоичных драйверов говорят, что для одного и того же объекта есть еще один параметр AllowIndirectGLXProtocol . Однако их документы несколько сбивают с толку, потому что они упоминают, что ошибка BadValue будет возвращена с именем параметра как AllowIndirectGLXProtocol = "true". Это полностью противоположно тому, что они говорят позже "The NVIDIA GLX implementation will prohibit creation of indirect GLX contexts if AllowIndirectGLXProtocol option is set to False.". Так что это сбивает с толку, и, может быть, документы ошибаются? – TrinitronX 13 January 2018 в 10:28

Другие вопросы по тегам:

Похожие вопросы: