После обновления GLX работает только для root (nvidia)

После обновления GLX работает только для root (nvidia)

Сегодня я сделал обновление и glxоно перестало работать для пользователей без прав root:

$ glxinfo
name of display: :0
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:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  81
  Current serial number in output stream:  82

но когда я запускаю его как root, все хорошо:

$ sudo glxinfo
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
...
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 430/PCIe/SSE2
OpenGL core profile version string: 4.2.0 NVIDIA 304.132
OpenGL core profile shading language version string: 4.20 NVIDIA via Cg compiler
...

ubuntu 14.04. но та же проблема была обнаружена для opensuseздесь

$ uname -a
Linux xxx 4.4.0-45-generic #66~14.04.1-Ubuntu SMP Wed Oct 19 15:05:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

единственная не прокомментированная строка - /etc/X11/Xwrapper.configэто

allowed_users=console

и нет группы или пользователя с таким именем.

Разрешения для устройств nvidia:

$ ls -l /dev/nvid*
crw-rw-rw- 1 root root 195,   0 lis  5 00:24 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 lis  5 00:24 /dev/nvidiactl

решение1

Вот этотрешил проблему для меня:

По-видимому, единственным решением на данный момент является откат к предыдущей версии драйвера (304.131).

Драйверы 304.131 для Ubuntu можно найти следующим образом:

  • идти кhttps://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-304/+publishinghistory
  • найдите нужную вам версию и нажмите на номер версии
  • На следующей странице найдите в разделе «Сборки» свой релиз Ubuntu, затем нажмите на ссылку amd64или i386за названием релиза.
  • На следующей странице в разделе «Созданы файлы» найдите файл .deb, начинающийся с «nvidia-304_304.131». Загрузите этот файл.
  • откройте терминал и запустите sudo dpkg -i *path-to-downloaded-.deb-file* установку загруженной версии

позже просто заблокируйте версию пакета: sudo apt-mark hold nvidia-304. когда nvidia исправит свой драйвер, не забудьте разблокировать пакет:sudo apt-mark unhold nvidia-304

решение2

Потратив несколько часов на решение этой проблемы, мне наконец удалось заставить работать настройку GLX, понизив версию nvidia-current (nvidia-304) со 132 до 131.

Еще одна жалоба от любителя фетровой шляпы: https://devtalk.nvidia.com/default/topic/974456/f24-permission-problems-/?offset=3

Таким образом, это, похоже, подтверждает проблему «нескольких дистрибутивов», связанную с ошибкой 1835736, отслеживаемой nvidia, но не задокументированной на момент написания этой статьи.

304.131 deb для Ubuntu все еще можно получить здесь: http://ubuntu.ip-connect.vn.ua/pool/restricted/n/nvidia-graphics-drivers-304/

Это исправит проблему для вашего 14.04.

Затем :

aptitude hold nvidia-opencl-icd-304 nvidia-current nvidia-304 nvidia-304-dev nvidia-304-updates nvidia-304-updates-dev libcuda1-304

Чтобы включить все «обновления драйверов не-Nvidia», а затем:

aptitude unhold nvidia-opencl-icd-304 nvidia-current nvidia-304 nvidia-304-dev nvidia-304-updates nvidia-304-updates-dev libcuda1-304

Чтобы повторно включить «обновление драйвера nvidia» сразу после выпуска дистрибутива/патча nvidia.

Мои 2 цента.

решение3

nvidia-304.134решает эту проблему.

Я отключил старую версию драйвера nvidia, на которую я откатился согласно другим ответам здесь, и установил обновление из репозиториев для Ubuntu 14.04. Теперь все хорошо.

Связанный контент