我的 Linux PC 有一个 Nvidia GPU。我以前是通过包来管理显卡驱动的nvidia-driver
。然而库存有点落后,所以我决定自己安装最新的英伟达。
我使脚本可执行。
chmod +x NVIDIA-Linux-x86_64-535.98.run
我运行了脚本,但出现错误。
NVIDIA-Linux-x86_64-535.98.run
ERROR: An NVIDIA kernel module 'nvidia-uvm' appears to already be loaded in your kernel. This may be because it is in use (for example, by an X server, a CUDA program, or the NVIDIA Persistence Daemon), but this may also happen if your kernel was configured without support for module unloading. Please be sure to exit any programs that may be using the GPU(s) before attempting to upgrade your driver. If no GPU-based programs are running, you know that your kernel supports module unloading, and you still receive this message, then an error may have occurred that has corrupted an NVIDIA kernel module's usage count, for which the simplest remedy is to reboot your computer.
我按 ctrl+alt+f2 切换到 tty,然后以 root 身份登录。然后我禁用了 GUI 并卸载了nvidia-drm
.
systemctl isolate multi-user.target
modprobe -r nvidia-drm
我第二次运行该脚本,但这次我收到一条消息,告诉我 nvidia debian 软件包与此方法不兼容,因此应首先卸载。所以我删除了 nvidia debian 软件包以防止冲突。
sudo apt purge nvidia*
我再次运行了脚本。
NVIDIA-Linux-x86_64-535.98.run
现在脚本运行良好。然后我重新启动看看它是否有效。
reboot
它启动到 GUI 很好,但在启动过程中我看到一条错误消息:
nouveau 0000:08:00.0: unknown chipset
我检查了哪个驱动程序正在运行,并确认新安装的 nvidia 驱动程序正在运行。
lshw -c video
*-display
description: VGA compatible controller
product: GA102 [GeForce RTX 3080]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:08:00.0
...
尽管我从未激活过 nouveau,但为什么会在启动时加载它?怎么才能让消息不显示呢?