纪念在Fedora3X上成功安装Nvidia-driver


自从从f33(fedora)–>f34以后,nvidia-driver就没有normally booted过。
设备:一台带Nvidia Geforce 10 Series联想笔记本。我查了过去在f33下成功安装的参照,总结了一下,供以后参考。

0.下载installer(Optional)

官网下载点击,找到自己对应的型号,不知道型号的去搜索怎么linux查看显卡型号(好像$lspci | grep VGA -i就可以)
此法对于有外接显示器的人(非笔记本原装)或我没遇到的情况可能会适用,对应章节2.3中

“对我不起作用的方法”

1.Secure Boot

首先,需要进入开机主板BIOS界面(联想按F2),用方向键操作找到Secure Boot的选项,一般这一项状态Status是Enable的,配合Enter键此处调整为Disable
然后Save and Exit

2.Install

2.1 进入Fedora系统

(默认已经安装好了fedora-desktop系统)根据开机grub程序选择进入,本设备装的是Gnome40桌面,内核5.12.15。
开机应该会默认进入到一个图像化的登陆窗(which is 用Linux自带图形driver驱动的),此处需要关闭图形化界面操作。

2.2 关闭图形界面

Ctrl+Alt+F3(3~6都可以,默认可以同时6个用户登陆[tty相关知识]),切换到一个没有图形化界面的用户界面(切换之前在F1对应图形化用户界面)

按提示输入用户名和密码后,应该就登陆进去了,会有一个和平时用的Terminal一样的界面。

现在虽然3号用户看到的是非图形界面,但是1号用户的图形化界面并没有被kill掉,此时依然无法安装。需要先停止图形界面的service。一般地,在Fedora上默认用systemctl stop gdm而不使用像ubuntu的service <service name> stop
现在就已经顺利关掉图形化界面了(当前界面下的报警音第一次听被吓到,不信多按几次tabbackspace试试)
接下来,就开始安装

2.3 安装INSTALL!!!

对我没起作用法:(台式机可用)
如果是在nvidia官网找downloads,下载到.run文件的,cdto the corresponding directory. 直接sudo bash ./NVIDIA<我省略中间了>.run,按照提示一步一步选yes就可以了,如果缺少dkms来build kernel的话退出来install一个。(应该不会有人选错吧,key现场generate, 该signup 就sign up)
提示"complete"我真以为complete 了,但是重新开机的话,图形界面会(有fedora的logo那里)卡死,或者卡死之前随便按个键看一下开机服务启动情况,把图形化服务启动完也是黑屏了,只有左上角有个文本插入符(underscore style)

这是因为,没有识别到笔记本原生的显示器,只能检测到外接显示器,不行找一个monitor, plugin就能看见。而我手头没有额外显示器。

对我起作用法:(sudo -s)
按照rpmfusion howto来的,首先先dnf update,然后dnf install akmod-nvidia再装xorg-x11-drv-nvidia-cuda等等,这里有一个trick,因为如果你完全按照他的来的话还是不行,因为装的东西不够。在问是否安装akmod-nvidia的时候,能看到一个即将安装的软件列表,你看到驱动的版本号,比如我的是465.31。在akmod-nvidia installed后,转就只用管前面的465大版本号,然后用wildcard大招,直接dnf install *465*,如果运气好的话,没有其他同名软件会一起装。反正吧带nvidia关键字的都装上,不过安装前大概看一眼装的是什么东西,来自哪个仓库这种习惯还是慢慢养成,我觉得不看的话,如果没有包管理习惯的人们会安装一些很不起眼有没有图形化界面的“幽灵”软件,占空间托速度用不到。我是去rpmfusion的nonfree主页去看了一眼,确保没有遗漏。
不用专门去写linux自带显驱Nouveau的blacklist(在/etc/modprobe.d/ 这个文件夹里都是一些blacklist写着禁用配置信息,怎么个写法网上有或者参照已有的blacklist),现在的Nvidia驱动安装程序自动都帮你写好了

2.4 Enjoy

你可以打开图形化界面systemctl start gdm然后好奇去看看,或者直接nvidia-smi看看效果,或者省事直接reboot等结果

从图片现存占用可以猜测,rpmfusion改过的nvidia-driver可能是核独显混用,Xorg之占用4MB我是不信的。之前我在f33装了nvidia-driver以后,亲测过可以在steam里玩3A,比如Tomb Raider, Dishornored, GTA4, GTAV(加速器问题),ubisoft connect, assassin creed因为steam有proton搞定兼容性问题(你去看游戏文件都是windows里的那一套指令,可能是做了一个转译),然后用vulkan来代替windows 的dx12。
(真想打游戏,去划分磁盘装一个带windows的双系统或者再买一个电脑吧)


