Несколько дней назад проект 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-систем.
Наконец, если вы хотите узнать больше об этом, вы можете ознакомиться с деталями По следующей ссылке.