GNOME 正式放棄 Flatpak 對 32 位元的支持

關鍵點:
  • GNOME 停止了 32 位元的 org.gnome.Platform.i386.Compat 擴充。
  • Flatpak Runtime 將繼續僅適用於 x86_64 和 AArch64。
  • 該措施減輕了 GNOME CI 基礎設施的負載。
  • Wine 和 Steam 等應用程式不會受到影響。
  • 項目必須自行確保 32 位支援。

GNOME 正式放棄 Flatpak 對 32 位元的支持

幾天前,該項目 GNOME 透過部落格文章宣布 el 宣布終止開發和支持 “org.gnome.Platform.i386.Compat”擴展,這是運行時環境使用的關鍵部分 GNOME Flatpak 提供相容性 使用 32 位元應用程式。

根據這項決定,GNOME Flatpak Runtime 現在僅適用於 x86_64 和 AArch64 架構,標誌著以多架構支援為優先的時期的最終結束。

GNOME 49 已於上個月發布,整體運行非常順利…

然而,有一件事被忽視了,那就是 GNOME Flatpak 運行時的 32 位元相容擴充已不再可用。我們原本計劃早些時候宣布這一消息,但由於情況所迫,未能及時發布。

歷史延伸的結束

擴展名 org.gnome.Platform.i386.Compat 提供了 32 位元版本的 GTK、libadwaita、WebKitGTK 和其他必備庫, 允許 32 位元軟體在現代 64 位元系統上運行 缺乏對 multilib 的原生支援。然而,目前的現實情況使得維持這種相容性變得不必要。

流行的應用程式(例如 Wine 和 Steam)雖然仍以 Flatpak 格式分發,但不會受到影響,因為它們不依賴 32 位元版本的 GNOME 庫。

決定背後的原因

GNOME 開發人員提到 主要原因 這一變化 是為了減輕持續整合基礎設施的負擔 (CI) 並減少由此產生的問題 維護很少使用的版本。

幾年前,我們從運行時中放棄了常規的 ARMv7 和 i386 編譯。隨著 i386 相容性擴充功能的移除,在發布 GNOME 之前,我們不再需要監控任何 32 位元目標平台。之前,我們發布的所有模組都保證至少能夠針對 i386/x86 進行編譯,但從現在起,情況將不再如此。

多年來, GNOME 團隊重建了他們的整個環境 (包括 WebKitGTK、mozjs 和幾個基於 Rust 的函式庫) 對於每個受支援的架構,每天至少兩次由於開發人員在向儲存庫提交更改之前缺乏測試,因此此過程消耗了大量資源並導致 32 位元版本頻繁出現錯誤。

當專案失去部分捐贈的 CI 基礎設施時,32 位元版本首先被淘汰。由於幾乎沒有應用程式直接依賴此擴展,因此此次遷移並沒有帶來即時的效果。

技術團隊由 Abderrahim 和其他 GNOME 開發人員領導, 致力於遷移剩餘的幾個應用程式 到主 GNOME 49 運行時。在仍在使用該擴充功能的四個應用程式中(兩個在 Flathub 上,一個在 Flathub Beta 中,一個已存檔), Bottles 現在已基本集成,而 Lutris 和 Minigalaxy 仍需要進行一些調整。

理論上,這被認為可以保持兼容性 與 org.freedesktop.i386.Compat, 但決定完全遷移到現代運行時,因為 freedesktop-sdk 作為 GNOME 環境的基礎,並且允許更簡單的維護。

32 位元架構測試結束

隨著此擴充功能和 armv7 和 i386 版本的刪除, GNOME 不再執行自動測試或保證與 32 位元系統的兼容性。 以前,所有 GNOME 模組都確保針對 i386/x86 正確編譯;現在,每個單獨的項目將決定是否維持該支援。

有些如 glib,他們仍然擁有自己的 32 位元架構的 CI 基礎設施, 但在大多數情況下,修復特定的錯誤是可選的,並且取決於維護人員的善意。

最後值得一提的是,此舉並不會為最終用戶帶來重大損失,而是朝著簡化和提高 GNOME 開發效率邁出了一步。透過將精力集中在最廣泛使用的架構上,該專案將能夠更快地優化其桌面環境和程式庫,鞏固對現代 64 位元和基於 ARM 的系統的支援。

最後,如果你有興趣了解更多,可以查閱詳情 在下面的鏈接中。