更新
我闲着没事又尝试了一下,为什么显存占用只有4MB.我外接了一个显示器,显存就显示有43MB,也就是说,对于我个人拯救者笔记本而言,笔记本原生显示器用的是集成显卡驱动的,外接显示器(在安装NVIDIA独显以后)是独显驱动的,如果把集成显卡彻底卸载(我卸载完测试完又装回来了sudo dnf remove xorg-x11-drv-nouveau ,在开机时候做的驱动更改,建议去查一下如何更新grubinitramfs,不同系统有略微差别,fedora是用grub2-mkconfigdracut两个软件。)
只保留独显,那么笔记本开机后原生显示器在[ok]完Starting Terminate Plymouth Boot Screen以后就不会刷新了,表现为只有屏幕左上角有一个白色的下划线,其余黑屏。这就是网上说的很多装完linux独显就黑屏的情况。那些帮我们管理好核显独显切换使用的linux发行版,例如ubuntu, Pop!OS,作为笔记本而言,他们解决了独显驱动对显示器识别的问题,例如Pop!OS的NVIDIA版,开机后就是几百MB的显存占用。而我们手动在fedora上面装这种,很容易遇到:(1)禁用核显,只用独显,重启后由于没有接外接显示器,而图形用户tty1或tty2导致黑屏;(2)不禁用核显,输入nvidia-smi也能像我上面步骤一样打印出来,运行正常,但是在原生显示器上还是以运行核显为主,不知道这个问题安装prime-select(也叫nvidia-prime)是否会解决。但是在调用独显的时候是没有问题的,比如我接了外接显示器或者用cuda11.4的nvcc编译程序,gpu调用也正常。

===========================================

UPDATE in 2022:

I didn’t install Chinese input method(time-consuming), so English why not?

Since the slight difference on Fedora 36, to tunr off gdm is to enter the character mode of your linux desktop first(eg. ctrl+alt+F3), then stop the service of gdm by typing command sudo service gdm stop.
At last, some people’s laptops turned black screen on the first boot after the installation of NVIDIA-Driver. Please do erase the xconfig file by force sudo rm /etc/X11/xorg.confthen restart . Your PC would be just fine~

But\color{red}{But}But, it’s not done yet! You might have notice that that “GPU Memory Usage” in screenshots above only dozens of MB. Our intution told us: it’s impossible. Since you run the command glxinfo | egrep "OpenGL vendor|OpenGL renderer" it probably shows that you’re using your CPU Core Graphics card.
Why? Albeit you’ve successfully installed Nvidia-driver(no doubt), your primary GPU is yet to update.

To update primary GPU settings:

  1. create a file /etc/X11/xorg.conf.d/nvidia-drm-outputclass.conf
  2. paste the contents below into the file. The primaryGPU is what really matters.
#/etc/X11/xorg.conf.d/nvidia-drm-outputclass.conf
# This xorg.conf.d configuration snippet configures the X server to
# automatically load the nvidia X driver when it detects a device driven by the
# nvidia-drm.ko kernel module.  Please note that this only works on Linux kernels
# version 3.9 or higher with CONFIG_DRM enabled, and only if the nvidia-drm.ko
# kernel module is loaded before the X server is started.Section "OutputClass"Identifier     "nvidia"MatchDriver    "nvidia-drm"Driver         "nvidia"Option "AllowEmptyInitialContiguration"Option "SLI" "Auto"Option "BaseMosaic" "on"Option "PrimaryGPU" "yes"
EndSectionSection "ServerLayout"Identifier "layout"Option "AllowNVIDIAGPUScreens"
EndSection
  1. Reboot.
  2. Enter character mode before you log in Ctrl+Alt+F3.
  3. Turn off gdm servicesudo service gdm stop
  4. Remove /etc/X11/xorg.conffile(will be regenerated when your next reboot).
  5. Finally, reboot.


100%

Thanks for your time and patience. Hope this blog help those Fedora workstation(Now F36) users who’re struggling against NVIDIA driver installation on their laptop, perhaps also with an external monitor.

Appendix

如果你的显卡驱动需要更新,可以这样。1.在你最新的kernel中安装,然后去你次新的kernel中对最新的kernel reinstallsudo dnf reinstall kernel*<version>*,2.在你次新的kernel中安装,然后reboot,去最新kernel中看有没有用(估计没有,所以还是按照1来)。建议不要只留一个kernel,更新完kernel以后不要立马删除,dnf默认保留三个,如果最新的kernel挂了还能回去。

