I am having trouble getting an application to display through a BalenaOS container.
Currently running on:
- Jetson Orin NX (arm64)
- BalenaOS version: balenaOS 6.5.25+rev3 (l4t-r36.4)
- Supervisor version: 17.0.2
The application itself is a Rust Tauri application with a Svelte frontend, and it’s sole purpose is for forwarding the HDMI output as a video stream (though for testing, at the moment, the Jetson Orin is directly connected to a monitor).
There’s two errors that occur when trying to get an application to display (depending on what we changed):
could not select device driver “” with capabilities: [[gpu]]
or
unable to open display “:0”
I’'ve double checked, and the “${DISPLAY}“ is set, and I’'ve tried the following things as well:
- jetson-examples/jetson-orin at master · balena-io-examples/jetson-examples · GitHub
- GitHub - balena-io-experimental/jetson-sample-new: Jetson samples for CUDA and OpenCV on Nano, TX2, Xavier and Orin
- Using multiple different Jetson Orin base images from Balenalib dockerhub
- GitHub - balena-io-examples/nvidia-x86: Example of using CUDA on an Nvidia GPU in an x86 device. (and changing it into an arm docker compose)
- Reflashing the Jetson Orin with clean BalenaOS version
- Adding BalenaEngine labels to the docker compose (gpu, dbus, kernel)
- Adding /dev/dri devices (along with the group_add: video) to the docker compose
- Tried the following base image “dustynv/ros:humble-desktop-l4t-r36.4.0“ along with a barebones Dockerfile including xeyes
- Nvidia runtime in docker compose
- Setting up xserver service inside docker compose
Is there something I am not thinking of/doing wrong, or is it actually not possible to run an application inside of a Balena container that displays something on a monitor/through the HDMI?
The only thing displayed on the monitor is always the standard Balena HostOS terminal.