火狐80和我对它在Linux上的硬件加速视频的困惑

2020-08-29 03:21:06

时间间隔的消息是火狐80推出了,理论上它可以在X11上支持硬件视频加速,而不仅仅是Wayland(来源,也是)。在X11上硬件加速视频的主要Mozilla跟踪错误是错误#1619523,有各种各样的信息。所以我下载了官方版本(我的一个Firefox安装程序最近使用了官方版本,原因超出了本文的范围),并试图让它进行加速视频播放。简而言之,我认为我失败了,但我不确定为什么。

即使在Firefox80中,要获得VA-API加速的视频回放也需要一系列的魔咒,比如在启动Firefox时,配置首选项,也许还有环境变量(这在下一个版本中可能会有所改变)。假设所有这些都设置正确,Firefox显然仍然可以决定它不喜欢你的Linux视频驱动程序(或其版本)、你的特定硬件,或者源视频的分辨率和显示器的分辨率中的一种或两种。其中的一些或许多可以通过Firefox设置强制执行,但同时错误报告说,有时Firefox会忽略硬件加速,因为它在特定情况下速度较慢,或者因为它有已知的错误。如果火狐为我的特定硬件做出了明智的决定,那是一回事,我想做的是最好的。但是,如果我错过了某个设置,或者Firefox只是在为某件事焦躁不安,我也想覆盖它。总的来说,我知道我的硬件能够以比FirefoxManagers(在相同的视频上)低得多的CPU使用率实现视频的硬件加速播放。

不幸的是,火狐赢了,没有告诉我它在做什么,也没有告诉我为什么,至少不是以我能理解的方式。我已经深入了解了关于:支持,这告诉了我一些是什么,而不是为什么,我已经尝试了错误#1619523中的一些东西,但没有成功。如果火狐正在或者不打算做硬件加速视频播放,我希望它能告诉我它在做什么,为什么。否则,我很可能会继续对此感到困惑和恼火。

(我关心硬件加速不仅是因为CPU负载,而且因为我的感觉是,硬件加速对于流畅地播放全尺寸视频来说是必要的,而不是偶尔丢帧。这在现代硬件上可能是错误的,甚至在我的4k显示器上也是如此。)