Há alguns dias, o projeto GNOME anunciado através de uma postagem de blog el anúncio do fim do desenvolvimento e suporte da extensão “org.gnome.Platform.i386.Compat”, uma peça-chave usada pelo ambiente de execução GNOME Flatpak para oferecer compatibilidade com aplicativos de 32 bits.
Com esta decisão, o GNOME Flatpak Runtime agora está disponível apenas para arquiteturas x86_64 e AArch64, marcando o encerramento definitivo de um período em que o suporte a múltiplas arquiteturas era uma prioridade.
O GNOME 49 foi lançado no mês passado e, no geral, funcionou muito bem…
No entanto, algo que passou despercebido e está faltando é que a extensão de compatibilidade de 32 bits para o tempo de execução do GNOME Flatpak não está mais disponível. Tínhamos planejado anunciar isso antes, mas a situação impediu.
O fim de uma extensão histórica
A extensão org.gnome.Platform.i386.Compat forneceu versões de 32 bits do GTK, libadwaita, WebKitGTK e outras bibliotecas essenciais, permitindo que software de 32 bits seja executado em sistemas modernos de 64 bits sem suporte nativo para multilib. No entanto, as realidades atuais tornaram desnecessária a manutenção dessa compatibilidade.
Aplicativos populares como Wine e Steam, embora ainda distribuídos no formato Flatpak, não serão afetados, pois não dependem de versões de 32 bits das bibliotecas do GNOME.
Razões por trás da decisão
Os desenvolvedores do GNOME mencionam que a principal razão desta mudança é aliviar a carga na infraestrutura de integração contínua (LÁ) e reduzir os problemas resultantes para manter compilações pouco utilizadas.
Há alguns anos, abandonamos a compilação normal para ARMv7 e i386 em tempo de execução. Com a remoção da extensão de compatibilidade i386, não temos mais alvos de 32 bits para monitorar antes de lançar o GNOME. Anteriormente, todos os módulos que lançávamos tinham garantia de compilação para pelo menos i386/x86, mas daqui para frente, isso não será mais o caso.
E durante anos, o A equipe do GNOME reconstruiu todo o seu ambiente (incluindo WebKitGTK, mozjs e várias bibliotecas baseadas em Rust) pelo menos duas vezes ao dia para cada arquitetura suportadaEsse processo consumia recursos consideráveis e causava erros frequentes em compilações de 32 bits devido à falta de testes pelos desenvolvedores antes de enviar alterações aos repositórios.
Quando o projeto perdeu parte da infraestrutura de CI doada, a versão de 32 bits foi a primeira a ser descontinuada. Como quase nenhum aplicativo dependia diretamente dessa extensão, a transição não teve impacto imediato.
equipe técnica, liderado por Abderrahim e outros desenvolvedores do GNOME, trabalhou na migração dos poucos aplicativos restantes para o tempo de execução principal do GNOME 49. Dos quatro aplicativos que ainda usam a extensão (dois no Flathub, um no Flathub Beta e um arquivado), O Bottles agora está quase todo integrado, enquanto o Lutris e o Minigalaxy ainda precisam de alguns ajustes.
Em teoria, considerou-se manter a compatibilidade com org.freedesktop.i386.Compat, mas uma migração completa para o tempo de execução moderno foi decidida, já que o freedesktop-sdk serve como base para o ambiente GNOME e permite uma manutenção mais simples.
Fim dos testes para arquiteturas de 32 bits
Com a remoção desta extensão e das compilações armv7 e i386, O GNOME não realiza mais testes automáticos nem garante compatibilidade com sistemas de 32 bits. Anteriormente, todos os módulos do GNOME garantiam a compilação correta para i386/x86; agora, cada projeto individual decidirá se manterá esse suporte.
alguns como superficialmente, eles ainda têm sua própria infraestrutura de CI para arquiteturas de 32 bits, Mas na maioria dos casos, corrigir bugs específicos será opcional e dependerá da boa vontade dos mantenedores.
Por fim, vale ressaltar que essa mudança não representa uma perda significativa para os usuários finais, mas sim um passo em direção à simplificação e à eficiência do desenvolvimento do GNOME. Ao concentrar esforços nas arquiteturas mais utilizadas, o projeto poderá avançar mais rapidamente na otimização do ambiente de trabalho e das bibliotecas, consolidando o suporte a sistemas modernos de 64 bits e baseados em ARM.
Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir.