[Arch]-12-从AMD显卡替换Nvidia显卡
引言
这篇文章记录Manjaro系统环境中,从A卡替换到N卡的过程,在替换之后出现CPU占用率从3%跳到15%反复出现,排查后发现是N卡开源驱动的问题,替换成官方闭源驱动完美解决。
文章目录
0×1.Arch如何将Amd卡替换成Nvidia卡
实验系统:EndeavourOS
主机替换前显卡:AMD
主机替换后显卡:Nvidia 3080
本来想着EndeavourOS 已经集成了Nvidia的开源驱动,直接将A卡取出来,换上N卡完事,但进入系统后,CPU的使用率有点奇怪,监控中显示CPU的使用率在0%~15%这个区间,有规律的跳动,从0直接跳15再到0再到15,看起来就像是在跳机械舞,查阅了部分资料后,分析出问题可能出现在自带的Nouveau驱动上,需要替换安装官方的闭源驱动才行,然后就有了下面的操作:
# 1.安装N卡闭源驱动和组件
987@zyj2.hk987.xyz:~$ sudo pacman -S nvidia-dkms nvidia-utils nvidia-settings lib32-nvidia-utils
# 2.创建内核参数文件
# 分支1:如果是使用systemd-grub引导
#查看这个路径和这个文件是否存在
987@zyj2.hk987.xyz:~$ sudo ls /etc/kernel/cmdline
#EndeavourOS默认使用Systemd-grub作为引导,有这个文件,所以只需要在文件末尾加个nvidia-drm.modeset=1参数
987@zyj2.hk987.xyz:~$ sudo vim /etc/kernel/cmdline
nvme_load=YES nowatchdog rw root=UUID=8b3b....d8d4307 nvidia-drm.modeset=1
# 分支2:如果是使用grub引导
#只需要将参数加在/etc/default/grub文件中
987@zyj2.hk987.xyz:~$ sudo vim /etc/default/grub
#找到这一行
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" # 你的内容可能略有不同,比如包含 nowatchdog、rw 等
# 在引号内的末尾用空格隔开,添加 nvidia-drm.modeset=1,修改后示例:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1"
# 3.刷新引导
987@zyj2.hk987.xyz:~$ sudo reinstall-kernels
# 4.重启电脑,使用下面的命令验证,能够看到一大片输出就是安装成功了
nvidia-smi
如果在安装过程中遇到问题(比如停电或者死机),重启了,这个时候很可能会开机卡在一个黑色屏幕进不去系统,可以通过进入tty3(ctrl+alt+f3),然后重复上面安装N卡闭源驱动的过程,直到安装完成重启,就能成功进入系统了。
内核大版本升级之后(例如从5.0升级到6.0),重启系统很有可能卡在有SYSTEM Clean提示的黑屏上,这个时候可以使用Ctrl+Alt+F3进入字符界面,登录进系统后,再重新安装N卡驱动。