[SUCCESS]Fedora install Nvidia-driver相关推荐

  1. Install NVIDIA Drivers on Fedora 37

    我罗列一下我在fedora37下 安装NVIDIA Drivers 的步骤和 尚未解决的问题 方法取自: How to Install NVIDIA Drivers on Fedora 37 Linu ...

  2. How to Install Nvidia Kernel Module Cuda and Pyrit in Kali Linux

    Install Nvidia Kernel Module Cuda and Pyrit in Kali Linux UPDATE: 13/03/2014 – Readers should follow ...

  3. Fedora 安装 NVIDIA 显卡驱动

    Fedora 安装 NVIDIA 显卡驱动 外界对于 双显卡的笔记本安装驱动的说法各种各样,但是没有一个说的是特别全面的,今天亲自在自己的游戏本上安装了 Fedora ,经历了各种各样的问题,因此特写 ...

  4. 无法连接NVIDIA驱动:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver

    NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver 重启服务器之后就出现连接不上NVIDIA驱动的 ...

  5. 和smi_nvidia-smi 报错:无法与 nvidia driver 通信

    用 GPU 跑模型时,提示 cuda 不存在,明明已经装过!不会 nvidia 驱动又崩了吧!赶紧用 nvidia-smi 查看一下,提示如下错误: NVIDIA-SMI has failed bec ...

  6. 成功解决The NVIDIA driver on your system is too old (found version 9010). Please update your GPU driver

    成功解决The NVIDIA driver on your system is too old (found version 9010). Please update your GPU driver ...

  7. 无法连接NVIDIA驱动:NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver

    1. 问题 今天正要用GPU跑代码的时候,发现cuda不可用,然后在终端执行nvidia-smi发现无法连接NVIDIA驱动,问题如下: NVIDIA-SMI has failed because i ...

  8. Ubuntu-显卡驱动-nvidia-smi报错:couldn‘t communicate with the NVIDIA driver

    输入nvidia-smi之后,报错全部内容: NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. ...

  9. 成功解决第nnnnnn次couldn't communicate with the NVIDIA driver后的方案总结

    解决内核更新到4.15.0-91-generic后与nvidia-418.87.01驱动不匹配问题 环境说明 问题 可用解决方案 1. 不需要重装(使用DKMS生成驱动模块) 2. 直接重装驱动 gc ...

最新文章

  1. P2 Matlab计算基础-《Matlab/Simulink与控制系统仿真》程序指令总结
  2. PAT_B_1035_Java(25分)
  3. HALCON示例程序pcb_inspection.hdev检测pcb印刷缺陷
  4. python sql语句生成_python Django 生成sql语句
  5. 一道算法题:等价类思想在计数中的应用
  6. 如何判断IoC容器中是否存在指定Bean?
  7. matlab cnn 实例,Deep Learning学习 之 CNN代码解析(MATLAB)(示例代码)
  8. 集群语言 Python 入门 脚本工具
  9. 洛谷P4052 [JSOI2007]文本生成器(AC自动机)
  10. 动画程序时长缩放是什么意思_Premiere视频剪辑教程8:PR关键帧动画,让你的图片和文字动起来...
  11. 综述论文要写英文摘要吗_攻略|一些小论文撰写的建议
  12. Gauss型求积公式及其Matlab程序
  13. 计算机表格对比功能怎么用,两个excel表格数据对比差异_怎么用vlookup对比两个表格的差异...
  14. 单片机---1.仿真实现跑马灯(从左往右,在从右往左)
  15. upupoo为什么服务器维护中,upupoo怎么隐藏桌面图标 只需两步轻松隐藏
  16. 解决vue-admin-template插件element UI组件默认英文改中文
  17. 关于PADS 9.5导入CAD图(dxf文件)的说明
  18. 开源SWD脱机烧录器-第二章 SWD协议移植
  19. Windows平台在线安装Qt 6.0.0图文教程
  20. 一颗红心,三手准备,分别基于图片(img)/SCSS(样式)/SVG动画实现动态拉轰的点赞按钮特效

热门文章

  1. 高并发测试工具webbench
  2. 什么样的故障让阿里云换了总裁?
  3. 用 Python 去除 PDF 水印,你学会吗?
  4. c++实现种子填充算法与扫描线算法
  5. ContentProvider简结
  6. 网站网页中加入各种分享按钮功能 百度分享
  7. 数据结构资源视频地址
  8. 微信openid 服务器备案,微信生态中的 openId、unionID和业务系统中的ID
  9. windows 建立软连接
  10. 交通流预测爬坑记(二):最简单的LSTM预测交通流,使用tensorflow2实现