História & Arquitetura
História
O KDE Linux foi idealizado por um grupo de colaboradores centrais do KDE nas instalações da Tuxedo Computers, durante o sprint do Plasma realizado no início de 2023 em Augsburg, na Alemanha. Um deles — o veterano desenvolvedor do KDE Harald Sitter — criou e começou a aperfeiçoar um protótipo, apresentando-o publicamente na Akademy 2024 (slides, gravação).
Uma versão alfa foi lançada na Akademy 2025 (slides, gravação).
Razão de existir
- Ser "o sistema operacional KDE" para que o KDE possa manter relacionamentos diretos com fabricantes de hardware e usuários
- Apresentar o software KDE sob a sua melhor luz
- Oferecer uma experiência do usuário (UX) de alta qualidade, competitiva com a de alternativas proprietárias ou superior a ela
- Não obrigar os usuários a instalar manualmente drivers de dispositivo, recursos opcionais do KDE, etc.
- Ser altamente confiável e de fácil recuperação
- Aprimorar o software KDE implantado por meio de aplicativos conteinerizados e sistemas operacionais baseados em imagem, de modo geral
- Qualquer edição pode ser utilizada como sistema principal pelos nossos desenvolvedores para fins de dogfooding interno
Coisas com as quais decidimos conscientemente não nos importar neste momento
- Driver de kernel proprietário da NVIDIA para placas de vídeo anteriores à série NVIDIA GTX 16xx (as mais recentes utilizam os módulos de kernel de código aberto, que já estão incluídos).
- VirtualBox – requer módulos de kernel externos à árvore principal, enquanto outras soluções de VM funcionam bem.
- VPNs específicas de fornecedor – requerem módulos de kernel personalizados externos à árvore do kernel
Arquitetura
Design
O KDE Linux incorpora lições aprendidas com o projeto anterior KDE neon e concentra-se em resiliência, capacidade de recuperação, facilidade de uso e baixa necessidade de manutenção. Seu design é fortemente inspirado nas ideias do criador do systemd Lennart Poettering sobre o design de sistemas operacionais (SO) e extensões de sistema.
Sendo assim, o KDE Linux é um sistema operacional "baseado em imagem". Isso significa que todo o sistema operacional base é fornecido como uma unidade única, em vez de ser dividido em milhares de pacotes que são montados no produto final diretamente no seu computador.
Às vezes, esse modelo é chamado de "imutável" porque o sistema operacional base não pode ser modificado da mesma forma que um sistema operacional tradicional composto por pacotes. No entanto, essa terminologia pode ser enganosa; no KDE Linux, apenas o diretório /usr é fornecido na forma de uma imagem somente leitura, e todo o restante do sistema é modificável, assim como em qualquer outro sistema operacional baseado em Linux. E o /usr é modificável por meio do uso de extensões do systemd.
Implementação de alto nível
O systemd-boot é utilizado como gerenciador de inicialização.
A imagem inicializável é uma imagem de disco .raw compatível com ISO, criada utilizando o mkosi. O sistema base provém de pacotes do Arch Linux, com a maior parte do conteúdo do KDE compilada utilizando o kde-builder. Alguns aplicativos do KDE e de terceiros vêm pré-instalados como Flatpaks.
/ é um volume Btrfs de leitura e gravação. O diretório /usr é montado sobre ele na forma de uma imagem ou sistema de arquivos EROFS. A atualização do sistema envolve baixar uma nova imagem desse tipo, juntamente com a respectiva imagem de kernel unificada (UKI). Cerca de 3 a 4 dessas imagens de SO e suas respectivas UKIs permanecem armazenadas em cache no disco, permitindo reverter a alteração caso ocorram problemas após a atualização.
Um pequeno programa auxiliar atualiza o /etc a partir do conteúdo em /usr/share/factory/etc na imagem do SO ativa, para quaisquer itens que você não tenha modificado pessoalmente. Instantâneos (snapshots) Btrfs de /etc são gerados automaticamente.
/home é um subvolume Btrfs.
Os aplicativos voltados para o usuário exibidos no Discover vêm do Flathub.
Não há um gerenciador de pacotes incluído, mas existem vários métodos disponíveis para instalar softwares que não estão disponíveis como aplicativos Flatpak. Este é um tópico em evolução, sujeito a mudanças ao longo do tempo.
Artigo contribuído por Nate Graham sob a licença CC-BY-4.0.