Skip to main content

Weston Cold Boot Fails with EGL_NOT_INITIALIZED

Introduction

If you replace the default desktop with Weston, you may see an intermittent failure after a cold boot:

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

A warm reboot sometimes succeeds.

This page records a confirmed case and a working diagnosis so that others who hit the same logs can match symptoms and follow up. It is not a claim that every Seeed Jetson image or every JetPack 6 boot is affected.

Confirmed case

reComputer Super J401 (Jetson Orin Nano Super) flashed with Seeed R36.4.4 (JetPack 6.2), using Weston as the compositor.

Similar card0 / card1 ordering issues with Weston have also been discussed on the NVIDIA Developer Forums for other Jetson Orin + JetPack 6 setups. If you see the same logs on another Seeed Orin product or L4T R36.x image, this FAQ still applies as a starting point — please add details on the GitHub issue linked below.

If you do not need Weston, stay on the GNOME desktop that ships with the Seeed Jetson image.

The reports so far are about Weston as compositor (often after disabling GDM or using a kiosk/service start). Default GNOME is the practical workaround used in the confirmed case.

Symptoms

In the confirmed logs:

  • Cold power-on: Weston fails with EGL_NOT_INITIALIZED.
  • Soft/warm reboot: Weston may start.
  • Failed boots often show Weston using /dev/dri/card0 bound to nvidia-drm / nv_platform, sometimes with Cannot find any crtc or sizes.
  • Successful boots often show Weston using /dev/dri/card1, with tegra_drm holding the other node.

Example failure fragment:

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

What the logs suggest

Seeed BSP review of Linux_for_Tegra #50 points to a load-order interaction between tegra_drm and nvidia-drm on Orin (both can register DRM minors). There is no documented guarantee which driver receives minor 0 (/dev/dri/card0).

Observed when Weston failsObserved when Weston starts
Weston opens /dev/dri/card0; that node is often nvidia-drm / nv_platformWeston opens /dev/dri/card1; tegra_drm / host1x often holds the other card

Cold vs warm boot can change probe timing, which matches the intermittent behavior. This belongs to NVIDIA’s Weston-on-Tegra stack rather than a carrier-board flash error. NVIDIA has not published a dedicated fix notice for this symptom.

If you must use Weston

  1. Prefer GNOME unless the product truly requires Weston.
  2. Treat remaining Weston EGL/DRM issues as NVIDIA / upstream — post on the NVIDIA Developer Forums with Weston logs and dmesg | grep -i drm.
  3. To compare a failed boot vs a working boot:
# 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 does not ship a supported BSP patch that forces DRM probe order. Community workarounds (renaming /dev/dri nodes, custom modprobe timing) are out of scope for this FAQ.

If you reproduce this on another SKU or L4T version, comment on Linux_for_Tegra #50 with hardware, L4T/JetPack version, and the commands above.

Resources

Tech Support & Product Discussion

Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.

Loading Comments...