Driver da AMD passa de 6,5 milhões de linhas e ocupa 16% do Kernel Linux 7.3-rc1

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Estrutura do Kernel gigante!

O Kernel Linux continua sua trajetória de crescimento estrutural, e o principal motor dessa expansão não são os subsistemas centrais do sistema operacional, mas sim o suporte a hardware gráfico. Com a chegada do Linux 7.3-rc1, o código-fonte total da plataforma alcançou a marca de 40,98 milhões de linhas. Desse montante, apenas a pilha de drivers de vídeo modernos da AMD (AMDGPU e AMDKFD) representa mais de 6,5 milhões de linhas, correspondendo a aproximadamente 16% de todo o projeto.

O crescimento acelerado foi destacado pelo próprio Linus Torvalds durante o anúncio oficial do Linux 7.3-rc1. Segundo o criador do sistema, as adições enviadas pela AMD representaram cerca de um terço de todo o volume de alterações introduzidas nesta primeira etapa de desenvolvimento da nova versão.

O impacto do DCN 6.0 e dos mapeamentos de hardware

A razão para o tamanho monumental do driver da AMD não está em lógicas de programação complexas ou em código duplicado sem necessidade, mas na forma como a empresa estrutura seu suporte de código aberto. A arquitetura gráfica da AMD exige arquivos de cabeçalho extremamente extensos, que consistem quase integralmente em definições C (macros) usadas para mapear todos os registradores físicos das novas gerações de hardware.

No Linux 7.3-rc1, o salto numérico foi provocado pela inclusão dos arquivos de registro do bloco IP de vídeo DCN 6.0 (Display Core Next) e de outros componentes recentes. Torvalds confirmou a natureza dessas adições no comunicado de lançamento: “Eles são enormes. Como sempre. É isso que você ganha quando despeja todas as definições de hardware como definições de cabeçalho C”.

Por que o tamanho do código não afeta o desempenho do seu PC

aJD6gcir linux 7 3 driver amd tamanho
Driver da AMD passa de 6,5 milhões de linhas e ocupa 16% do Kernel Linux 7.3-rc1 3

Para usuários que não acompanham o desenvolvimento de software, ler que um único diretório de drivers ocupa 16% do kernel pode gerar preocupação imediata com o consumo de memória RAM ou lentidão. No entanto, é necessário separar o código-fonte legível por humanos do código binário executável.

A gigantesca contagem de linhas do driver da AMD é composta em sua esmagadora maioria por texto de cabeçalho, que atua apenas como um dicionário físico das placas de vídeo para o compilador. Durante o uso diário, o sistema operacional carrega na memória apenas os módulos binários específicos da placa gráfica que estiver efetivamente instalada no computador, e esses cabeçalhos sequer se transformam em código executável em sua totalidade. Na prática, esse volume colossal de linhas significa apenas que a AMD continua garantindo o suporte antecipado para suas futuras GPUs diretamente no código principal.

O Kernel Linux em números

A análise técnica do código-fonte do Linux 7.3-rc1 expõe o panorama atual da base de código do sistema.

  • O Linux 7.3-rc1 soma exatas 40,98 milhões de linhas totais.
  • Desse total, 30,93 milhões são linhas de código real, 4,91 milhões são dedicadas a comentários de documentação e 5,13 milhões são linhas em branco estruturais.
  • Apenas o diretório de desenvolvimento da AMD atingiu 6,52 milhões de linhas. Essa soma inclui os headers, o código de exibição e os drivers modernos, isolando as placas Radeon muito antigas que utilizam um diretório separado.
  • Como base de comparação, a versão estável do Linux 7.2 possuía 40,42 milhões de linhas totais, sendo 6,35 milhões dedicadas ao mesmo diretório gráfico da AMD.

Com o ritmo atual de submissões de hardware e a manutenção constante de drivers, as projeções estatísticas sugerem que o Kernel Linux deve ultrapassar de forma consolidada a marca de 41 milhões de linhas de código já no ciclo de desenvolvimento do Linux 7.4.

Compartilhe este artigo
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.