查看当前显卡驱动
lspci | grep -i vga | awk '{print $1}' # 找到显卡的Bus-Id
07:00.0
lspci -s 07:00.0 -v # 指定Bus-Id 查看详细信息
07:00.0 ...
...
Kernel driver in use: nouveau
...
驱动安装流程
尝试Kali Linux的官方教程,失败,安装后分辨率只有1024x768,且无其他分辨率可选,无法识别第二块屏幕
随后采用下面的方法安装成功!
1. 清理之前装过的NVIDIA驱动
sudo /usr/bin/nvidia-uninstall
sudo apt-get --purge remove "*nvidia*"
2. 禁用nouveau驱动
sudo cat > /etc/modprobe.d/nouveau-blacklist.conf
blacklist nouveau
options nouveau modeset=0
sudo update-initramfs -u
sudo reboot -f # 重启后应该无法进入图形界面了
3. 从官网下载驱动安装脚本(.run
),执行脚本安装
内核模块
内核模块(modules)一般都在/lib/modules/内核版本/kernel/
(或/usr/lib?)下面
modinfo /lib/modules/$(uname -r)/kernel/drivers/video/nvidia.ko | grep ^version # 打印当前内核的nvidia驱动版本
find /lib/modules -name nvidia.ko # 直接搜索模块
dkms
内核版本变动,会导致一些模块失效。
通过dkms重新加载nvidia驱动模块:
sudo dkms install -m nvidia -v 455.23.04
查看用dkms添加的模块:
dkms status
安装的模块路径:
/var/lib/dkms/nvidia/455.23.04/5.4.0-72-generic/x86_64/module
/lib/modules/5.4.0-72-generic/updates/dkms/
参考资料:
DKMS(里面有个练手的例子)
nvidia-smi
nvidia-smi -pm 1 # 打开持久模式(0则为关闭)
nvidia-smi dmon # 按GPU持续打印状态
nvidia-smi pmon # 按进程持续打印状态
nvidia-smi -L # 打印可用的/检测到的GPU,可以看哪些卡掉了
nvidia-smi -a # 打印所有GPU的详细信息
nvidia-smi -i 0 -q # 打印指定GPU的详细信息
nvidia-smi -r -i 0 # 重启指定GPU
查看日志
sudo nvidia-bug-report.sh
搜索字符串:”/var/log/kern.log”
查看电源情况
nvidia-smi -q -d POWER
内核版本的自动更新
sudo apt-mark hold linux-image-generic linux-headers-generic # 禁用自动更新
sudo apt-mark unhold linux-image-generic linux-headers-generic # 恢复自动更新
卸载驱动
sudo /usr/bin/nvidia-uninstall
sudo apt-get --purge remove "*nvidia*"
相关文件
X configuration file: /etc/X11/xorg.conf
卸载日志:/var/log/nvidia uninstall.log
从Ubuntu仓库安装驱动
查看ubuntu-drivers devices
安装推荐版本的驱动sudo ubuntu-drivers install
装完后要重启!才会生效
这种方式安装的驱动不在/lib/modules/$(uname -r)/kernel/drivers/video
,而是在/lib/modules/$(uname -r)/kernel/nvidia-460