Fedora 37中开源Mesa包配置文件的最新更改禁用了通过GPU对h264dec、h264enc、h265dec、h265enc和vc1dec进行解码。
如果您在AMD/Intl GPU设备上使用开源图形库Mesa,那么在播放H.64、H.65和VC1解码的视频时,将失去对硬件加速的支持。
原因是什么?H2 64/H2 65编解码器的专利和许可。
但您可能想知道为什么Fedora/任何发行版都需要处理硬件许可问题,而不是硬件供应商。我的意思是,如果AMD向GPU提供解码功能,那么法律技术细节就由他们来处理了。
由于开源专利和许可是一团糟,看起来Redhat(Fedora的赞助商)并没有因为“发布任何暴露专利算法的代码/API”而陷入麻烦。
“关于H_264/H_265的专利授权可能会使红帽和其他Fedora分销商面临法律问题。”--正如邮件列表中当前正在进行的讨论中所讨论的那样。
在2022年第二季度初,MESA 22.2版本在其代码中添加了一个开关,允许您通过关闭/打开特定的视频编解码器来构建MESA。
对Fedora的更改
尽管几个月前在梅萨推出了这款交换机,但它从未在之前的Fedora 36中使用过,可能是因为Fedora团队的“疏忽”。
但上周,Mesa构建配置文件在Fedora 37中看到了一个补丁,该补丁删除了与h264dec、h264enc、h265dec、h265enc和vc1dec相关的代码。
目前正在为即将发布的Fedora版本构建的Mesa 22.2.x版本似乎禁用了这些解码功能。
Fedora 37中取消了Mesa中的解码的变化
这对你有什么影响?
用外行的话说,你的GPU将处于闲置状态,而CPU需要承担繁重的图形密集型工作的负荷。
因此,如果你的笔记本电脑/台式机使用AMD(主要是)GPU并使用开源的MESA,那么你就会受到影响。
当你观看视频或进行内部游戏和流媒体时,Firefox不会有任何基于GPU的解码。因为CPU会加载,所以电池可能会耗尽得更快。当它发生时,你的笔记本电脑的整体使用寿命可能会更快地降低。
作为一种改变,这对NVIDIA设备不会有太大影响,反正这些设备已经一团糟了。
像Flatpak这样的自给自足的套餐呢?
你可能想知道,嘿,Flatpak的可执行文件预打包了MESA。它在那里管用吗?
不是的。
最终,对于相同的法律问题,所有的Flatpak版本都必须遵循Mesa 22.2上游版本的更改!
那Ubuntu和其他公司呢?
由于这一更改(启用/禁用的切换)是在MESA上游进行的,所以所有发行版可能都遵循相同的规则。
有什么解决办法吗?
好的,您必须通过将编解码行添加回Mesa.spec
文件。然后,您必须在您的发行版中安装RPM/DEB包。
显然,这甚至不是一个可行的长期解决方案。
收尾工作
我个人避免使用NVIDIA笔记本电脑,而选择AMD以获得更好的台面支持。但似乎许多像我这样的用户在未来几天将面临性能下降的问题,从Fedora 37开始。
这一变化最糟糕的是,其他发行版最终可能会效仿。而且,更改可能会返回到过去的版本(正在支持中)。
你如何看待这一变化,它将如何影响你的日常工作流程?让我知道。
更新9/29:在Fedora的决定后,看起来OpenSUSE禁用了它。