Snapdragon 8 Elite: Linux ativa display e USB-C no chip SM8750

Luzes no Snapdragon 8 Elite: Linux ganha suporte completo de display para o chip SM8750!

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...
  • Pixel a pixel: A nova série de patches "acorda" o subsistema gráfico do SM8750, conectando o processador de display (DPU) às interfaces físicas (DSI e DisplayPort).
  • Mágica no USB-C: O código habilita o "Mode Switch", permitindo que a porta USB funcione simultaneamente como saída de vídeo (DisplayPort) e conexão de áudio para fones analógicos.
  • Plataforma de teste: O suporte inicial é focado na placa de referência (MTP), acendendo um painel OLED Novatek NT37801 com taxas de atualização variáveis.
  • Qualidade de código: Chegando à versão v4, o código foi limpo de redundâncias e agora define explicitamente as frequências de link para garantir estabilidade no vídeo externo.
  • Pronto para o futuro: Com a aprovação dos principais mantenedores da Qualcomm e do Kernel, este é o passo fundamental para rodar Linux nativo (mainline) nos próximos flagships Android.

Krzysztof Kozlowski, da Qualcomm, enviou a quarta versão da série de patches que traz vida à tela dos dispositivos baseados no chip SM8750. A atualização configura todo o “pipeline” gráfico, desde o controlador de display até a saída física para painéis e portas USB-C.

Além de acender a tela principal, o código integra funcionalidades modernas de USB Tipo-C, permitindo que a porta USB sirva tanto para saída de vídeo (DisplayPort) quanto para conexão de fones de ouvido analógicos via adaptadores passivos.

O que foi implementado

A série adiciona os nós de dispositivo essenciais no arquivo de árvore de dispositivos (Device Tree) do SoC e da placa MTP:

  1. Infraestrutura de Display (MDSS): Adiciona o subsistema de display multimídia móvel, incluindo o processador de display (DPU) e o controlador de clock de display (dispcc).
  2. Interfaces de Saída:
    • DSI (Display Serial Interface): Configura os controladores e as camadas físicas (PHYs) de 3nm para comunicação com telas internas.
    • DisplayPort (DP): Habilita o controlador DP para saída de vídeo externa.
  3. Suporte à Placa MTP:
    • Habilita um painel Novatek NT37801 conectado via DSI, configurando reguladores de tensão e pinos de reset/vsync.
    • Conecta o controlador DisplayPort à PHY USB para permitir vídeo via USB-C (“DP Alt Mode”).
  4. Acessórios USB-C: Configura o switch de áudio WCD9395 para detectar e suportar fones de ouvido USB analógicos e o modo de acessório de áudio, além de lidar com a orientação do cabo.

Para o iniciante: como o Linux “acende” a tela do celular?

Imagine que o processador Snapdragon (o SoC) é como o cérebro de um artista plástico, e a tela do celular é a sua tela de pintura. Mesmo que o artista seja genial (hardware potente) e a tela seja de alta qualidade, nada acontece se eles não falarem a mesma língua.

Por padrão, quando o Linux é instalado em um chip novo como o SM8750, ele é “cego”. Ele não sabe onde conectar os cabos de vídeo, nem com que velocidade enviar as tintas (os pixels).

Esses patches funcionam como um mapa de fiação e um manual de instruções:

  1. O Gerente (MDSS/DPU): O código diz ao Linux onde está a parte do chip responsável por processar as imagens.
  2. O Cabo Interno (DSI): Ensina o processador a conversar com a tela do próprio celular (o painel Novatek mencionado) usando uma “estrada” de alta velocidade chamada DSI.
  3. O Adaptador Universal (DisplayPort via USB-C): Habilita uma mágica moderna. Ele configura a porta de carregar (USB-C) para que, se você conectar um cabo de vídeo ali, o celular saiba mudar o sinal de “dados” para “vídeo” e projetar a imagem em uma TV ou monitor externo.

Sem esse código, o celular ligaria, mas a tela ficaria preta, pois o sistema não saberia enviar as imagens para ela.

Detalhes técnicos e bastidores

A submissão v4 é o resultado de um refinamento contínuo. Nos bastidores, Dmitry Baryshkov (um revisor frequente do subsistema DRM/MSM) apontou a necessidade de corrigir a terminologia de “altmode” para “accessory mode” no contexto de áudio e remover configurações redundantes de pinos de sincronização (TE pin).

Outro detalhe interessante foi a adição explicita das frequências de link (link-frequencies) para o DisplayPort na v3, uma sugestão de Konrad Dybcio para garantir que o kernel saiba exatamente quais velocidades de transmissão o hardware suporta sem adivinhações.

Com todas as dependências de bindings (documentação de hardware) já fundidas anteriormente, este conjunto de patches está pronto para ser aplicado (“merged”) nas árvores oficiais, provavelmente visando o kernel Linux 6.15 ou superior (considerando a data atual simulada de 2026, possivelmente um kernel 7.x).

Curiosidades e bastidores da discussão

A evolução destes patches até a versão 4 revela o rigoroso processo de revisão da comunidade para garantir que o código seja preciso e estável:

  • Precisão terminológica: Dmitry Baryshkov (um dos mantenedores do subsistema) notou que o termo “altmode” estava sendo usado incorretamente para descrever a função de fones de ouvido no código. Ele solicitou a mudança para “accessory mode” (modo acessório). A diferença é técnica e importante: “Alt Mode” geralmente se refere a protocolos digitais complexos (como DisplayPort ou Thunderbolt), enquanto fones de ouvido USB analógicos usam um modo mais simples que apenas reconfigura os pinos do conector.
  • Nada de adivinhações: Na versão 3, Konrad Dybcio sugeriu adicionar explicitamente as link-frequencies para o DisplayPort. Isso impede que o kernel tenha que “adivinhar” ou sondar velocidades que o hardware talvez não suporte, garantindo uma conexão de vídeo externo mais rápida e estável.
  • Limpeza de código: Dmitry também apontou que a configuração do pino de sincronização (TE mdp_sync) era redundante e poderia ser removida, mantendo o arquivo de configuração (DTS) o mais limpo possível.
  • Consistência: Abel Vesa, outro desenvolvedor da Qualcomm, notou em versões anteriores que faltavam relógios de pixel (Pixel1 clock) que já existiam em outros chips da empresa, garantindo paridade de recursos entre as gerações de processadores.

Status

  • Autor: Krzysztof Kozlowski (Qualcomm)
  • Data: 18 de fevereiro de 2026
  • Versão: v4
  • Status: Revisado (Reviewed-by) por múltiplos mantenedores (Konrad Dybcio, Dmitry Baryshkov, Neil Armstrong, Abel Vesa, Taniya Das). Pronto para merge.
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.