Some typical issues related to the visual domain are listed below. Solutions or debugging methods are proposed for these issues.
If your issue is not listed, try also looking in the articles in the visual or troubleshooting grids categories.
Symptom | Resolution |
---|---|
DRM/KMS | |
./myQtApplication Could not queue DRM page flip! (Permission denied) Could not queue DRM page flip! (Permission denied) |
The psplash-drm userland splash screen is running and is then the DRM master, avoiding other DRM applications to access to DRM/KMS. Stop this psplash-drm application with the command below before running your use case: psplash-drm-quit Note: You may need to enter "export QT_QPA_EGLFS_ALWAYS_SET_MODE=1" before running your Qt application. For further information, refer to the Qt documentation. |
echo 32 > /sys/class/backlight/5a000000.dsi.0/brightness sh: write error: No such device or address |
On this board, the panel backlight is related to a MIPI® DSI panel. This backlight can be modified only if the panel is already powered on. That is probably not the case here. |
I/TC: Resumed E/TC:0 tzc_it_handler:79 TZC permission failure E/TC:0 dump_fail_filter:417 Overrun violation on filter 0 E/TC:0 dump_fail_filter:420 Permission violation on filter 0 E/TC:0 dump_fail_filter:425 Violation @0xdce1ff80, non-secure unprivileged read, AXI ID 403 E/TC:0 Panic at core/arch/arm/plat-stm32mp1/plat_tzc400.c:84 <tzc_it_handler> E/TC:0 TEE load address @ 0xde000000 |
This trace indicates that the TZC internal peripheral is detecting a "permission violation" made by the master whose AXI ID is 0x403. It corresponds to the LTDC internal peripheral (LTDC NSAID=0b0011. For further information, refer to the STM32 reference manuals).
|
GPU | |
[ 45.679109] Unhandled fault: imprecise external abort (0xc06) at 0xae1a0000 [ 45.684628] pgd = d1e98000 [ 45.687334] [ae1a0000] *pgd=d1e9f835, *pte=f8000747, *ppte=f8000c37 [ 45.693842] Unhandled fault: imprecise external abort (0xc06) at 0xae1a0000 [ 45.700480] pgd = d1dc0000 [ 45.703156] [ae1a0000] *pgd=00000000 |
Maybe the GPU reserved memory area in the kernel device tree is not aligned with the board DDR memory size. Have a look at the "gpu_reserved" entry in the kernel device tree, and update it if necessary. |
Wayland / Weston | |
glmark2-es2-wayland
[11380.091100] reserved_mem_unmap_user: vm_munmap failed
eglCreateWindowSurface failed with error: 0x3003
Error: eglCreateWindowSurface failed with error: 0x3003
Error: CanvasGeneric: Invalid EGL state
Error: main: Could not initialize canvas
weston-simple-egl [11380.091100] reserved_mem_unmap_user: vm_munmap failed has EGL_EXT_buffer_age and EGL_EXT_swap_buffers_with_damage weston-simple-egl: ../git/clients/simple-egl.c:440: create_surface: Assertion `ret == EGL_TRUE' failed. Aborted (core dumped) weston-simple-egl has EGL_EXT_buffer_age and EGL_EXT_swap_buffers_with_damage Segmentation fault (core dumped) |
Weston is using pixman software composition instead of GPU hardware composition. This may be because you have not accepted the EULA at the beginning of the build... cat /etc/default/weston WESTON_USER=weston #Autogenerated OPTARGS=--use-pixman Please comment the "pixman" line in the file "/etc/default/weston" cat /etc/default/weston
WESTON_USER=weston
#Autogenerated
#OPTARGS=--use-pixman
|
systemctl stop Weston-launch Failed to stop Weston-launch.service: Unit Weston-launch.service not loaded. |
Please remove the capital letter in the word Weston. The correct command is systemctl restart weston-launch
|
weston-simple-egl weston-simple-egl: ../weston-10.0.0/clients/simple-egl.c:852: main: Assertion `display.display' failed. Aborted (core dumped) glmark2-es2-wayland Error: main: Could not initialize canvas |
Weston is probably started with the "weston" user. The correct commands are: su -l "weston" -c "weston-simple-egl" su -l "weston" -c "glmark2-es2-wayland" |
systemctl stop Weston@root.service Failed to stop Weston.service: Unit Weston.service not loaded. systemctl stop weston Failed to stop weston.service: Unit weston.service not loaded. |
Please use the full Weston service name "weston-launch". The correct command is: systemctl stop weston-launch
Note: You can list all systemctl services with the following command: systemctl list-units
|
weston-image mypicture.bmp mypicture.bmp: unrecognized file header 0x42 0x4d 0x1e 0x51 |
"weston-image" small application supports only jpeg, png and webp image files. Please convert your ".bmp" image file into one of these supported image file formats. Note: The official source code of "weston-image" is in the file image.c and the related error message is in image-loader.c. |
GStreamer | |
There may be a timestamping problem, or this computer is too slow. |
This message is typically displayed when the GStreamer A/V sync drops some frames. This may be due to a decoder that is too slow, badly timestamped buffers, or a badly formed container (.ts, .3gp, .mp4, .avi, ...). |
Could not create Wayland display |
HDMI TV not connected, please connect it. |
gst-play-1.0 /usr/local/myvideo.webm Press 'k' to see a list of keyboard shortcuts. Now playing /usr/local/myvideo.webm WARNING Could not initialise Wayland output WARNING debug information: ../gst-plugins-bad-1.20.1/ext/wayland/gstwaylandsink.c(368): gst_wayland_sink_find_display (): /GstWaylandSink:waylandsink0: Failed to create GstWlDisplay: 'Failed to connect to the wayland display '(default) |
Weston is probably started with the "weston" user. The correct command is: su -l "weston" -c "gst-play-1.0 /usr/local/myvideo.webm" |
Could not load BMP file |
Make sure the loader of the bmp file format, libpixbufloader-bmp.so, is present in /usr/lib/gdk-pixbuf-2.0/2.10.0/. Otherwise, remove /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache, copy the libpixbufloader-bmp.so file from distrib build to /usr/lib/gdk-pixbuf-2.0/2.10.0/, then run "/usr/lib/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders > /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" to reload the loaders.
|