Após a atualização, o GLX funciona apenas para root (nvidia)

4

Hoje eu atualizei e glx parou de trabalhar para usuários não-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

mas quando eu executo como root, tudo é bom:

$ 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. mas o mesmo problema foi relatado para opensuse aqui

$ 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

a única linha não comentada de /etc/X11/Xwrapper.config é

allowed_users=console

e não há grupo ou usuário com esse nome.

permissões 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
    
por piotrek 05.11.2016 / 01:00

3 respostas

4

este resolveu o problema para mim:

Apparently the only solution at the moment is to downgrade to the previous driver version (304.131).

You can find the 304.131 drivers for Ubuntu this way:

  • go to https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-304/+publishinghistory
  • look for the version you need, and click on the version number
  • on the next page, look under "Builds" for your Ubuntu release, then click on the amd64 or i386 link behind the release name
  • on the next page, look under "Built files" for the .deb file starting with "nvidia-304_304.131". Download that file.
  • open a terminal and run sudo dpkg -i *path-to-downloaded-.deb-file* to install the downloaded version

mais tarde, basta bloquear a versão do pacote: sudo apt-mark hold nvidia-304 . Quando a nvidia consertar seu driver, não esqueça de desbloquear o pacote: sudo apt-mark unhold nvidia-304

    
por 08.11.2016 / 03:07
3

Depois de passar horas com esse problema, eu finalmente consegui fazer um setup glx trabalhando com downgrade nvidia-current (nvidia-304) de 132 para 131.

Outra queixa de um cara fedora: link

Portanto, isso parece confirmar o problema da "multi distro", relacionado com o bug 1835736, rastreado pela nvidia, mas não documentado no momento em que este texto foi escrito.

304.131 debs para o Ubuntu ainda podem ser obtidas de: link

Isto irá corrigir o problema para o seu 14.04.

Então:

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

Para ativar todas as "atualizações do driver que não sejam nvidia" e, em seguida:

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

Para reativar a "atualização do driver nvidia" assim que um patch distro / nvidia for lançado.

Meus 2 ¢.

    
por 06.11.2016 / 00:18
2

nvidia-304.134 resolve esse problema.

Eu retirei a versão antiga do driver da nvidia que baixei para outras respostas aqui e instalei a atualização dos repositórios do Ubuntu 14.04. Parece bom agora.

    
por 18.01.2017 / 20:19