我正在使用 Linux Mint。
我最近更新了我的工作站,从这一刻起,我的驱动程序变得疯狂。我之前使用驱动程序工作得很好nvidia-361
,当我完成更新并重新启动电脑后,il 正在“软件渲染模式”下运行。
我终于有了一个正确的桌面,但现在,我很确定该卡无法正常运行,因为我无法启动任何简单的 3D 游戏(例如 blazeRush,之前运行良好)。
这是一个结果lspci -vnnn
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF104 [GeForce GTX 460] [10de:0e22] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd GF104 [GeForce GTX 460] [1458:34fc]
Flags: bus master, fast devsel, latency 0, IRQ 124
Memory at dc000000 (32-bit, non-prefetchable) [size=32M]
Memory at d0000000 (64-bit, prefetchable) [size=128M]
Memory at d8000000 (64-bit, prefetchable) [size=64M]
I/O ports at e000 [size=128]
Expansion ROM at de000000 [disabled] [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [b4] Vendor Specific Information: Len=14 <?>
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nouveau
Kernel modules: nvidiafb, nouveau, nvidia_375_drm, nvidia_375
如您所见,使用的内核驱动程序是“nouveau”,但我想使用 nvidia_375 代替。我已经尝试像这样用 apt 进行清除
sudo apt purge *nvidia* xserver-xorg*nouveau* bbswitch*
但是当我这样做时,重新启动后,“nouveau”仍然在这里......我可以尝试再次安装专有驱动程序,但我将回到与清除之前相同的情况。
我已经没有选择了。
答案1
在尝试了不同的事情之后,这对我有用。如果有任何东西看起来没用,我将不胜感激任何建议或解释。
- 在我的例子中,从 nvidia 网站下载您想要使用的专有驱动程序:
NVIDIA-Linux-x86_64-375.39.run
- 进入非图形模式 (
ctrl-alt-f1
) - 终止您的图形进程 (
sudo service mdm stop
)。如果屏幕变黑,您可以使用其他计算机的远程连接 (ssh) 执行后续步骤,或再次执行步骤 1。 - 编辑你的 grub 文件
/etc/default/grub
并将其更改GRUB_CMD_LINE_DEFAULT
为这个
GRUB_CMDLINE_LINUX_DEFAULT="nouveau.blacklist=1 quiet splash"
- 清除您可以拥有的所有驱动程序,
nouveau
或者nvidia
(sudo apt-get purge xserver-xorg-video-nouveau libdrm-nouveau1a nvidia*
) - 更新您的 initramfs
sudo update-initramfs -u -k all
。这一步非常重要,但我理解不正确,所以欢迎您的评论 - 重启
- 返回非图形模式 (
ctrl-alt-f1
) - 终止你的图形进程 (
sudo service mdm stop
)。如果屏幕变黑,您可以使用远程连接 (ssh) 执行后续步骤或再次执行步骤 1。 - 以 root 模式 ( ) 运行下载的专有驱动程序文件
sudo ./NVIDIA-Linux-x86_64-375.39.run
并单击“是”,或“接受”所需的任何内容。 - 重新启动并享受
lspci -vnnn 现在应该是这样
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF104 [GeForce GTX 460] [10de:0e22] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd GF104 [GeForce GTX 460] [1458:34fc]
Flags: bus master, fast devsel, latency 0, IRQ 126
Memory at dc000000 (32-bit, non-prefetchable) [size=32M]
Memory at d0000000 (64-bit, prefetchable) [size=128M]
Memory at d8000000 (64-bit, prefetchable) [size=64M]
I/O ports at e000 [size=128]
[virtual] Expansion ROM at de000000 [disabled] [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [b4] Vendor Specific Information: Len=14 <?>
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_375_drm, nvidia_drm, nvidia_375, nvidia
您可以看到正在使用的内核驱动程序现在引用 nvidia 而不是 nouveau
答案2
显卡没问题。您的游戏滞后的原因是软件渲染模式意味着操作系统在没有专用 GPU 功率的情况下运行,因此它当然会滞后,因为只使用内部图形芯片。
对您来说,悲伤的消息是,这是 NVIDIA 驱动程序问题,我在许多 Linux 操作系统上也遇到过这个问题。除了更改为以前的工作方法之外,您现在无法做太多事情。