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

218 天前
 KinsleyNg
显卡 amd 780M cpu 7840hs popos chrome 下加了什么启动项都不能启动硬解,chrome://gpu 里 video acceleration 显示 decoder 和 encoder 两行都是空白...firefox 倒是说是可以硬解,但是也不知道是不是走的硬解
顺便问下,amd 核显在 linux 下怎么看走的是硬解还是软解?
1993 次点击
所在节点    Linux
13 条回复
BRS5672023
218 天前
nvtop 里可以看,如果有 enc 显示非零占用就说明调用了硬件解码
BRS5672023
218 天前
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
218 天前
@BRS5672023 我打开 nvtop 显示"No GPU to monitor",请问是什么问题呢?
还有我现在是 x11 ,应该跟 wayland 的问题不大
kuanat
218 天前
根据 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
218 天前
@kuanat 我现在的内核是 6.8 ,所以跟内核应该也关系不大。
然后你说的 mesa 驱动,我也是安装过了,因为 firefox 上是能够正常硬解的,奇了怪了:(
kuanat
214 天前
@KinsleyNg #5

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

我用的 Fedora 官方源的 chromium 测试,是有视频解码硬件加速的。
KinsleyNg
214 天前
@kuanat 那就对了,我用的就是 google 官方打包的 deb 包。请问你是在 fedora 的 wayland 还是 xwayland 环境下进行的测试呢?
kuanat
213 天前
@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
212 天前
@kuanat 现在还是先用着 x11 吧。官方打包的 deb 包实测是不行,你知道 ubuntu 下的哪个 chrome 打包能启用硬解吗?如果要用 fedora 又要重新安装,确实有点麻烦。
kuanat
212 天前
@KinsleyNg #9

我是说不推荐 fedora ,ubuntu 什么情况不清楚。非官方打包的只能叫 chromium ,试一下官方源里的吧。
BRS5672023
188 天前
现在 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
182 天前
@BRS5672023 可惜我正在用 fedora,没精力折腾 arch 了 XD,不过 firefox 看 b 站确实拉胯,性能比 chrome 软解还要差
BRS5672023
181 天前
@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