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).
- Cartão microSD com bootloader e sistema operacional baseado em Linux RISC‑V (ex.: Debian sid, openSUSE Tumbleweed, Fedora RISC‑V).
- 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
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:
sudo apt update sudo apt install linux-image-riscv64 device-tree-compiler
Fedora / openSUSE (DNF/Zypper):
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.
ls /proc/device-tree/soc/ | grep -E "dpu|hdmi"
Saída esperada:
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:
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:
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):
Para tornar permanente, crie um arquivo:
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:
cat /sys/class/drm/card0-HDMI-A-1/status
Saída esperada: connected
Para listar modos de resolução disponíveis:
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:
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:
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)
- Repositório de firmware e Device Trees do BeagleV Ahead: github.com/beagleboard/beaglev-ahead (use tags estáveis, não branches main)
Resumo
- Atualizar o kernel para versão recente (≥ 6.11)
- Garantir que a Device Tree correta esteja sendo carregada
- Verificar a presença dos módulos imagination_drm_* e o status do conector HDMI
- Testar com um monitor compatível

Nenhum comentário:
Postar um comentário