您尚未登录。

#1 2024-08-22 14:10:12

iwl
会员
注册时间: 2024-08-18
帖子: 4

关于在archlinux下chromium与firefox无法开启硬件视频加速

首先vaapi应该已经安装好了(除此之外还装了vdpau)
因为在vlc与mpv --hwdec=auto都可以硬件加速(cpu占用低)

但firefox和chromium都不能(cpu占用高)
无论是播放网页视频还是本地视频都不可以


在firefox中about:support>媒体

解码器支持信息
编解码器名称	软件解码	硬件解码
H264	已支持	不支持
VP9	已支持	不支持
VP8	已支持	不支持
AV1	已支持	不支持
HEVC	不支持	不支持
Theora	已支持	不支持
AAC	已支持	不支持
MP3	已支持	不支持
Opus	已支持	不支持
Vorbis	已支持	不支持
FLAC	已支持	不支持
Wave	已支持	不支持

chromium中chrome://gpu/下的
Video Decode显示为Hardware accelerated
但在播放网页视频 如在bilibili中
f12查看 devtools>媒体(Media)>

视频 解码器(Video Decoder)
解码器名称            VpxVideoDecoder
硬件解码器            false
编码器名称            无解码器
正在为demuxer解密     false

音频 解码器(Audio Decoder)
解码器名称            FFmpegAudioDecoder
硬件解码器            false
正在为demuxer解密     false

同时,在终端有相关的错误

[ ~]$ chromium
Gtk-Message: 15:50:57.477: Failed to load module "appmenu-gtk-module"
[2490:51:0818/155108.619612:ERROR:ffmpeg_common.cc(965)] Unsupported pixel format: -1
[2490:51:0818/155108.625080:ERROR:ffmpeg_common.cc(965)] Unsupported pixel format: -1
[2490:51:0818/155108.625222:ERROR:ffmpeg_common.cc(965)] Unsupported pixel format: -1

当拖入.mp4文件时的输出

[ ~]$ chromium
Gtk-Message: 15:50:13.490: Failed to load module "appmenu-gtk-module"
[1765:1765:0818/155018.308154:ERROR:atom_cache.cc(230)] Add chromium/x-window-drag to kAtomsToCache
[1765:1765:0818/155018.308437:ERROR:atom_cache.cc(230)] Add chromium/from-privileged to kAtomsToCache

这是在chromium下chrome://gpu/的片段截取

Graphics Feature Status
=======================
*   Canvas: Hardware accelerated
*   Canvas out-of-process rasterization: Enabled
*   Direct Rendering Display Compositor: Disabled
*   Compositing: Hardware accelerated
*   Multiple Raster Threads: Enabled
*   OpenGL: Enabled
*   Rasterization: Hardware accelerated
*   Raw Draw: Disabled
*   Skia Graphite: Disabled
*   Video Decode: Hardware accelerated
*   Video Encode: Software only. Hardware acceleration disabled
*   Vulkan: Disabled
*   WebGL: Hardware accelerated
*   WebGL2: Hardware accelerated
*   WebGPU: Disabled
*   WebNN: Disabled

这是vainfo的输出

[ ~]$ vainfo
Trying display: wayland
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 24.1.6-arch1.1 for AMD Radeon RX 580 2048SP (radeonsi, polaris10, LLVM 18.1.8, DRM 3.57, 6.10.5-arch1-1)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc

最后
至于为什么要把chromium与firefox写在一起:
那当然是因为它们硬件视频加速都无法正常工作
因为我觉得chromium与firefox可能都是同一个问题导致的

不知道是因为我安装或配置有误,也可能是我遗漏了什么
之前在另外一台电脑也安装过archlinux,现在是第二次,存在的问题是相似的
我并没有安装过其他的发行版,目前无法知道是电脑的问题还是系统的问题。

archlinux是我的第一个发行版(+kde plasma),也没接触过其他发行版
虽然过程坎坷,有一些困难与问题,但通过搜索引擎的帮助,找到了解决的办法
而现在这个问题,是我目前无法解决的。故发此主题,希望在此得到有用的信息,谢谢。

离线

#2 2024-08-22 15:03:24

kenneth7718
会员
注册时间: 2023-10-22
帖子: 12

Re: 关于在archlinux下chromium与firefox无法开启硬件视频加速

firefox的about:config下,media.ffmpeg.vaapi.enabled设置为true,然后重启浏览器试试。
我只安装了vaapi的驱动,vdpau没有装,其他什么设置都没有,只改了media.ffmpeg.vaapi.enabled
如果硬件加速成功,播放视频时,在nvtop的第三排GPU[ ] MEM[ ] 后会出现ENC[ ]。

另外chromium我没安装,所以帮不上忙。


又菜又爱玩,还爱发脾气

离线

#3 2024-08-24 23:48:04

iwl
会员
注册时间: 2024-08-18
帖子: 4

Re: 关于在archlinux下chromium与firefox无法开启硬件视频加速

kenneth7718 说:

firefox的about:config下,media.ffmpeg.vaapi.enabled设置为true,然后重启浏览器试试。
我只安装了vaapi的驱动,vdpau没有装,其他什么设置都没有,只改了media.ffmpeg.vaapi.enabled
如果硬件加速成功,播放视频时,在nvtop的第三排GPU[ ] MEM[ ] 后会出现ENC[ ]。

另外chromium我没安装,所以帮不上忙。

