这个 Linux 的 chrome 硬解就这么难处理吗

315 天前
KinsleyNg  KinsleyNg
显卡 amd 780M cpu 7840hs popos chrome 下加了什么启动项都不能启动硬解,chrome://gpu 里 video acceleration 显示 decoder 和 encoder 两行都是空白...firefox 倒是说是可以硬解,但是也不知道是不是走的硬解
顺便问下,amd 核显在 linux 下怎么看走的是硬解还是软解?
2354 次点击
所在节点   Linux  Linux
13 条回复
BRS5672023
BRS5672023
315 天前
nvtop 里可以看,如果有 enc 显示非零占用就说明调用了硬件解码
BRS5672023
BRS5672023
315 天前
mesa 24.1 应该可以 xwayland 使用 chromium 硬解了 [frontends/va: Only export one handle for contiguous planes]( https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26165)。。

不过我用 hyprland 以及使用 hidpi 的情况下 xwayland 的体验就。。
KinsleyNg
KinsleyNg
315 天前
@BRS5672023 我打开 nvtop 显示"No GPU to monitor",请问是什么问题呢?
还有我现在是 x11 ,应该跟 wayland 的问题不大
kuanat
kuanat
315 天前
根据 Pop!_OS 加上 nvtop 的提示,我估计是内核版本低了,驱动比较老,没有暴露足够的 sysfs 抽象。780M 是 RDNA3 架构,大概要 6.4 之后的版本才能有比较完整的驱动支持。Pop 是 Ubuntu 22.04 LTS 的衍生版,内核可能还是 5.X ,我不确定官方仓库是不是有足够新的内核。首先要保证内核版本够高,能正确加载 amdgpu 驱动。

如果你说的 chrome 是官方那个 deb 版本,硬件加速是通过 vaapi 实现的,这个版本编译的时候是带了 vaapi 支持和相应解码器的。(某些发行版仓库里 chromium 编译时未开启 vaapi ,像红帽系的发行版 fedora 由于版权问题是缺少一些解码器)

然后为了支持 vaapi ,需要 libva-mesa 驱动。libva 还有个使用 vdpau 后端的驱动,主要是供老一点的型号用的,vdpau 在新架构上基本被 libva-mesa 替代了。

再之后由于 mesa 在 amd 设备上只支持 Xorg/XWayland ,所以要保证 chrome 运行在非 wayland 模式下。如果你没手动指定的话,大概率 session 就是 Xorg 的。

最后就是 chrome 播放视频验证的时候要确认编码格式。说这么多其实我猜测比较可能的原因就是驱动版本和 libva-mesa 。安装好了应该就正常了,还不行你可以再来反馈或者去报 bug 。
KinsleyNg
KinsleyNg
314 天前
@kuanat 我现在的内核是 6.8 ,所以跟内核应该也关系不大。
然后你说的 mesa 驱动,我也是安装过了,因为 firefox 上是能够正常硬解的,奇了怪了:(
kuanat
kuanat
310 天前
@KinsleyNg #5

我刚刚又确认了一下,Google 官方打包的那个版本,确实是没有视频解码硬件加速的。原因不清楚,我是拿 bili 的 av1 做的测试。

我用的 Fedora 官方源的 chromium 测试,是有视频解码硬件加速的。
KinsleyNg
KinsleyNg
310 天前
@kuanat 那就对了,我用的就是 google 官方打包的 deb 包。请问你是在 fedora 的 wayland 还是 xwayland 环境下进行的测试呢?
kuanat
kuanat
310 天前
@KinsleyNg #7

实测 xwayland 有效,wayland 无效。楼上说 24.1 相关补丁才合并,目前 f40/rawhide 都只有 24.0.6 的包。

即便补丁合并了,我还是不建议以 chrome 为主力的时候选择 fedora 。由于版权的缘故,RH 系只能把解码器托管在 rpmfusion ,然后 chromium build 和原版经常不一致。反正 gtk4 在我印象里是没有生效过的。

然后 chromium 只实现了 text-input-v1 协议,这个协议除了 KDE/KWin 根本没人支持,就连 KWin 的支持还是 fcitx5 作者加回去的。所以在 Fedora 上既要 wayland 又想输入法正常,只能是 KDE 版本。而其他发行版可以 gnome/gtk4 曲线救国。

另外我只是用 fedora 但是不用 gnome ,日常主力是 sway ,sway 不支持 text-input-v1 。hyprland 那边是支持的,fedora/hyprland 这个组合可以考虑。

至于 firefox 虽然我常年支持,但是在性能方面弱不少,硬件解码支持大家都一样,但其他方面差距很大。我在另一个帖子里刚好提到了,B 站现在那个弹幕功能,firefox 的硬件加速比较原始,纯 3D overlay 。Chrome 就好很多,把 css3 用 video enhance 单元来加速。
KinsleyNg
KinsleyNg
309 天前
@kuanat 现在还是先用着 x11 吧。官方打包的 deb 包实测是不行,你知道 ubuntu 下的哪个 chrome 打包能启用硬解吗?如果要用 fedora 又要重新安装,确实有点麻烦。
kuanat
kuanat
308 天前
@KinsleyNg #9

我是说不推荐 fedora ,ubuntu 什么情况不清楚。非官方打包的只能叫 chromium ,试一下官方源里的吧。
BRS5672023
BRS5672023
285 天前
现在 arch 的 aur 里已经有 patched 过的 google-chrome 能在 amdgpu + wayland 下使用 vaapi 了(不过好像 hevc 的解码还有问题。。另外启用 extra-testing 可以更新 mesa 24.1 了)[url=https://aur.archlinux.org/packages/google-chrome-wayland-vulkan]google-chrome-wayland-vulkan[/url]
KinsleyNg
KinsleyNg
279 天前
@BRS5672023 可惜我正在用 fedora,没精力折腾 arch 了 XD,不过 firefox 看 b 站确实拉胯,性能比 chrome 软解还要差
BRS5672023
BRS5672023
278 天前
@KinsleyNg 上游相关的 patch 都已经 merge 了,现在 arch 上的 chromium 已经可以正常硬解了,不过 chromium 的 patch 好像是 arch backport 的,所以其他发行版可能还得等后续更新。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1036010

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX