Cold Boot do Weston Falha com EGL_NOT_INITIALIZED
Introdução
Se você substituir a área de trabalho padrão pelo Weston, poderá ver uma falha intermitente após um cold boot:
failed to initialize display
EGL error state: EGL_NOT_INITIALIZED (0x3001)
Um warm reboot às vezes funciona.
Esta página registra um caso confirmado e um diagnóstico funcional para que outras pessoas que encontrem os mesmos logs possam comparar os sintomas e dar continuidade. Não é uma afirmação de que toda imagem Seeed Jetson ou toda inicialização do JetPack 6 seja afetada.
reComputer Super J401 (Jetson Orin Nano Super) gravado com a imagem Seeed R36.4.4 (JetPack 6.2), usando Weston como compositor.
Problemas semelhantes de ordenação card0 / card1 com Weston também foram discutidos no NVIDIA Developer Forums para outras configurações de Jetson Orin + JetPack 6. Se você vir os mesmos logs em outro produto Orin da Seeed ou em uma imagem L4T R36.x, este FAQ ainda se aplica como ponto de partida — adicione detalhes na issue do GitHub vinculada abaixo.
Área de trabalho recomendada
Se você não precisar do Weston, permaneça na área de trabalho GNOME que vem com a imagem Seeed Jetson.
Os relatos até agora são sobre o Weston como compositor (frequentemente após desativar o GDM ou usar um modo quiosque/inicialização via serviço). O GNOME padrão é a solução prática usada no caso confirmado.
Sintomas
Nos logs confirmados:
- Ligamento a frio (cold power-on): Weston falha com
EGL_NOT_INITIALIZED. - Reinicialização suave/morna (soft/warm reboot): Weston pode iniciar.
- Inicializações com falha frequentemente mostram o Weston usando
/dev/dri/card0vinculado anvidia-drm/nv_platform, às vezes comCannot find any crtc or sizes. - Inicializações bem-sucedidas frequentemente mostram o Weston usando
/dev/dri/card1, comtegra_drmmantendo o outro nó.
Exemplo de trecho de falha:
using /dev/dri/card0
Loading module '.../gl-renderer.so'
failed to initialize display
EGL error state: EGL_NOT_INITIALIZED (0x3001)
O que os logs sugerem
A análise do BSP da Seeed em Linux_for_Tegra #50 aponta para uma interação de ordem de carregamento entre tegra_drm e nvidia-drm no Orin (ambos podem registrar minors de DRM). Não há garantia documentada de qual driver recebe o minor 0 (/dev/dri/card0).
| Observado quando o Weston falha | Observado quando o Weston inicia |
|---|---|
Weston abre /dev/dri/card0; esse nó costuma ser nvidia-drm / nv_platform | Weston abre /dev/dri/card1; tegra_drm / host1x frequentemente mantém a outra placa |
Cold boot vs warm boot pode alterar o tempo de detecção (probe), o que condiz com o comportamento intermitente. Isso pertence à pilha Weston-on-Tegra da NVIDIA, e não a um erro de gravação da placa-carregadora. A NVIDIA não publicou um aviso de correção dedicado para esse sintoma.
Se você realmente precisar usar Weston
- Prefira o GNOME a menos que o produto realmente exija Weston.
- Trate os problemas restantes de EGL/DRM com Weston como NVIDIA / upstream — publique no NVIDIA Developer Forums com os logs do Weston e a saída de
dmesg | grep -i drm. - Para comparar uma inicialização com falha e uma inicialização bem-sucedida:
# Which driver owns card0?
readlink -f /sys/class/drm/card0/device/driver
sudo udevadm info /dev/dri/card0
ls -l /dev/dri /dev/dri/by-path
sudo dmesg | grep -i drm
A Seeed não fornece um patch de BSP suportado que force a ordem de detecção do DRM. Soluções alternativas da comunidade (renomear nós em /dev/dri, temporização personalizada de modprobe) estão fora do escopo deste FAQ.
Se você reproduzir isso em outro SKU ou versão do L4T, comente em Linux_for_Tegra #50 com o hardware, a versão do L4T/JetPack e os comandos acima.
Recursos
- Seeed Linux_for_Tegra #50 — Cold boot do Weston sem display / EGL_NOT_INITIALIZED
- Can't enable modeset on boot for Wayland (AGX Orin, JP 6.0)
- Weston kiosk / nvidia_drm load order (Orin Nano Super)
- NVIDIA Jetson Linux — Weston (Wayland) (R36.4)
- Introdução ao reComputer Super
Suporte Técnico e Discussão de Produtos
Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.