感谢您的回复
在此之前,我是有把media.ffmpeg.vaapi.enabled设置为true的
设置生效后在about:support>媒体>解码器支持信息
h.264显示为已支持 ,但问题是效果不尽人意

虽然firefox在播放本地视频.mp4时cpu的压力是少了一点
但是相比vlc和mpv还是差了好多
最致命的是在访问bilibili.com的时候,就只是在首页,cpu占用就已经达到40%左右了,这是在Windows下是从未有过的。

离线

#4 2024-08-25 08:57:12

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,868
个人网站

Re: 关于在archlinux下chromium与firefox无法开启硬件视频加速

B站在火狐上是比较吃资源。建议不要长期连续使用一个标签页,每个视频新开一个标签页,应该能够缓解。
另外注意你的显卡不支持 av1,因此B站需要手动选择使用 h264。
最后 mpv 可以播B站视频的。

离线

#5 2024-08-26 21:03:03

iwl
会员
注册时间: 2024-08-18
帖子: 4

Re: 关于在archlinux下chromium与firefox无法开启硬件视频加速

依云 说:

B站在火狐上是比较吃资源。建议不要长期连续使用一个标签页,每个视频新开一个标签页,应该能够缓解。
另外注意你的显卡不支持 av1,因此B站需要手动选择使用 h264。
最后 mpv 可以播B站视频的。

我深知我的显卡不支持av1,所以我在about:config中把media.av1.enabled设置为false
也在b站上 视频统计信息 中确认是h264了

另外,我不太了解你说的 比较吃资源 :
在b站下同样的1080p视频
Windows系统下 cpu占用10%左右,gpu占用7%
而在arch的firefox下cpu占用却到了50%左右,gpu占用好像没有。
没开弹幕,开了它们的差距只会更大

我也没有 长期连续使用一个标签页,标签页是新的,也没有上一页
值得一提的是我在about:support中看到了如下内容

HARDWARE_VIDEO_DECODING
default	available
user	force_enabled	Force enabled by pref
env	blocklisted	Blocklisted by gfxInfo	已列入黑名单;故障代码 FEATURE_HARDWARE_VIDEO_DECODING_DISABLE

此外,我还看到了许多被列入黑名单的东西

离线

#6 2024-08-26 21:32:20

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,868
个人网站

Re: 关于在archlinux下chromium与firefox无法开启硬件视频加速

怎么被列入黑名单了。你看看「图像」->「合成」那里是「Webrender」吗?

离线

#7 2024-08-26 22:47:06

iwl
会员
注册时间: 2024-08-18
帖子: 4

Re: 关于在archlinux下chromium与firefox无法开启硬件视频加速

依云 说:

怎么被列入黑名单了。你看看「图像」->「合成」那里是「Webrender」吗?

应该是Webrender,而不是Webrender(sofiware)

我其实不知道有没有存在Webrender(sofiware)这个词,这个词是在网上看到的:
之前尝试在搜索引擎寻找答案时有叫确认“是Webrender,而不是Webrender(sofiware)”
我当时反正在firefox没看到有Webrender(sofiware),而是看到了Webrender

电脑现在不在身边,至少要到周末回家才能再次确认

离线

#8 2024-08-27 07:49:36

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,868
个人网站

Re: 关于在archlinux下chromium与firefox无法开启硬件视频加速

这个应该不会看错吧,差那么多。不是「WebRender (Software)」就好。那被黑名单就不清楚是怎么回事了,需要结合其它信息翻一下源码。

离线

#9 2024-09-05 14:37:12

BRS5672023
会员
注册时间: 2020-07-07
帖子: 129

Re: 关于在archlinux下chromium与firefox无法开启硬件视频加速

现在 arch 的 chromium 能用 vaapi 了倒是(intel 和 amd gpu 应该都能用了,不过不清楚 polaris 的支持情况)

按照 Vulkan 这里的教程,应该用比如下面的 flag,~/.config/chromium-flags.conf

--ignore-gpu-blocklist
--enable-zero-copy
--ozone-platform-hint=auto
--enable-features=VaapiVideoDecoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE

kde wayland 的话,可能还需要 --enable-wayland-ime 来使用 fcitx5 输入法。。

就我使用 firefox 和 chromium 的情况来看,不清楚什么原因(我的 gpu 是核显 780m),两者在使用 vaapi 硬解的情况下 firefox 的功耗总要高一些,记得说 chromium 会使用 VideoEnhance 的功能(intel_gpu_top 有相关的信息但我不知道 amdgpu 对应的 info 在哪可以查看)可能和这一点有关。。另外关于硬解相关的问题是不知道什么原因,chromium 在b站的视频上只能调用 avc 的硬解,无法调用 av1 或者 hevc 的解码(在清空目录 .config/chromium 的情况下,或者说第一次启动 chromium 时,能调用 av1 的解码,当然楼主的 gpu 似乎并不支持 av1 的硬解;然而如果用 ungoogled-chromium 的话,这两者都是正常的;另外,chromium 在b站直播和其他网站,比如抖音的直播,这些情况下 hevc 的解码则是正常的,只要视频的 profile 是 hevc main 而不是 hevc main 10,目前 linux 的 chromium 还不支持 10bit 的视频解码),firefox 能正常硬解 av1(但如前所述,楼主的 gpu 不支持 av1 的硬解)但 firefox 在 linux 上不支持 hevc 的解码。。

最近编辑记录 BRS5672023 (2024-09-06 01:07:13)

离线

页脚