Noticia GNOME elimina oficialmente el soporte de 32 bits en Flatpak

GNOME elimina oficialmente el soporte de 32 bits en Flatpak


Hace pocos días, el proyecto GNOME dio a conocer mediante una publicación de blog el anuncio del fin del desarrollo y soporte de la extensión “org.gnome.Platform.i386.Compat”, una pieza clave utilizada por el entorno de ejecución GNOME Flatpak para ofrecer compatibilidad con aplicaciones de 32 bits.

Con esta decisión, GNOME Flatpak Runtime pasa a estar disponible únicamente para las arquitecturas x86_64 y AArch64, marcando el cierre definitivo de una etapa en la que el soporte multiarquitectura era una prioridad.

El mes pasado se lanzó GNOME 49 , muy fluido en general …

Sin embargo, algo que falta y que pasó desapercibido es que la extensión de compatibilidad de 32 bits del entorno de ejecución de GNOME Flatpak ya no está disponible. Planeábamos anunciarlo antes, pero la situación se lo impidió.

El final de una extensión histórica​


La extensión org.gnome.Platform.i386.Compat proporcionaba versiones de 32 bits de GTK, libadwaita, WebKitGTK y otras bibliotecas esenciales, permitiendo ejecutar software de 32 bits en sistemas modernos de 64 bits sin soporte nativo para multilib. Sin embargo, la realidad actual ha hecho innecesario mantener esta compatibilidad.

Aplicaciones populares como Wine y Steam, a pesar de seguir distribuyéndose en formato Flatpak, no se verán afectadas, ya que no dependen de las versiones de 32 bits de las bibliotecas de GNOME.

Motivos detrás de la decisión​


Los desarrolladores de GNOME mencionan que la principal razón de este cambio es aligerar la carga de la infraestructura de integración continua (CI) y reducir los problemas derivados de mantener compilaciones poco utilizadas.

Hace un par de años, abandonamos la compilación normal de armv7 e i386 a partir del entorno de ejecución. Con la eliminación de la extensión de compatibilidad con i386, ya no tenemos ningún objetivo de 32 bits que podamos controlar antes de lanzar GNOME. Anteriormente, se garantizaba que todos los módulos que lanzábamos compilarían al menos para i386/x86, pero de ahora en adelante esto no será así.

Y es que durante años, el equipo de GNOME reconstruía todo su entorno (incluyendo WebKitGTK, mozjs y varias bibliotecas basadas en Rust) al menos dos veces al día para cada arquitectura soportada. Este proceso consumía recursos considerables y generaba errores frecuentes en las compilaciones de 32 bits, debido a la falta de pruebas por parte de los desarrolladores antes de enviar cambios a los repositorios.

Cuando el proyecto perdió parte de su infraestructura donada de CI, la compilación de 32 bits fue lo primero en eliminarse. Dado que casi ninguna aplicación dependía directamente de esta extensión, la transición no tuvo impacto inmediato.

El equipo técnico, encabezado por Abderrahim y otros desarrolladores de GNOME, trabajó en migrar las pocas aplicaciones restantes hacia el entorno de ejecución principal de GNOME 49. De las cuatro aplicaciones que aún utilizaban la extensión (dos en Flathub, una en Flathub Beta y otra archivada), Bottles ya está prácticamente integrada, mientras que Lutris y Minigalaxy aún requieren algunos ajustes.

En teoría, se consideró mantener la compatibilidad con org.freedesktop.i386.Compat, pero se optó por una migración completa hacia el runtime moderno, ya que freedesktop-sdk sirve de base para el entorno de GNOME y permite un mantenimiento más simple.

Fin de las pruebas para arquitecturas de 32 bits​


Con la eliminación de esta extensión y de las compilaciones armv7 e i386, GNOME ya no realiza pruebas automáticas ni garantiza compatibilidad con sistemas de 32 bits. Anteriormente, todos los módulos de GNOME se aseguraban de compilar correctamente para i386/x86; ahora, cada proyecto individual decidirá si mantener ese soporte.

Algunos, como glib, siguen disponiendo de su propia infraestructura de CI para arquitecturas de 32 bits, pero en la mayoría de los casos, la corrección de errores específicos será opcional y dependerá de la buena voluntad de los mantenedores.

Finalmente, cabe mencionar que este movimiento no representa una pérdida significativa para los usuarios finales, sino más bien un paso hacia la simplificación y la eficiencia del desarrollo en GNOME. Al concentrar los esfuerzos en las arquitecturas más utilizadas, el proyecto podrá avanzar con mayor rapidez en la optimización de su entorno de escritorio y sus librerías, consolidando el soporte para sistemas modernos basados en 64 bits y ARM.

Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Continúar leyendo...