Hi,
So after 10h of test and retry in the x11 container world, I finally make it working. Here is the related docker-compose
config sample, very similar from xserver/docker-compose.yaml.
ui.x11:
restart: always
image: balenablocks/xserver:aarch64-latest
privileged: true
environment:
UDEV: 1
labels:
io.balena.features.dbus: "1"
volumes:
- x11.socket:/tmp/.X11-unix
- x11.auth:/tmp/.X11-auth
- src:/src
network_mode: "none"
ourgui.app:
restart: always
image: out.private.registry/ourgui.app:sometag
volumes:
- src:/src
- x11.socket:/tmp/.X11-unix
- x11.auth:/tmp/.X11-auth
networks:
- manager
I’m not sure 100% about all parameter here, I didn’t used DRI device and its permission yet, it works without it on a raspberry4 device. I reused the balena’s own image of the xserver container. I guessed the dockerhub path by reading the build-images.sh => FROM balenablocks/xserver:aarch64-latest
So conclusion: it works. Is it production ready? probably not yet, because so much things can break, and it needs huge troubleshooting skills to solve it.
One problem I faced for example: The X server started once on DISPLAY=:3
==> /tmp/.X11-unix/X3
, the GUI client waited forever or was failing continuously trying to reach DISPLAY=:0
Hope this experience can help other user too.
Regards,
Sylvain.