服务 lightdm 修改 /etc/alternatives/x86_64-linux-gnu_gl_conf

服务 lightdm 修改 /etc/alternatives/x86_64-linux-gnu_gl_conf

我已在我的系统 (Ubuntu 16.04) 上安装了 nvidia-367。由于我不知道的原因,重新启动 lig​​htdm 服务会导致修改/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.confnvidia 驱动程序无法加载:

/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 驱动程序安装,如其他教程所述。显然,我还没有充分清除以前的驱动程序安装……

相关内容