安装

选择驱动

archlinux wiki中搜索gpuNVIDIA

lspci -k -d ::03xx

00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
	Subsystem: Lenovo Device 505c
	Kernel driver in use: i915
	Kernel modules: i915
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 920MX] (rev a2)
	Subsystem: Lenovo Device 505c
	Kernel driver in use: nvidia
	Kernel modules: nouveau, nvidia_drm, nvidia

GM108M [GeForce 920MX] 通过AI工具得知(因为920MX没有标出来 ) 对应驱动为470
通过:https://nouveau.freedesktop.org/CodeNames.html 进行查询显卡家族
在这里插入图片描述

![[Pasted image 20250717065226.png]]

安装驱动

yay -S nvidia-470xx-utils 安装

安装过程中NVIDIA-Linux-x86_64-470.256.02.run下载不下来,前往nvidia官网进行下载Unix 驱动程序 并放到yay缓存目录中/home/meng/.cache/yay/nvidia-470xx-utils 再重新安装

中途配置

这一步是执行了 不知道是不是必须
将 /etc/mkinitcpio.conf 文件中 HOOKS 项的 kms 删除
执行 mkinitcpio -P 重新生成initramfs

此时使用nvidia-smi 还是不能查看到显卡 往下走:
ls /usr/src

nvidia-470.256.02

yay -S nvidia-470xx-dkms
sudo dkms install -m nvidia -v 470.256.02 # 这一步真的要等很久

Building module(s).................................................................................................................................................................................................................................................................................................................................................... done.

执行nvidia-smi 可以看见显卡已经装完了并且正确现实
接下来的就是要让kde与其他应用程序能够使用该显卡

显卡优先配置

注意:如开机动黑屏或停留在clean  xxx dev 删除/etc/X11/xorg.conf即可或选择将xorg.conf.nvidia-xconfig-original还原

关于开机无法进入的问题:可以在archlinux启动的时候按e进入grub编辑 linux行末尾添加 init=/bin/bash 后进行删除

这里参考了以下文章

  1. https://wiki.archlinuxcn.org/wiki/NVIDIA#Xorg_%E9%85%8D%E7%BD%AE 官方的文章实在没能看懂 但是回过头来看操作也是官方步骤
  2. https://blog.csdn.net/m0_46261332/article/details/121585114?spm=1001.2014.3001.5506 开机黑屏的解决方法
  3. https://blog.hifuu.ink/2024/11/06/arch-nvidia/ 4的延伸
  4. http://ivo-wang.github.io/2018/02/18/a/ 主要看这篇

X11

sudo nvidia-xconfig --prime # 显卡参数自动配置好 生成以下文件

/etc/X11/xorg.conf

wayland

(跟着教程照做的 某些步骤可能不需要)
编辑/etc/default/grub

#添加以下参数 不要删除原来的内容
GRUB_CMDLINE_LINUX_DEFAULT="nvidia_drm.modeset=1"

sudo grub-mkconfig -o /boot/grub/grub.cfg # 重新生成gurb引导配置文件
(非常危险!!三思后行, 不过好像就是末尾添加这个: linux /vmlinuz-linux-hardened root=UUID=3326efb3-b14b-46db-867f-9f8430d0dbfe rw loglevel=3 quiet nvidia_drm.modeset=1,如果出错尝试删除nvidia_drm.modeset=1

执行完这个采用X11登陆会渲染失败 全是黑的窗口

在~/.config/plasma-workspace/env/nvidia.sh 中写入(可能不需要)

#!/bin/bash  
export __NV_PRIME_RENDER_OFFLOAD=1  
export __GLX_VENDOR_LIBRARY_NAME=nvidia

在 /usr/share/sddm/scripts/Xsetup 写入

xrandr --setprovideroutputsource modesetting NVIDIA-0 
xrandr --auto

在/etc/X11/xorg.conf.d/intel.conf写入(可能不需要)

Section "Device" 
	Identifier "intel" 
	Driver "modesetting" 
	BusID "PCI:0:2:0" 
EndSection

应用程序使用显卡启动

编写/usr/bin/nvidia 添加执行权限

#!/bin/bash
__NV_PRIME_RENDER_OFFLOAD=1   __GLX_VENDOR_LIBRARY_NAME=nvidia $@

启动程序时如:nvidia chromium

附录

模块查看 lsmod | grep nvidia

nvidia_drm             86016  37
nvidia_modeset       1511424  12 nvidia_drm
nvidia_uvm           2781184  0
video                  81920  3 thinkpad_acpi,i915,nvidia_modeset
nvidia              40755200  1011 nvidia_uvm,nvidia_modeset

更多推荐