Arch Linux 安装 Nvidia 驱动并开启视频解码硬件加速
每次使用浏览器看 B 站视频时,CPU 占用总是莫名地高, 8 核心的
i7-10875H
开一个视频就到了稳定的 15% 占用,温度也从待机 55 度上升了 10 多度。我的风扇控制比较激进,超过 55 就是中档,65 以上直接全速,所以导致一开视频,风扇就直接拉满,忍受了这个问题很久了,今天决定着手解决下。
首先问题的原因我其实是知道的,在没有开启 GPU 加速的情况下,视频解码只能靠 CPU 软解,所以导致 CPU 负载较大。但长期以来我是不装 Nvidia 驱动的,因为几乎用不到,徒增功耗,还可能增加滚挂的机率。
安装 Nvidia 驱动
https://wiki.archlinux.org/title/NVIDIA_Optimus
1 |
sudo pacman -S nvidia-lts nvidia-utils nvidia-settings xorg-server-devel opencl-nvidia libva-utils |
`注意这里安装的是 lts 的驱动程序,要求系统内核也是 lts 的,即 linux-lts, 否则内核不匹配会无法加载驱动程序``
禁用 Nouveau
1 |
blacklist nouveau |
修复画面撕裂
1 |
options nvidia-drm modeset=1 |
1 |
sudo mkinitcpio -P |
修改 xinitrc 文件
我是使用
startx
启动图形化界面的,直接在
.xinitrc
文件开头加入下面两行命令即可。如果使用的是
lightdm
等也可以加到对应的初始化脚本中去。
1 |
xrandr --setprovideroutputsource modesetting NVIDIA-0 |
配置检查
1 |
➜ ~ vainfo |
1 |
➜ ~ nvidia-smi |
Firefox 设置
在
about:config
中按照下表设置对应参数的值
Value | media.ffmpeg.vaapi.enabled | media.rdd-ffmpeg.enabled | media.av1.enabled | false | gfx.x11-egl.force-enabled | widget.dmabuf.force-enabled |
---|