Fedora 37 和 openSUSE 移除 Mesa 的硬件解码支持

Mesa 22.X引入了修改使得硬件解码支持成为可选特性(为了规避法律风险)。Fedora 37 升级到了 Mesa 22.X 并开启了解码支持,但随后 Fedora 维护者移除了对应的解码支持。这一问题在 Reddit 上有讨论

这一改动应该只影响AMD显卡用户 。Intel开源驱动有独立的用户空间驱动库,NVIDIA无论是官方开源还是闭源驱动都使用自己的用户空间驱动库。

此改动可能会backport回 Fedora 36。避免更新到 Fedora 37 可能不是对策。

更新:openSUSE 的法律团队也已经要求开发者禁用此解码器支持,预计此更新将进入 Factory 和 Tumbleweed。(Leap 的情况暂不清楚)

注意:这篇文章的作者是 Calanthe Demetria,不是 ImBearChild。而且这篇文章所述的都是短期的解决方案,长期的解决方案还有待开发者们做出进一步决定。

影响范围

Mesa 22.X的改动会同时影响Flatpak和Fedora环境。

Flatpak环境

Flathub 现阶段会受到影响,Mesa 升级到 22.X 之后并没有重新添加解码支持(2022-09-30:此更新还未推送到 22.08),使得Flathub的Mesa同样失去硬件解码支持,但这与发行版独立,即所有 Flatpak 用户都会受到影响。

对于Flatpak,如果 org.freedesktop.Platform.GL.default 的版本号为 21.08 或以下,则不受到此问题影响。你可以通过 flatpak list | grep Mesa 查询自己当前Flatpak的Mesa驱动版本。

用户

对于Flathub应用程序的用户,如果你使用的某一程序受到影响(例如Firefox无法使用硬件解码、OBS Studio无法录屏),可以尝试降级它。

下述使用org.gimp.GIMP作为示例。

列出所有commit:

flatpak remote-info --log flathub org.gimp.GIMP

降级到特定commit:

flatpak update --commit=ec07ad6c54e803d1428e5580426a41315e50a14376af033458e7a65bfb2b64f0 org.gimp.GIMP

然后阻止它进行自动更新:

flatpak mask org.gimp.GIMP

如果以后想要让它重新能够自动更新:

flatpak mask --remove org.gimp.GIMP

应用程序维护者

对于Flathub应用程序的维护者,你暂时能做的就是禁用 flathubbot 的自动合并功能(此功能默认关闭,如果你没有开启过就不需要动它):

flathub.json

"automerge-flathubbot-prs": false

并且暂时不要升级 org.freedesktop.Platform22.08 ,直到上游(Mesa)或者Flathub解决了解码支持问题。

Fedora 主机环境

COPR

你可以暂时使用其它用户在 COPR 上构建的 Mesa 作为替代:

https://copr.fedorainfracloud.org/coprs/che/mesa/

注意:使用 COPR 不保证可靠性,COPR 上的软件不是 Fedora 官方维护者提供的。软件最终质量取决于打包者水平。请自行检验构建脚本后再决定是否使用。

容器

你可以暂时使用其它不受影响的发行版容器空间(openSUSE Leap、Ubuntu、Arch)。

sudo dnf install distrobox
distrobox-create --image registry.opensuse.org/opensuse/leap:latest
distrobox-enter leap-latest

你需要在容器空间内安装Mesa和解码器:

sudo zypper in Mesa Mesa-dri Mesa-drivers opi
sudo opi codecs

这样就能在容器空间内继续获得硬件解码支持。例如Firefox:

sudo zypper in firefox
distrobox-export --app firefox

主机环境的启动器会多出来一个容器环境的Firefox。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注