Páginas

sábado, 11 de abril de 2026

Suporte a HDMI no BeagleV Ahead com kernel Linux principal PT - BR

 


Guia prático para ativar o suporte a HDMI no BeagleV Ahead com kernel Linux principal. Aprenda a configurar a Device Tree, carregar os módulos DRM do SoC TH1520 e resolver problemas comuns de detecção de monitor neste SBC RISC-V de código aberto.

O BeagleV Ahead é um single board computer (SBC) baseado na arquitetura aberta RISC-V, equipado com o SoC T-Head TH1520. Até então, a saída de vídeo por HDMI dependia de forks ou patches externos. 

Com a inclusão dos nós da Device Tree no kernel principal, o suporte ao HDMI passa a fazer parte da experiência padrão — sem necessidade de compilar módulos manualmente ou recorrer a árvores de dispositivo experimentais.

Este guia explica como ativar e verificar o funcionamento da saída HDMI no BeagleV Ahead utilizando apenas componentes do kernel Linux principal.

Público-alvo: iniciantes e intermediários familiarizados com o terminal Linux.


Pré‑requisitos

  • Um BeagleV Ahead com 4 GB de RAM (modelo base).
  • Acesso serial ou SSH à placa (caso o HDMI ainda não funcione).
  • .Conexão com a internet para atualizar o kernel e a Device Tree.

⚠️ Aviso: manipular a Device Tree ou o kernel pode tornar o sistema não inicializável. Tenha um backup do cartão SD e mantenha acesso serial para recuperação.

Passo a passo

1. Identifique a versão do kernel em execução

bash
uname -r

Se a saída indicar uma versão igual ou superior a 6.11 (onde o suporte ao TH1520 amadureceu), prossiga. Caso contrário, atualize o kernel.

2. Atualize o kernel e a Device Tree para a versão principal

A distribuição oficial para RISC‑V geralmente fornece pacotes do kernel principal. O procedimento varia conforme a família:

Debian / Ubuntu (APT):

bash
sudo apt update
sudo apt install linux-image-riscv64 device-tree-compiler

Fedora / openSUSE (DNF/Zypper):

bash
sudo dnf update kernel device-tree-compiler   # Fedora
sudo zypper update kernel dtc                 # openSUSE

Após a instalação, reinicie a placa:

3. Verifique se os nós da Device Tree estão presentes

A Device Tree informa ao kernel quais periféricos estão disponíveis. Para o HDMI funcionar, é necessário que os nós dpu (Display Pipeline Unit), hdmi e o conector correspondente estejam ativos.

bash
ls /proc/device-tree/soc/ | grep -E "dpu|hdmi"

Saída esperada:

text
dpu@xxxxxx
hdmi@xxxxxx

Se os nós não aparecerem, a Device Tree carregada pelo bootloader pode ser antiga. Force o uso da Device Tree do kernel:

bash
sudo cp /boot/dtbs/*/thead/th1520-beaglev-ahead.dtb /boot/

Edite o arquivo de configuração do bootloader (U-Boot) em /boot/extlinux/extlinux.conf e adicione:

text
FDT /boot/th1520-beaglev-ahead.dtb

Reinicie novamente.


4. Carregue os módulos do kernel para o pipeline gráfico

O suporte ao HDMI depende dos drivers drm_kms_helper (modesetting) e do driver específico do Imagination GPU. Carregue‑os manualmente (o sistema fará isso automaticamente ao detectar o hardware, mas é útil forçar para teste):

bash
sudo modprobe drm_kms_helper
sudo modprobe imagination_drm_dpu
sudo modprobe imagination_drm_hdmi

Para tornar permanente, crie um arquivo:

bash
echo "imagination_drm_dpu" | sudo tee /etc/modules-load.d/beaglev-hdmi.conf

5. Verifique a detecção do monitor HDMI

Com o cabo HDMI conectado a um monitor, consulte o status do connector:

bash
cat /sys/class/drm/card0-HDMI-A-1/status

Saída esperada: connected

Para listar modos de resolução disponíveis:

bash
cat /sys/class/drm/card0-HDMI-A-1/modes

6. Ative a saída de vídeo (caso não esteja ativa automaticamente)

Se o monitor permanecer escuro mesmo com o conector detectado, force a ativação via sysfs:

bash
echo "on" | sudo tee /sys/class/drm/card0-HDMI-A-1/status

Ou utilize o comando xrandr (se um servidor X estiver em execução) ou wlr-randr (para Wayland). Em um ambiente apenas console (framebuffer), o kernel já deve exibir o splash de boot assim que o pipeline for habilitado.



Problemas comuns:



🔐 Segurança: nunca execute chmod -R 777 /dev/dri ou comandos similares. Isso quebra permissões do sistema. Prefira adicionar seu usuário ao grupo video ou render:

bash
sudo usermod -aG video,video $USER


Requer re‑login


Leituras complementares

  • man 8 modprobe – para entender carregamento de módulos

  • man 5 device-tree – especificação da Device Tree no Linux

  • Documentação oficial do kernel sobre DRM: info drm (se o pacote linux-doc estiver instalado)


Resumo

O BeagleV Ahead agora conta com suporte HDMI nativo no kernel Linux principal, dispensando forks ou patches manuais. Basta:

  1. Atualizar o kernel para versão recente (≥ 6.11)
  2. Garantir que a Device Tree correta esteja sendo carregada
  3. Verificar a presença dos módulos imagination_drm_* e o status do conector HDMI
  4. Testar com um monitor compatível

Com isso, o SBC RISC‑V de $150 USD se torna uma opção mais acessível para quem deseja explorar vídeo em hardware aberto sem depender de binários proprietários.

Nenhum comentário:

Postar um comentário