1080ti的nvidia显卡驱动好端端突然不能用,出现登录死循环的问题。这次,简单重装驱动还是解决不了问题,测试百度近期的解决方案均无法解决。我排除了其他可能性,这是新的bug,和最新版的驱动有关,百度上17年的旧方法均无法解决。
这个坑,不需重装系统。具体的问题描述和解决方法重点如下:
问题描述
最新官网检索1080ti-linux-64位显示推荐提供了 384、387、 390 三个版本的驱动,匹配内核均需要 kernel 4.4.0.116,按照run文件直接安装或者apt-get方法安装,没有安装这个版本内核的Linux系统,均会在安装驱动前自动补装4.4.0-116内核,导致最后出现错误:
nvidia:versionmagic‘4.4.0-116-generic SMP mod_unload modversions ….retpoline’
这个BUG在nvidia官网报道,目前给出的两种(不可靠的)建议:
1:升级gcc到最新版后在再重新安装内核,接着安装驱动
(亲测如何内核冲突,再怎么升级gcc也没用。我的电脑gcc由版本5.4.0降到4.9都无法成功安装384以上的显卡驱动,最终均提示kernel version error或gcc version error)
2:内核直接降级内核到稳定版本4.4.0-112,再安装驱动
(亲测112版本的kernel与384以上版本的显卡驱动不兼容)
综合以上,选择退而求其次:
安装4.4.0-112版本kernel,再安装低版本的381或者378版本的nvidia显卡驱动(英文版官网可以检索到的1080ti匹配的低于384的合适版本)。
解决方案
一. 内核降级
http://blog.csdn.net/u011304615/article/details/70919711
1:查看本机内核安装列表
$sudo dpkg --get-selections |grep linux-image
linux-image-4.4.0-116-generic install
linux-image-4.4.0-112-generic deinstall
linux-image-4.4.0-109-generic deinstall
2:查看当前使用的内核
$uname -r
4.4.0-116-generic
3:升级/安装内核
$sudo apt-get install linux-image-4.4.0-112-generic
4:删除内核
$sudo apt-get remove linux-image-4.4.0-116-generic
$sudo apt-get autoremove
**{tip:删除当前版本重启会使用低一级的已安装内核,如果是最后一个内核版本删除之后重启会进入BIOS界面。
也可以不删除当前版本,直接在/etc/default/grub中修改
GRUB_DEFAULT=0 为 GRUB_DEFAULT="Ubuntu, Linux 4.4.0-112-generic"}**
5:安装与内核匹配的linux-headers
$sudo apt-get install linux-headers-$(uname -r)
6:重启
$reboot
二、安装驱动
1.如果是第一次装nvidia:
准备操作包括:
更新gcc到5.3版本及以上。
编辑grub文件禁用nouveau,并:
&sudo update-grub
编辑blacklist将nouveau相关模块加入黑名单。
查看是否成功禁用nouveau。
官网下载驱动安装文件,如以run为后缀(如果用ppa安装的可以跳过这一步)。
tty1模式下关闭x-window:
$sudo service lightdm stop
直接运行run文件或者用ppa安装。
重启x-window:
$sudo service lightdm restart
发现桌面分辨率极大提升,不再出现循环登录的情况。
控制台输入nvidia-smi查看驱动安装情况。
2.如果从前有装过nvidia,也就是已经禁用过默认驱动nouveau:
准备操作包括:
tty1模式下:
$sudo service lightdm stop
卸载原有nvidia驱动:
sudo apt-get -purge nvidia*
sudo apt-get autoremove
重启x-windows查看是否可以成功登录桌面,如果循环登录,说明nvidia没有卸载干净。
卸载完成后,返回tty1,再次关闭x-window。
直接运行run文件(或者用ppa安装)。
重启x-window:
&sudo service lightdm restart
发现桌面分辨率极大提升,不再出现循环登录的情况。否则,再找方法解决。
控制台输入nvidia-smi查看驱动安装情况。