Visual troubleshooting grid

来自百问网嵌入式Linux wiki

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
Board $> ./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. Please stop this psplash-drm application with the command below before running your use case:

Board $> psplash-drm-quit

Note: You may need to enter "export QT_QPA_EGLFS_ALWAYS_SET_MODE=1" before running your Qt application, please refer to the Qt documentation.

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, please have a look at the "gpu_reserved" entry in the kernel device tree, and update it if necessary.

Wayland / Weston
Board $> 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
Board $> 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)
Board $> 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...

Board $> cat /etc/default/weston
#Autogenerated
OPTARGS=--use-pixman

Please comment the content of the file /etc/default/weston or delete it.

Board $> systemctl stop Weston
Failed to stop Weston.service: Unit Weston.service not loaded.

Please remove the capital letter in the word Weston. The correct command is

Board $> systemctl restart weston
Board $> 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, ...).
To proceed with investigations, refer to the article How to profile video framerate.

Could not create Wayland display

HDMI TV not connected, please connect it.

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/. If not, remove /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache, copy 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 loaders.



<securetransclude src="ProtectedTemplate:ArticleBasedOnModel" params="Troubleshooting grid article model"></securetransclude> <securetransclude src="ProtectedTemplate:PublicationRequestId" params="10288 | 2019-01-15 | PhilipS"></securetransclude>