Firefox 一直无法正常使用硬件加速,希望可以给我提些建议。

目前的问题是使用 Firefox 播放 B 站视频会卡顿,跳转会卡一会;请问大家有遇到这个问题吗?有什么解决方法吗?
我去 archwiki 看了有关 Firefox 的硬件加速的内容,但是没有解决;也在 openSUSE 外网论坛找查询相关方案和问题进行设置也无效,不清楚具体是哪里出问题了。

使用系统:openSUSE Tumbleweed 20240605
桌面环境:KDE Plasma 6.05
Firefox 版本:126.0.1 (64-bit)
独显 GTK 1650 直连
vainfo输出:

Trying display: wayland
libva info: VA-API version 1.21.0
libva info: User environment variable requested driver 'nvidia'
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.21 (libva 2.20.1)
vainfo: Driver version: VA-API NVDEC driver [direct backend]
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain12             :	VAEntrypointVLD
      VAProfileHEVCMain444            :	VAEntrypointVLD
      VAProfileHEVCMain444_10         :	VAEntrypointVLD
      VAProfileHEVCMain444_12         :	VAEntrypointVLD

显卡驱动安装:

S  | Name                                        | Summary                                                                | Type
---+---------------------------------------------+------------------------------------------------------------------------+--------
i  | nvidia-compute-G06                          | NVIDIA driver for computing with GPGPU                                 | package
i  | nvidia-compute-G06-32bit                    | 32bit NVIDIA driver for computing with GPGPU                           | package
i+ | nvidia-compute-utils-G06                    | NVIDIA driver tools for computing with GPGPU                           | package
i  | nvidia-driver-G06-kmp-default               | NVIDIA graphics driver kernel module for GeForce 700 series and newer  | package
i  | nvidia-drivers-G06                          | Meta package for full installations (X, GL, etc.)                      | package
i  | nvidia-gl-G06                               | NVIDIA OpenGL libraries for OpenGL acceleration                        | package
i  | nvidia-gl-G06-32bit                         | 32bit NVIDIA OpenGL libraries for OpenGL acceleration                  | package
i+ | nvidia-utils-G06                            | NVIDIA driver tools                                                    | package
i  | nvidia-video-G06                            | NVIDIA graphics driver for GeForce 700 series and newer                | package
i  | nvidia-video-G06-32bit                      | 32bit NVIDIA graphics driver for GeForce 700 series and newer          | package

Firefox 在about:config的设置只有:

media.ffmpeg.encoder.enabled true
media.ffmpeg.encoder.enabled true

Firefox 在about:support的 Media 显示:
image

在 B 站视频上右键看看使用的是什么编码。你这硬件解码只支持 h264(avc)所以得让 B 站也用这个编码才能硬解。


这应该是 h264 吧?但是播放这个视频会一闪一闪的。

是。闪的问题我就不清楚了。

我不清楚我的描述准不准确,不过可以确定的是如果在这些视频跳转会卡住。

要不别用 nvidia 跑 vaapi 了。你都用独显了,应该也不需要特别节能?

是的,不需要节能,请问你的意思是?

放弃在 nvidia 上用 vaapi,用 CPU 软解。

要撤销之前的设置,把 Firefox 的 Use recommended performance settings 关闭是吗?

把你装的 nvidia vaapi 软件包卸载掉就可以了(反正这东西也就火狐和 mpv 能用;mpv 可以用更正常的 nvdec api)。

你指的是 libva-nvidia-driver 这个包吗?

是是是是。

抱歉,这么才回复你,我关闭了硬件加速了,这个情况也没有改善。

那看来和硬件解码加速没关系。

问题好像解决了,我把 ffmpeg-6 相关的包换成 packman 源,这个问题就没出现了。

1赞

虽然知道火狐看 B 加载视频多了就爆内存开始卡顿,但是这个问题应该归谁管呢?B 还是火狐?虽然 Chromium 似乎没有这个问题。

我的火狐完美硬解 4k。显卡是 firepro w7100 系统 opensuse15.1
驱动装了最新的,是 21 年的(是的你没看错,这卡已经停止支持了)。ff 里还需要做一堆设置才行