解决高版本的NVIDIA驱动导致Ubuntu桌面出不来的问题

本文记录了一名用户在升级Ubuntu系统并安装不同版本NVIDIA驱动时遇到的问题,包括驱动版本不匹配、配置文件错误和显示管理器选择等,最终通过安装最新兼容驱动和调整lightdm配置解决了桌面显示问题。

     一台使用RTX3090 GPU卡的PC在对Ubuntu做apt-get upgrade后重启发现桌面出不来了,为了解决这个问题遇到了多个坑,记下来备忘。

     首先想退回去用旧版的GPU驱动,卸掉已有版本:

     sudo apt-get --purge remove "cuda*"
     sudo apt-get --purge remove "*nvidia*"

然后安装低版本的CUDA10的deb安装包之类,发现即使重启后也不起作用,执行nvidia-smi总是报错:

     Failed to initialize NVML: Driver/library version mismatch

那可能是和当然使用的linux kernel版本不匹配,直接安装deb包是不行的,需要使用源码编译出与当前kernel版本适配的ko,于是改成使用这种使用run文件方式安装:
 

wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run

chmod +x cuda_10.2.89_440.33.01_linux.run
./cuda_10.2.89_440.33.01_linux.run

可以安装成功,但是重启系统后桌面还是进不去,切换到文字界面可以看到报错:

改成使用低版本的驱动程序安装则每次安装到最后都报错:

    ERROR: Unable to load the 'nvidia-drm' kernel module

按照网上别人说的一些办法,例如禁用BIOS的secure boot或者升级内核,解决内核和source版本的不一致等等办法通通没用,最后试着安装了一个cuda11.0里包含的driver版本450.80.02对应的run文件 NVIDIA-Linux-x86_64-450.80.02.run来安装却一次性成功了,这说明对于比较新的GPU,需要安装比较新的驱动才行,老版本的驱动安装不了,更不用说跑步起来了。

既然驱动也要是对应于cuda11以上的版本,直接使用cuda11.1.1(RTX30序列GPU好像需要11.1.1或者以上版本才能正常工作)安装更好,但是目前最好不要使用最新的cuda11.3或者cuda11.4,因为像pytorch这样的工具还根本不支持,盲目安装高版本不是啥好事,够用就行。

解决驱动版本的选择问题后,开机启动后还是gdm桌面出不来,看网上有人说gdm3对于最新的NVIDIA的驱动支持不好, 于是安装lightdm 显示管理服务器和Unity桌面:

     sudo apt-get install lightdm unity

安装过程中确认选择lightdm为默认的Display Manager,而不是gdm3(事后需要切换时,可以使用dpkg-reconfigure lightdm) ,然后重启时发现桌面出不来,那个Ubuntu的标记总是在那个动,就是始终桌面出不来:

 

检查状态:

root@ubuntu-rtx3090:~# systemctl status lightdm
● lightdm.service - Light Display Manager
   Loaded: loaded (/lib/systemd/system/lightdm.service; indirect; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2021-08-25 19:15:17 CST; 7min ago
     Docs: man:lightdm(1)
  Process: 1246 ExecStart=/usr/sbin/lightdm (code=exited, status=1/FAILURE)
  Process: 1243 ExecStartPre=/bin/sh -c [ "$(basename $(cat /etc/X11/default-display-manager 2>/dev/null))" = "lightdm" ] (code=exited, status=0/SUCCESS)
 Main PID: 1246 (code=exited, status=1/FAILURE)

8月 25 19:15:17 ubuntu-rtx3090 systemd[1]: lightdm.service: Service hold-off time over, scheduling restart.
8月 25 19:15:17 ubuntu-rtx3090 systemd[1]: lightdm.service: Sche
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arnold-FY-Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值