Suporte aprimorado de vídeo chega ao Kernel Linux 7.0 para displays LCD Sitronix

Novo driver DRM no Kernel Linux 7.0 facilita o uso de telas LCD via SPI!

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...
  • O patch implementa um driver DRM unificado para painéis LCD Sitronix ST7789V.
  • Hardware embarcado ganha facilidade plug and play usando comunicação SPI de 8 bits.
  • Desenvolvedores da LKML colaboram para migrar suporte antigo para helpers MIPI DBI.
  • O subsistema DRM recebe otimização de código aberto para telas de diversos fabricantes.
  • Atualização confirmada para o Kernel Linux 7.0 beneficiará projetos IoT e Raspberry Pi.

O desenvolvedor Archit Anant submeteu um patch para o Kernel Linux 7.0 focado na introdução de um novo driver DRM para os controladores de display Sitronix ST7789V. A mudança foca em unificar e modernizar o suporte para essas telas, que são amplamente utilizadas em projetos de hardware embarcado e dispositivos IoT.

O ganho imediato da proposta é a padronização da comunicação de vídeo. A alteração permite o uso de conexões SPI padrão de 8 bits, aposentando códigos legados e entregando uma compatibilidade real com uma variedade imensa de painéis de diferentes fabricantes encontrados no mercado. A presença do Kernel Linux 7.0 garante que essa base moderna seja distribuída amplamente.

O que isso significa na prática

Telas LCD pequenas, comuns em dispositivos portáteis e projetos eletrônicos caseiros, precisam de um driver específico para que o sistema operacional saiba como desenhar e transmitir imagens para elas. Até agora, o sistema lidava com o chip ST7789V de duas formas incompletas: uma bastante envelhecida (via fbdev) e outra que exigia um tipo de comunicação elétrica (SPI de 9 bits) que a grande maioria das placas de desenvolvimento simplesmente não suporta nativamente.

O patch corrige esse obstáculo adotando o padrão de 8 bits auxiliado por um pino extra de controle. Na prática, isso significa que telas baratas compradas no varejo online funcionarão “plug and play” e de forma otimizada, sem exigir que o usuário crie adaptações complexas no hardware ou instale bibliotecas não oficiais para ter imagem.

Detalhes da implementação

A alteração ocorre dentro do subsistema DRM (Direct Rendering Manager) do kernel. A principal sacada técnica do autor foi migrar a sequência de inicialização, que antes ficava isolada na área de staging do kernel, para a moderna infraestrutura de vídeo usando o mipi_dbi.

O driver estabelece configurações específicas de tempo (registradores PORCTRL e GCTRL) e de cor (correção Gamma e Inversão) para acomodar as diferenças elétricas de várias versões do painel, como o HannStar HSD20 IPS e os modelos da Inanbo. Ao abdicar das palavras SPI de 9 bits, o novo código delega o controle para o helper MIPI DBI gerenciar o fluxo via SPI de 8 bits em conjunto com um pino GPIO D/C (Data/Command), uma abordagem muito mais padronizada.

Curiosidades e bastidores da discussão

A troca de e-mails na LKML revelou os bastidores da evolução do código aberto. Logo após a submissão, o revisor David Lechner questionou se não seria mais lógico usar apenas um arquivo de firmware genérico em vez de criar um driver inteiro. Archit explicou que as diferenças de hardware entre os painéis ST7789V exigiam código dedicado na inicialização.

A grande reviravolta ocorreu quando os desenvolvedores Chen-Yu Tsai e Javier Martinez Canillas entraram no debate. Chen-Yu revelou que já estava com um trabalho em andamento para refatorar o driver antigo do Sitronix e convertê-lo exatamente para o padrão mipi_dbi. No mesmo tópico, Javier recomendou a migração para os “atomic helpers” no lugar da pipeline simples de display, o que gerou um debate técnico produtivo com Thomas Zimmermann. Diante disso, Archit decidiu retirar sua proposta original de um driver totalmente novo para focar em adicionar o suporte aos seus painéis específicos diretamente no código que Chen-Yu está prestes a publicar, unindo esforços.

Quando isso chega no meu PC?

Como este envio específico foi submetido na fase de “Request for Comments” (RFC) para o ciclo do Kernel Linux 7.0 e a comunidade optou por um esforço colaborativo, a implementação definitiva chegará de forma um pouco diferente da originalmente proposta. A mudança impacta os repositórios principais do kernel nas próximas semanas, assim que a refatoração unificada for submetida. Após o lançamento da versão Estável do Kernel Linux 7.0, sistemas operacionais focados em hardware embarcado, como Raspberry Pi OS, Armbian e distribuições Linux para roteadores, começarão a entregar esse suporte de vídeo aprimorado em suas atualizações.

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.