我使用手动安装的 NVIDIA 361 驱动程序运行 Ubuntu 16.04 LTS。将驱动程序升级到 v367 后,我现在通过登录循环被 Unity 锁定,在.xsession-errors 中出现以下错误:
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: 32
Current serial number in output stream: 33
openConnection: connect: No such file or directory
cannot connect to brltty at :0
Run Code Online (Sandbox Code Playgroud)
我还在Xorg日志中发现了这一点:
[ 2312.921302] NVRM: Your system is not currently configured to drive a VGA console
[ 2312.921304] NVRM: on the primary VGA device. The NVIDIA Linux graphics driver
[ 2312.921305] NVRM: requires the use of a text-mode VGA console. Use of other console
[ 2312.921305] NVRM: drivers including, but not limited to, vesafb, may result in
NVRM: make sure that this kernel module and all NVIDIA driver
Run Code Online (Sandbox Code Playgroud)
然后进一步向下:
[ 2850.609] (II) NOUVEAU driver Date: Tue Dec 8 15:52:25 2015 +1000
[ 2850.609] (II) NOUVEAU driver for NVIDIA chipset families :
[ 2850.706] (EE) [drm] Failed to open DRM device for (null): -22
[ 2850.706] (EE) [drm] Failed to open DRM device for (null): -22
[ 2850.706] (EE) [drm] Failed to open DRM device for pci:0000:02:00.0: -22
[ 2850.706] (EE) No devices detected.
[ 2850.706] (II) Applying OutputClass "nvidia" to /dev/dri/card0
[ 2850.706] loading driver: nvidia
[ 2850.706] (==) Matched nvidia as autoconfigured driver 0
[ 2850.706] (==) Matched nvidia as autoconfigured driver 1
[ 2850.706] (==) Matched nouveau as autoconfigured driver 2
[ 2850.706] (==) Matched nvidia as autoconfigured driver 3
[ 2850.706] (==) Matched nouveau as autoconfigured driver 4
[ 2850.706] (==) Matched vesa as autoconfigured driver 7
[ 2850.706] (II) LoadModule: "nvidia"
[ 2850.706] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[ 2850.708] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 2850.708] (II) LoadModule: "nouveau"
[ 2850.708] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[ 2850.708] (II) Module nouveau: vendor="X.Org Foundation"
[ 2850.708] (II) UnloadModule: "nouveau"
[ 2850.708] (II) Unloading nouveau
[ 2850.708] (II) Failed to load module "nouveau" (already loaded, 21886)
[ 2850.709] (II) LoadModule: "vesa"
[ 2850.709] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[ 2850.709] (II) Module vesa: vendor="X.Org Foundation"
[ 2850.709] (II) NOUVEAU driver Date: Tue Dec 8 15:52:25 2015 +1000
[ 2850.709] (II) NOUVEAU driver for NVIDIA chipset families :
[ 2850.709] (II) NVIDIA dlloader X Driver 364.19 Tue Apr 19 13:48:55 PDT 2016
[ 2850.709] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 2850.709] (II) VESA: driver for VESA chipsets: vesa
[ 2850.709] (WW) xf86OpenConsole: setpgid failed: Operation not permitted
[ 2850.709] (WW) xf86OpenConsole: setsid failed: Operation not permitted
[ 2850.709] (EE) [drm] Failed to open DRM device for (null): -22
[ 2850.709] (EE) [drm] Failed to open DRM device for (null): -22
[ 2850.709] (EE) [drm] Failed to open DRM device for (null): -22
[ 2850.709] (EE) [drm] Failed to open DRM device for pci:0000:02:00.0: -22
[ 2850.709] (EE) [drm] Failed to open DRM device for pci:0000:02:00.0: -22
Run Code Online (Sandbox Code Playgroud)
对此错误消息的网络搜索不会产生很多相关结果。
我试过降级到 v364,然后再回到 v361 无济于事 我试过清除 xserver-xorg、xserver-xorg-core、nvidia*、lightdm 无济于事
完全重新格式化和重新安装会产生巨大的破坏性,我想不惜一切代价避免这种情况。
.xsession-errors 中的错误消息始终保持不变。如何在不完全重新格式化和重新安装的情况下清除/恢复/重置我的设置和/或包和/或库到正常状态?
小智 8
添加+iglx到/usr/share/lightdm/lightdm.conf.d/50-xserver-command.conf.
[SeatDefaults]
# Dump core
xserver-command=X -core +iglx
Run Code Online (Sandbox Code Playgroud)
之后,您可以重新启动或 Ctrl-Alt-F1、登录和sudo service lightdm restart.
奇迹般有效
我解决了这个问题。虽然我尝试手动卸载手动安装的 361 驱动程序,但它未能清除所有共享对象,因此我遇到的本质上是一个库问题。
使用清除所有 NVIDIA 软件包后apt,我解决了以下问题:
通过运行以下命令找到所有 361 驱动程序共享对象文件,不包括任何垃圾文件夹、主文件夹和 Steam 游戏文件夹:
locate so.361.45 | egrep -vi "trash|steam|^/home"
Run Code Online (Sandbox Code Playgroud)删除可疑的共享对象文件(有些包含单词,nvidia而有些只包含nv)。
运行ldconfig。
运行ldd $( which glxinfo )。
检查输出ldd并确保没有任何条目指向任何陈旧的 NVIDIA 361.45 共享对象。
重启。
通过 安装 NVIDIA 364 驱动程序apt。
重启。
| 归档时间: |
|
| 查看次数: |
12459 次 |
| 最近记录: |