Saltar al contenido principal

El arranque en frío de Weston falla con EGL_NOT_INITIALIZED

Introducción​

Si sustituyes el escritorio predeterminado por Weston, puedes ver un fallo intermitente después de un arranque en frío:

failed to initialize display
EGL error state: EGL_NOT_INITIALIZED (0x3001)

Un reinicio en caliente a veces tiene éxito.

Esta página registra un caso confirmado y un diagnóstico funcional para que otros que encuentren los mismos registros puedan comparar síntomas y hacer seguimiento. No es una afirmación de que todas las imágenes Seeed Jetson o todos los arranques de JetPack 6 estén afectados.

Caso confirmado

reComputer Super J401 (Jetson Orin Nano Super) flasheado con Seeed R36.4.4 (JetPack 6.2), usando Weston como compositor.

Problemas similares de orden card0 / card1 con Weston también se han debatido en los Foros de Desarrolladores de NVIDIA para otras configuraciones de Jetson Orin + JetPack 6. Si ves los mismos registros en otro producto Orin de Seeed o en una imagen L4T R36.x, este FAQ sigue siendo válido como punto de partida; por favor añade detalles en el issue de GitHub enlazado más abajo.

Escritorio recomendado​

Si no necesitas Weston, mantente en el escritorio GNOME que se incluye con la imagen Seeed Jetson.

Los informes hasta ahora se refieren a Weston como compositor (a menudo después de desactivar GDM o usar un inicio tipo kiosco/servicio). GNOME predeterminado es la solución práctica utilizada en el caso confirmado.

Síntomas​

En los registros confirmados:

  • Encendido en frío: Weston falla con EGL_NOT_INITIALIZED.
  • Reinicio suave/en caliente: Weston puede iniciarse.
  • Los arranques fallidos a menudo muestran a Weston usando /dev/dri/card0 vinculado a nvidia-drm / nv_platform, a veces con Cannot find any crtc or sizes.
  • Los arranques correctos a menudo muestran a Weston usando /dev/dri/card1, con tegra_drm manteniendo el otro nodo.

Fragmento de fallo de ejemplo:

using /dev/dri/card0
Loading module '.../gl-renderer.so'
failed to initialize display
EGL error state: EGL_NOT_INITIALIZED (0x3001)

Lo que sugieren los registros​

La revisión del BSP de Seeed de Linux_for_Tegra #50 apunta a una interacción en el orden de carga entre tegra_drm y nvidia-drm en Orin (ambos pueden registrar minors DRM). No hay ninguna garantía documentada de qué controlador recibe el minor 0 (/dev/dri/card0).

Observado cuando Weston fallaObservado cuando Weston arranca
Weston abre /dev/dri/card0; ese nodo suele ser nvidia-drm / nv_platformWeston abre /dev/dri/card1; tegra_drm / host1x suele mantener la otra tarjeta

El arranque en frío frente al arranque en caliente puede cambiar el tiempo de sondeo, lo que coincide con el comportamiento intermitente. Esto pertenece a la pila de Weston-on-Tegra de NVIDIA más que a un error de flasheo de la carrier board. NVIDIA no ha publicado un aviso de corrección específico para este síntoma.

Si debes usar Weston​

  1. Da preferencia a GNOME a menos que el producto realmente requiera Weston.
  2. Trata los problemas restantes de Weston EGL/DRM como NVIDIA / upstream: publica en los Foros de Desarrolladores de NVIDIA con los registros de Weston y dmesg | grep -i drm.
  3. Para comparar un arranque fallido frente a un arranque correcto:
# 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

Seeed no distribuye un parche de BSP soportado que fuerce el orden de sondeo de DRM. Las soluciones alternativas de la comunidad (renombrar nodos /dev/dri, temporización personalizada de modprobe) están fuera del alcance de este FAQ.

Si reproduces esto en otro SKU o versión de L4T, comenta en Linux_for_Tegra #50 con el hardware, la versión de L4T/JetPack y los comandos anteriores.

Recursos​

Soporte técnico y debate sobre el producto​

Gracias por elegir nuestros productos. Estamos aquí para ofrecerte distintos tipos de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades.

Loading Comments...