A Collabora deu um passo importante para o futuro do ecossistema Steam ao anunciar uma prévia do Holo Core, um porte do Arch Linux para a arquitetura AArch64 (ARM64). O projeto está sendo desenvolvido em parceria com a Valve e servirá como base para o sistema operacional do aguardado Steam Frame, o headset de realidade mista que vem aparecendo cada vez mais em anúncios, vazamentos e atualizações relacionadas ao SteamVR.
Embora o anúncio tenha como foco o Steam Frame, a iniciativa também representa um avanço para a comunidade Linux. Afinal, colocar uma distribuição rolling release como o Arch Linux para funcionar em uma arquitetura que ela não suporta oficialmente envolve muito mais do que recompilar pacotes.
O SteamOS já utiliza uma versão profundamente adaptada do Arch Linux nos dispositivos da Valve. O desafio é que essa base foi construída pensando na arquitetura x86_64, presente em PCs e no Steam Deck. O Steam Frame, por outro lado, utiliza um processador ARM, exigindo uma infraestrutura completamente diferente para manter o sistema atualizado sem abrir mão da filosofia de desenvolvimento do Arch.
A primeira versão pública do Holo Core disponibiliza binários, código-fonte e contêineres de desenvolvimento suficientes para que desenvolvedores experimentem o ambiente. Ainda não se trata de uma distribuição completa. O objetivo inicial foi reconstruir apenas os milhares de pacotes necessários para criar imagens do sistema e desenvolver o software destinado ao novo dispositivo.
Muito além de uma recompilação
Criar um porte de uma distribuição Linux costuma seguir um roteiro conhecido: realizar uma compilação cruzada inicial, montar um sistema mínimo e reconstruir os pacotes para a nova arquitetura. O verdadeiro desafio começa quando todo esse processo precisa ser reproduzido automaticamente sempre que novos pacotes chegam aos repositórios.
Como o Arch Linux é uma distribuição rolling release, praticamente todos os dias algum componente importante recebe atualização. Isso cria um cenário bastante complexo para qualquer tentativa de reconstrução histórica dos pacotes.
A Collabora precisou desenvolver uma infraestrutura capaz de determinar exatamente em que ordem cada pacote deve ser compilado, respeitando milhares de dependências diretas e indiretas. Em muitos casos, essa sequência sequer corresponde à ordem em que os pacotes aparecem nos repositórios oficiais, obrigando a ferramenta a reorganizar todo o processo.
Outro obstáculo envolve linguagens como Rust. Para recompilar uma versão recente do compilador, frequentemente é necessário utilizar diversas versões intermediárias anteriores. Esse efeito dominó também ocorre com bibliotecas fundamentais do sistema, exigindo que versões antigas e novas coexistam temporariamente durante a reconstrução dos pacotes.
O maior diferencial do projeto talvez seja sua infraestrutura de integração contínua (CI). Em vez de gerar um conjunto estático de pacotes, a Collabora pretende construir um sistema capaz de acompanhar automaticamente a evolução do Arch Linux.
Isso significa identificar novas versões, recalcular toda a árvore de dependências, executar reconstruções quando necessário e gerar novos pacotes para ARM praticamente em paralelo ao desenvolvimento da versão x86_64.
Essa abordagem reduz drasticamente o trabalho manual necessário para manter o porte atualizado e aproxima o projeto de um dos objetivos declarados pela empresa: colaborar com o próprio Arch Linux para tornar um porte oficial para AArch64 uma possibilidade real no futuro.
O tempo complica tudo
Existe outro fator que normalmente passa despercebido por quem apenas utiliza uma distribuição Linux: reconstruir software antigo nem sempre é possível meses depois.
Projetos mudam de servidor, repositórios são reorganizados, URLs deixam de existir e até os identificadores de commits podem mudar de formato. Serviços que hospedam código também passaram a limitar downloads automáticos em resposta ao aumento de crawlers e ferramentas de inteligência artificial, o que pode quebrar pipelines inteiros de compilação.
Somam-se a isso os casos em que determinados programas simplesmente não funcionam em ARM sem modificações específicas, exigindo patches adicionais para corrigir incompatibilidades de arquitetura.
Um projeto que vai além do Steam Frame
Apesar de ter nascido para atender às necessidades da Valve, o Holo Core tem potencial para beneficiar um público muito maior. Toda a infraestrutura desenvolvida para reconstruir o Arch Linux de forma reproduzível pode servir como base para futuros esforços de portabilidade e automação dentro da própria comunidade.
A Collabora afirma que pretende abrir gradualmente suas ferramentas e trabalhar em conjunto com os mantenedores do Arch Linux para compartilhar essa infraestrutura. Se esse objetivo for alcançado, o resultado poderá facilitar o surgimento de um suporte muito mais sólido à arquitetura ARM dentro de uma das distribuições mais influentes do ecossistema Linux.
Ao mesmo tempo, o anúncio demonstra que o Steam Frame está cada vez mais próximo. Nas últimas semanas, a Valve também atualizou significativamente a interface do SteamVR, adicionando diversos elementos que apontam para um novo dispositivo. Agora, com a confirmação de que existe uma base Linux preparada para hardware ARM, mais uma peça importante desse quebra-cabeça finalmente entrou no lugar.
Fique por dentro das principais novidades da semana sobre tecnologia e Linux: receba nossa newsletter!




