• 记录Manjaro Linux安装nvidia显卡驱动失败的经历


    如果你尝试安装新内核,然后关机重新启动时无法进入登录界面(屏幕很多错误代码并且一直卡着不动),则:

    • 长按电源键强制关机;
    • 再次开机,在Manjaro启动时的欢迎界面,不要选择默认的第一个Manjaro启动(这样默认使用最新内核),而要选择第二个Advanced Option,然后会让你选择使用哪个内核启动,选择之前的内核就能正常进入系统了;
    • 进入系统之后,可以在Manjaro设备管理器移除有问题的新内核

    这一段是英语写的,因为刚再次安装完系统,还没有安装fcitx5输入法

    实际上,刚安装完Manjaro系统GPU就处于可用状态,不需要折腾什么。
    In fact, GPU is simply available just after system installed (propriritary GPU driver) !!

    所以最重要的是,不要升级内核到linux6.0+,因为6.0与GPU驱动不兼容,从而导致nvidia-smi看不到GPU信息。
    The thing is, don’t update linux kernel to 6.0+, because it will not match with the driver, and result in nvidia-smi fail.

    进入系统并用sudo pacman -Syyu更新系统之后,驱动版本如下:
    After sudo pacman -Syyu to update system, driver version as follows:

    • nvidia-utils 520.56.06-2
    • lib32-nvidia-utils 520.56.06-1
    • linux515-nvidia 520.56.06-9

    更新完nvidia-smi仍然能看到GPU信息。
    And most importantly, nvidia-smi is still working !!!

    之前担心的linux对intel 12代大小核cpu的支持问题也不存在,cat /proc/sys/kernel/sched_itmt_enabled 输出 1说明支持大小核设计。
    What’s more, cat /proc/sys/kernel/sched_itmt_enabled return 1, means this kernel support intel 12th cpu, P & E core.

    在这里插入图片描述


    下面是我尝试在linux6.0内核环境中安装GPU驱动的过程,没有成功。
    Bellow is my trying to fix linux6.0 with nvidia GPU driver, but I didn’t make it.


    manjaro linux显卡驱动管理
    教程 https://zhuanlan.zhihu.com/p/372587633

    查看已安装的显卡驱动:
        mhwd -li
    
    要删除已安装的驱动程序,命令语法为:
        sudo mhwd -r [pci或usb] [驱动程序名称]
    例如,要删除英伟达显卡(通过pci内部连接)驱动程序,将使用以下命令:
        sudo mhwd -r pci video-hybrid-intel-nvidia-prime
    
    自动检测和安装显卡驱动:
        sudo mhwd -a [pci或usb连接] [开源或闭源驱动程序] 0300
    例如
        sudo mhwd -a pci nonfree 0300
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 我的Manjaro: 2022.11.19的最新系统,通过manjaro-kde-21.3.7-220816-linux515.iso安装,然后通过pacman -Syyu更新的
    • 我的设备:
      • CPU intel 12700H,大小核架构,使用系统默认的linux5.15内核会发现启动firefox浏览器的速度比win上慢很多,所以更新系统之后直接手动更新内核到了linux6.0版本,此时linux6.1还是实验版本,所以没有用它
      • 显卡 nvidia 2050

    刚开始更新完系统没有注意到显卡驱动问题,后来开始布置深度学习环境才发现torch.cuda.is_available()始终不输出结果,然后去系统设置中查看此设备,发现显卡只显示有intel的集成显卡。

    然后尝试在系统设置的“硬件设定”部分,按照一些教程让它自动安装闭源驱动,安装之后的状态如下图(只不过我的版本两个设备都是unknown, 然后驱动列表中可选的不是390xx,而是470xx),但nvidia-smi仍然看不到GPU状态,torch检查也是一样;重启也不行。
    在这里插入图片描述
    然后按照另外一些教程,尝试通过pacman -Sy nvidia nvidia-utils…,手动选择nvidia驱动版本(linux60, linux 519, linux61)并切换内核,仍然不行。

    尝试从nvidia官网下载驱动进行安装,无论470,515还是520版本都无法安装成功。也尝试根据nvidia论坛中一些人的经历对官方驱动patch, 也没成功。

    然后还去manjaro wiki查看了安装显卡驱动的官方教程,也没follow成功。我还注册账号提交了一些翻译,不知道什么时候能合并进来。

    然后我切换回到windows, 因为有布置好的环境,通过torch查看可以用cuda。。。也就懒得折腾Manjaro了,虽然manjaro的命令行工具很好用,但windows的生态更好啊,PDF阅读器,视频播放器,笔记软件啥的。。。

    总结这次失败的原因:

    • 我的硬件比较新,CPU大小核设计要求linux内核版本不能太低;而太新的linux内核,又找不到适配好的显卡驱动。
    • 也许过段时间,等Linux6.x内核的长期支持版出现之后,再加上manjaro等发行版还有nvidia的支持,就能切回去了。
  • 相关阅读:
    经历了源码的痛苦,掌握DRF的核心序列化器
    费用流模板
    Mysql集群及高可用-多主复制(高可用)与Mysql路由(读写分离)8
    STM32介绍和资料地址
    Web程序设计-实验05 DOM与BOM编程
    CCF CSP题解:坐标变换(其二)(202309-2)
    STM32day2
    Docker-简介,安装,测试
    独立站SaaS系统站群模式怎么玩
    【Leetcode】1449. Form Largest Integer With Digits That Add up to Target
  • 原文地址:https://blog.csdn.net/weixin_44220976/article/details/127940616