Después de la actualización, GLX solo funciona para root (nvidia)

Después de la actualización, GLX solo funciona para root (nvidia)

Hoy actualicé y glxdejé de funcionar para usuarios que no son 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

pero cuando lo ejecuto como root, todo está bien:

$ 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. pero se informó el mismo problema para opensuseaquí

$ 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

la única línea no comentada /etc/X11/Xwrapper.configes

allowed_users=console

y no hay ningún grupo o usuario con ese nombre.

Permisos de dispositivos 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

Respuesta1

Ésteresolvió el problema para mí:

Aparentemente, la única solución por el momento es bajar a la versión anterior del controlador (304.131).

Puede encontrar los controladores 304.131 para Ubuntu de esta manera:

  • ir ahttps://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-304/+publishinghistory
  • busque la versión que necesita y haga clic en el número de versión
  • En la página siguiente, busque en "Compilaciones" su versión de Ubuntu, luego haga clic en el enlace amd64o i386detrás del nombre de la versión.
  • En la página siguiente, busque en "Archivos compilados" el archivo .deb que comienza con "nvidia-304_304.131". Descarga ese archivo.
  • abra una terminal y ejecute sudo dpkg -i *path-to-downloaded-.deb-file* para instalar la versión descargada

luego simplemente bloquee la versión del paquete: sudo apt-mark hold nvidia-304. Cuando nvidia arregle su controlador, no olvide desbloquear el paquete:sudo apt-mark unhold nvidia-304

Respuesta2

Después de pasar horas en ese tema, finalmente logré que una configuración glx funcionara degradando nvidia-current (nvidia-304) de 132 a 131.

Otra queja de un tipo con sombrero de fieltro: https://devtalk.nvidia.com/default/topic/974456/f24-permission-problems-/?offset=3

Entonces esto parece confirmar el problema de la "distribución múltiple", relacionado con el error 1835736 rastreado por nvidia pero no documentado al momento de escribir este artículo.

Todavía se pueden obtener 304.131 debs para ubuntu desde: http://ubuntu.ip-connect.vn.ua/pool/restricted/n/nvidia-graphics-drivers-304/

Esto corregirá el problema de su 14.04.

Entonces :

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

Para habilitar todas las "actualizaciones de controladores que no sean de nvidia", y luego:

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

Volver a habilitar la "actualización del controlador nvidia" tan pronto como se haya lanzado un parche de distribución/nvidia.

Mis 2¢.

Respuesta3

nvidia-304.134resuelve este problema.

Quité la versión anterior del controlador nvidia a la que había degradado según otras respuestas aquí e instalé la actualización desde los repositorios de Ubuntu 14.04. Parece bien ahora.

información relacionada