Debian安装NVIDIA驱动
系统一般自带开源驱动nouveau, 其性能不如NVIDIA官方驱动。然而安装NVIDIA官方驱动的过程是十分坎坷的。
1 识别显卡型号
lshw -numeric -C display2 预安装操作
安装当前运行内核的内核头文件和开发包:
sudo apt-get install linux-headers-$(uname -r)编译和安装NVIDIA驱动程序需要以下先决条件:
sudo apt install build-essential libglvnd-dev pkg-config如果想使用32位兼容性库应用, 比如Steam, 则需要:
sudo dpkg --add-architecture i386 sudo apt update sudo apt install libc6:i386
3 禁用Nouveau
创建文件
/etc/modprobe.d/blacklist-nouveau.conf, 内容如下:blacklist nouveau options nouveau modeset=0写在
/etc/modprobe.d/blacklist.conf里也可以生效, 不过视系统而定。重新生成内核initramfs:
sudo update-initramfs -u
4 检查NVIDIA是否卸载完全
可以通过这些命令查看, 应该都提示找不到或者没有nvidia就算卸载好了:
cat /proc/driver/nvidia/version nvidia-smi dkms status lsmod | grep nvidia如果之前是编译run包安装的, 可以使用
sudo ./NVIDIA_....run --uninstall卸载, 或者
sudo /usr/bin/nvidia-uninstall如果
dkms status有驱动, 则使用dkms remove nvidia/418.102.04 --all卸载, 注意这里版本号要与
dkms staus输出的信息一致。不放心的话, 可以再执行
apt purge *nvidia*。如果卸载了所有驱动,proc/driver目录下还是有nvidia的东西, 重启即可 (实在不行手动删除)。
5 TTY下安装NVIDIA驱动
如果设备只有一个NVIDIA显卡, 禁用nouveau后, 再重启可能就没有图形界面了;如果还有一个Intel集成显卡, 则开机还有图形界面。
有几种方法进入tty:
- 开机时按
Ctrl+Alt+F2进入 - Ubuntu需要在grub进入recover模式, 选择root用户操作。
- 终端输入
sudo init 3或sudo telinit 3进入。 (输入sudo init 5或sudo telinit 5恢复平常的图形界面)
进入tty后, 使用以下命令排除影响:
sudo systemctl isolate multi-user.target
sudo lsof /dev/nvidia* | grep -v PID | grep -v lsof | awk '{print $2}' | xargs sudo kill -9
modprobe -r nouveau5.1 从源安装驱动
首先安装NVIDIA官方驱动, 参考Debian WiKi
对于Debian:
apt install nvidia-driver firmware-misc-nonfree对于Ubuntu, 使用
ubuntu-drivers devices查看系统推荐的版本, 然后安装指定版本, 比如:sudo apt install nvidia-driver-470如果源中没有, 需要手动添加PPA源:
sudo add-apt-repository ppa:graphics-drivers/ppa
5.2 编译安装NVIDIA官网run包
除了从源直接安装驱动, 也可以到NVIDIA官网下载run包, 手动编译安装, NVIDIA run包编译安装指南
切换到run包所在目录, 赋予run包可执行权限, 然后sh NVIDIA_....run。
6 可能遇到的问题
可能遇到的问题相当之多, 参考neucrack
7 使用Prime切换显卡
sudo nvidia-prime切换Intel显卡:
sudo prime-select intel切换NVIDIA显卡:
sudo prime-select nvidia查看正在运行的显卡:
prime-select query