Hello Torizon Community,
I am using a Toradex Colibri iMX7D 1GB (eMMC) on a Colibri Evaluation Board V3 with the following Torizon OS configuration:
Torizon OS:
TorizonCore Upstream
Version: 6.8.9-build.46
Kernel: 6.1.176-6.8.9+git.fdb6fcb41cc7 #1-TorizonCore
-
Architecture:
armv7l -
Hardware: Colibri iMX7D 1GB (eMMC)
-
Toradex version:
0039 V1.1B
I am running Weston inside Docker using the following docker-compose.yml:
services:
tailscale:
image: tailscale/tailscale:latest
container_name: tailscale
network_mode: host
restart: always
cap_add:
- NET_ADMIN
- NET_RAW
volumes:
- /var/lib/tailscale:/var/lib/tailscale
environment:
- TS_STATE_DIR=/var/lib/tailscale
- TS_USERSPACE=false
weston:
image: torizon/weston:4
restart: always
privileged: true
network_mode: host
ipc: host
environment:
- ENABLE_RDP=1
volumes:
- /tmp:/tmp
- /dev:/dev
- /run/udev:/run/udev
- /home/torizon/custom:/etc/xdg/weston-dev/
- /home/torizon/custom/Loading.png:/home/torizon/custom/Loading.png
cap_add:
- CAP_SYS_TTY_CONFIG
device_cgroup_rules:
- 'c 4:* rmw'
- 'c 13:* rmw'
- 'c 226:* rmw'
- 'c 10:223 rmw'
app:
image: intersense123/octo:1.2
privileged: true
restart: always
depends_on:
- weston
environment:
- QT_QPA_PLATFORM=wayland
- WAYLAND_DISPLAY=wayland-0
- XDG_RUNTIME_DIR=/tmp/1000-runtime-dir
volumes:
- /tmp:/tmp
- /dev:/dev
- /run/udev:/run/udev
- /var/rootdirs/media:/media:rshared
- /sys:/sys
- /etc/machine-id:/etc/machine-id:ro
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /var/run/systemd:/var/run/systemd
- /usr/bin/systemctl:/usr/bin/systemctl:ro
- /run/dbus:/run/dbus
- /home/torizon/docker-compose.yml:/home/torizon/docker-compose.yml
- /home/torizon/Precigo:/home/torizon/app/data
devices:
- /dev/ttymxc0
- /dev/rtc0
- /dev/rtc1
cap_add:
- SYS_TIME
- NET_ADMIN
- SYS_BOOT
device_cgroup_rules:
- 'c 13:* rmw'
network_mode: host
Problem
The important point is that the exact same Docker Compose configuration works correctly on another identical Colibri iMX7D unit.
However, on this particular device, Weston continuously reports:
failed to create kms fb: Invalid argument
weston | [05:19:13.617] failed to get drm_fb for bo
weston | [05:19:14.420] failed to create kms fb: Invalid argument
weston | [05:19:14.420] failed to get drm_fb for bo
weston | [05:19:14.723] failed to create kms fb: Invalid argument
weston | [05:19:14.723] failed to get drm_fb for bo
weston | [05:19:15.008] failed to create kms fb: Invalid argument
weston | [05:19:15.009] failed to get drm_fb for bo
weston | [05:19:15.307] failed to create kms fb: Invalid argument
weston | [05:19:15.323] failed to get drm_fb for bo
weston | [05:19:15.732] failed to create kms fb: Invalid argument
weston | [05:19:15.735] failed to get drm_fb for bo
The error repeats continuously.
What I have already verified
-
The Docker Compose file is the same on both devices.
-
The Weston Docker image is the same:
torizon/weston:4 -
The hardware model is the same:
Colibri iMX7D 1GB (eMMC) -
The application container works on the other unit with the same configuration.
-
The problem appears to be specific to this particular device.
My questions
Could this error be caused by:
-
A difference in the DRM/KMS device state?
-
A difference in the display/HDMI configuration?
-
A kernel or device-tree difference?
-
A corrupted or incorrect framebuffer/DRM configuration?
-
A difference in
/dev/dridevices or permissions? -
A Weston configuration issue?
-
A GPU/Vivante driver issue?
-
Some persistent state/configuration on this particular Torizon device?
Since the same docker-compose.yml works on another identical unit, I suspect there may be a difference at the OS, kernel, device-tree, DRM/KMS, or hardware level.
Could someone please suggest which commands I should run to compare the working and non-working devices and identify the root cause?
In particular, I would appreciate commands to check:
/dev/dri
DRM/KMS devices
kernel DRM messages
GPU/Vivante driver
device tree
Weston configuration
display/HDMI detection
Any guidance on how to diagnose the failed to create kms fb: Invalid argument error on this Colibri iMX7D would be greatly appreciated.
Thank you.