我在使用 Linux Mint 18 (MATE)。
大约一周前,我犯了一个非常严重的错误,允许更新管理器帮我更新软件包,从那以后我就无法让我的图形正常工作了。
经过大量努力和阅读其他超级用户的问题后,我:
- 清除所有 Nvidia 软件包
- 重新安装 nvidia-384 包
- 加上一些相关的软件包,
nvidia-settings
例如nvidia-prime
- (Prime 是针对像我这样的既有内置英特尔显卡又有独立 NVidia 显卡的电脑的功能;应该让我能够以智能的方式使用两者,但目前我只想 100% 的时间使用 Nvidia 卡)
- 加上一些相关的软件包,
- 运行
sudo update-alternatives --config x86_64-linux-gnu_gl_conf
并选择 Nvidia(这似乎并不重要;无论我选择什么,它都会在我重启后重置) - 运行
nvidia-xconfig
以生成新的 xorg.conf - 我甚至编辑了我的 GRUB 配置,以便它不会选择 Noveau 驱动程序:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash noveau.modset=0"
但我的电脑仍然拒绝使用 Nvidia 驱动程序,或者至少拒绝完全使用。如果我运行以下命令,它们会正常工作:
lspci | grep -i nvidia
我得到:
01:00.0 VGA compatible controller: NVIDIA Corporation GK104M [GeForce GTX 870M] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GK104 HDMI Audio Controller (rev a1)
(之前没有列出任何内容)。如果我运行:
sudo update-alternatives --config x86_64-linux-gnu_gl_conf
它看到Nvidia 选项,但无论我选择多少次,重新启动后它都会恢复为 Mesa 选项:
There are 3 choices for the alternative x86_64-linux-gnu_gl_conf (providing /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/nvidia-384/ld.so.conf 8604 auto mode
1 /usr/lib/nvidia-384-prime/ld.so.conf 8603 manual mode
2 /usr/lib/nvidia-384/ld.so.conf 8604 manual mode
* 3 /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf 500 manual mode
但是当我运行它时nvidia-settings
它只是告诉我ERROR: Unable to load info from any available system
,如果我sudo prime-select query
在重启后运行它只会显示“未知”。然后我可以运行它sudo prime-select nvidia
并且它会选择 Nvidia ... 但是然后(像替代文件一样)它会在下次重启后回到未知状态。
所以,我觉得我已经很接近了,我只需要做某物让我的电脑既能使用 Nvidia 驱动程序,更重要的是,在重启后继续使用它。有人能帮忙吗?
PS 我能判断 NVidia 驱动程序未被使用的另一种方法是,我看不到插入 Nvidia 卡的第二台显示器(如果算上笔记本电脑显示器,则是第三台显示器);我只能看到笔记本电脑和显示器 #1。当 Nvidia 卡工作时,我可以看到两个显示器。
PPS 我还尝试使用 从备选列表中删除 MESA 驱动程序sudo update-alternatives --remove x86_64-linux-gnu_gl_conf /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf
,但没有帮助。现在当我运行sudo update-alternatives --config x86_64-linux-gnu_gl_conf
它时,它声称/usr/lib/nvidia-390/ld.so.conf
正在使用,但当我尝试运行nvidia-settings
它时,它却声称不是这样:
ERROR: NVIDIA driver is not loaded
ERROR: Unable to load info from any available system
答案1
这最终成为了最奇怪的事情。在某个随机论坛帖子中,有人建议 BIOS 中的安全启动设置可能会导致问题,所以我重新启动,进入 BIOS 设置,果然它已打开。我将其关闭,继续启动,然后突然一切都恢复正常。