我已在我的系统 (Ubuntu 16.04) 上安装了 nvidia-367。由于我不知道的原因,重新启动 lightdm 服务会导致修改/etc/alternatives/x86_64-linux-gnu_gl_conf
。
我手动运行:
root@tron:~# 更新替代方案 --config x86_64-linux-gnu_gl_conf 替代 x86_64-linux-gnu_gl_conf(提供 /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf)有 3 个选择。 选择路径优先级状态 ------------------------------------------------------------ 0 /usr/lib/nvidia-367/ld.so.conf 8604 自动模式 1 /usr/lib/nvidia-367-prime/ld.so.conf 8603 手动模式 2 /usr/lib/nvidia-367/ld.so.conf 8604 手动模式 * 3 /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf 500 手动模式 按保留当前选择[*],或输入选择编号:0 update-alternatives:使用 /usr/lib/nvidia-367/ld.so.conf 在自动模式下提供 /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf)
最终结果service lightdm restart
如下:
替代 x86_64-linux-gnu_gl_conf(提供 /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf)有 3 个选择。 选择路径优先级状态 ------------------------------------------------------------ * 0 /usr/lib/nvidia-367/ld.so.conf 8604 自动模式 1 /usr/lib/nvidia-367-prime/ld.so.conf 8603 手动模式 2 /usr/lib/nvidia-367/ld.so.conf 8604 手动模式 3 /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf 500 手动模式 按保留当前选择[*],或输入选择编号:
再次。问题是,由于错误的ld.so.conf
nvidia 驱动程序无法加载:
/var/log/Xorg.0.log
:
[ 1649.307](II)加载模块:“nvidia” [ 1649.308](WW)警告,无法打开模块 nvidia [ 1649.308] (II)卸载模块:“nvidia” [ 1649.308] (II)卸载 nvidia [ 1649.308](EE)无法加载模块“nvidia”(模块不存在,0)
知道重启会触及这些替代设置的原因、位置和内容吗?
root@tron:~# dpkg -s nvidia-367 | grep ‘版本’ 版本:367.57-0ubuntu0.16.04.1 root@tron:~# dpkg -s lightdm | grep '版本' 版本:1.18.3-0ubuntu1
PS:我已经尝试清除 nvidia* 并重新安装驱动程序,但没有成功。
答案1
更新到最新的 Ubuntu 16.04.2 后,我的 Dell Vostro 1500(GeForce 8400M GS,驱动程序)也遇到了同样的问题nvidia-340
。我花了将近一天的时间才找到原因。
后来
- 将替代方案重新设置为自动(即 nvidia 专有驱动程序)
- 运行 ldconfig
- 并手动插入 DRI 模块(
sudo modprobe nvidia_340 nvidia_340_uvm nvidiafb
)
startx
从命令行运行正确启动了 X和专有驱动程序。此外,显示管理器在手动运行时(不是作为 systemd 服务)也使用专有驱动程序。
经过进一步调查,发现罪魁祸首是/usr/bin/gpu-manager
(run via /lib/systemd/system/gpu-manager.service
)。它的日志/var/log/gpu-manager.log
显示:
Looking for nvidia modules in /lib/modules/4.4.0-72-generic/updates/dkms
Found nvidia module: nvidia_340_uvm.ko
Is nvidia loaded? yes
Was nvidia unloaded? no
Is nvidia blacklisted? yes
并最终更新了 的替代方案mesa/ld.so.conf
。
从这一点开始,很容易发现该nvidia-340
模块确实被列入了黑名单/etc/modprobe.d/bumblebee.conf
这显然是前一个驱动程序遗留下来的nvidia-304
,它正在使用bumblebee
。该nvidia-340
驱动程序不使用bumblebee
。
简单来说删除 /etc/modprobe.d/bumblebee.conf
解决了这个问题。另一种选择是清除删除以前的 nvidia 驱动程序安装,如其他教程所述。显然,我还没有充分清除以前的驱动程序安装……