今天我更新并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)。
您可以通过以下方式找到 Ubuntu 的 304.131 驱动程序:
- 去https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-304/+publishinghistory
- 找到您需要的版本,然后点击版本号
- 在下一页上,在“Builds”下查找您的 Ubuntu 版本,然后单击版本名称后面的
amd64
或链接i386
- 在下一页上,在“构建文件”下查找以“nvidia-304_304.131”开头的 .deb 文件。下载该文件。
- 打开终端并运行
sudo dpkg -i *path-to-downloaded-.deb-file*
以安装下载的版本
稍后只需锁定软件包版本:sudo apt-mark hold nvidia-304
。当 nvidia 修复其驱动程序时,不要忘记解锁软件包:sudo apt-mark unhold nvidia-304
答案2
在花了几个小时解决这个问题后,我终于成功地通过将 nvidia-current (nvidia-304) 从 132 降级到 131 来使 glx 设置正常工作。
另一位来自软帽人的抱怨: https://devtalk.nvidia.com/default/topic/974456/f24-permission-problems-/?offset=3
因此,这似乎证实了“多发行版”问题,该问题与 nvidia 跟踪的 bug 1835736 有关,但在撰写本文时尚未记录。
ubuntu 的 304.131 deb 仍然可以从以下位置获取: 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 的存储库安装了更新。现在看来不错。