GNOME официально прекращает поддержку 32-бит в Flatpak

Ключевые моменты:
  • GNOME прекращает поддержку расширения org.gnome.Platform.i386.Compat для 32-битной версии.
  • Flatpak Runtime по-прежнему будет доступен только для x86_64 и AArch64.
  • Эта мера снижает нагрузку на инфраструктуру GNOME CI.
  • Такие приложения, как Wine и Steam, затронуты не будут.
  • Проекты должны самостоятельно обеспечивать поддержку 32-битной архитектуры.

GNOME официально прекращает поддержку 32-бит в Flatpak

Несколько дней назад проект GNOME анонсирован в блоге el объявление о завершении разработки и поддержки расширения «org.gnome.Platform.i386.Compat», ключевого элемента, используемого средой выполнения GNOME Flatpak обеспечить совместимость с 32-битными приложениями.

Благодаря этому решению GNOME Flatpak Runtime теперь доступен только для архитектур x86_64 и AArch64, что ознаменовало окончательное закрытие периода, в течение которого поддержка нескольких архитектур была приоритетом.

GNOME 49 был выпущен в прошлом месяце и в целом работал очень гладко…

Однако, что осталось незамеченным и упущено, так это то, что расширение совместимости с 32-битной версией для среды выполнения GNOME Flatpak больше не доступно. Мы планировали объявить об этом ранее, но ситуация помешала.

Конец исторического расширения

Расширение org.gnome.Platform.i386.Compat предоставил 32-битные версии GTK, libadwaita, WebKitGTK и другие необходимые библиотеки, позволяя 32-битному программному обеспечению работать на современных 64-битных системах без встроенной поддержки multilib. Однако текущие реалии сделали необходимость поддерживать такую ​​совместимость излишней.

Популярные приложения, такие как Wine и Steam, хотя и по-прежнему распространяются в формате Flatpak, не будут затронуты, поскольку они не используют 32-разрядные версии библиотек GNOME.

Причины решения

Разработчики GNOME отмечают, что Главная причина этого изменения состоит в том, чтобы облегчить нагрузку на инфраструктуру непрерывной интеграции (ДИ) и уменьшить возникающие проблемы для поддержания малоиспользуемых сборок.

Пару лет назад мы отказались от стандартной компиляции ARMv7 и i386 из среды выполнения. С удалением расширения совместимости с i386 нам больше не нужно отслеживать 32-битные платформы перед выпуском GNOME. Ранее все выпускаемые нами модули гарантированно компилировались как минимум для i386/x86, но в будущем это будет невозможно.

И в течение многих лет, Команда GNOME полностью перестроила свою среду (включая WebKitGTK, mozjs и несколько библиотек на основе Rust) не реже двух раз в день для каждой поддерживаемой архитектурыЭтот процесс потреблял значительные ресурсы и вызывал частые ошибки в 32-битных сборках из-за отсутствия тестирования разработчиками перед отправкой изменений в репозитории.

Когда проект лишился части предоставленной CI-инфраструктуры, 32-битная сборка была первой, подлежащей постепенному отказу. Поскольку практически ни одно приложение напрямую не зависело от этого расширения, переход не оказал немедленного влияния.

техническая команда, под руководством Абдеррахима и других разработчиков GNOME, работали над переносом нескольких оставшихся приложений к основной среде выполнения GNOME 49. Из четырёх приложений, всё ещё использующих это расширение (два на Flathub, одно в бета-версии Flathub и одно в архиве), Bottles теперь в основном интегрирован, а вот Lutris и Minigalaxy все еще требуют некоторой доработки.

Теоретически, считалось, что это позволит сохранить совместимость с org.freedesktop.i386.Compat, но было принято решение о полной миграции на современную среду выполнения, поскольку freedesktop-sdk служит основой для среды GNOME и позволяет упростить обслуживание.

Окончание тестирования 32-битных архитектур

С удалением этого расширения и сборок armv7 и i386, GNOME больше не выполняет автоматическое тестирование и не гарантирует совместимость с 32-битными системами. Раньше все модули GNOME корректно компилировались для i386/x86; теперь каждый отдельный проект будет решать, сохранять ли эту поддержку.

Некоторые как glib, у них все еще есть собственная CI-инфраструктура для 32-битных архитектур, Однако в большинстве случаев исправление конкретных ошибок будет необязательным и будет зависеть от доброй воли разработчиков.

Наконец, стоит отметить, что этот шаг не представляет собой существенных потерь для конечных пользователей, а, напротив, является шагом к упрощению и повышению эффективности разработки GNOME. Сосредоточив усилия на наиболее распространённых архитектурах, проект сможет быстрее оптимизировать своё окружение рабочего стола и библиотеки, консолидируя поддержку современных 64-битных и ARM-систем.

Наконец, если вы хотите узнать больше об этом, вы можете ознакомиться с деталями По следующей ссылке.