双显卡prime配置下的vaapi设置

硬件:

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
01:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX150] (rev a1)

使用prime-select命令可以切换nvidia或intel显示,切换到nvdia后这个显卡的vdpau无法使用,估计是被阉割掉了视频解码功能,只能切到intel
但是切到intel后还是不能启用vaapi,查找一番后发现问题在脚本 /etc/profile.d/libva-vdpau-driver.sh
因为prime方案下nvidia模块是不会被禁用的,这个脚本探测到/dev/nvidiactl后把VA的后端设置为vdpau,我们需要修改这个脚本:

result=$(xrandr --listproviders|grep “NVIDIA”|wc -l)
if test -c /dev/nvidiactl; then
if [ $result -gt 0 ];then
export LIBVA_DRIVER_NAME=‘vdpau’
fi
fi

重启后vainfo的输出就正常了

你是我带过的最差的一届N卡
image

我觉得suse应该向pop_os甚至是深度学习,学学人家的显卡驱动问题是怎么解决的

我倒是觉得已经做的差不多了,把这个脚本提交给obs就已经可以完全满足我的需求了