imx6 - Continuous Video playback on Wayland/Weston causes application failure/weston lockup

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6 - Continuous Video playback on Wayland/Weston causes application failure/weston lockup

3,559 Views
markfarver
Contributor I

We have an internal application that sits idle playing a number of videos in a loop endlessly.  Eventually after many hours the application will continue to run, but the display will show garbage, pure white or pure black.  The application continues to run (the audio track can still be heard playing) but the system cannot be restored without restarting weston.  Trying another method I made a similar application that plays videos under Chromium for long periods of time.  In this case Chromium will eventually stop working (weston background image visible).  Chromium process is still running and consuming ever larger amounts of RAM until Weston is restarted, then operates normally.  Both methods are stable if showing only static images.  There isn't a fixed number of hours before the crash, it is generally long (>24 hours) but can vary.  We've seen boards run for as many as 5 days or as short as 3 hours.

System is a custom board that is closely related to Sabre DL.  Kernel is Linux 4.1.15 and using the imx-gpu-viv_5.0.11.p8.4 drivers from FSL community Krogoth.

Nothing obvious in the logs.  No obvious memory/file handle leaks in user space.  Weston sometimes crashes with a "corrupted double linked list" error.

If anyone has any ideas I'd really appreciate it.  This issue is holding up product release and I'm stuck.

Labels (4)
Tags (2)
0 Kudos
6 Replies

1,888 Views
markfarver
Contributor I

If anyone else stumbles across this question, the answer was to upgrade the video driver by adding this patch to Yocto: kernel-module-imx-gpu-viv: Bump revision to a05d9b2 - Patchwork 

This forum post gave enough of a hint to seek out the patch.

0 Kudos

1,888 Views
markfarver
Contributor I

Is the above stating that I will only receive support on this issue if running a fsl-release version?

0 Kudos

1,888 Views
art
NXP Employee
NXP Employee

NXP only supports its own software releases. For community releases support, go to the community.

Best Regards,

Artur

0 Kudos

1,888 Views
art
NXP Employee
NXP Employee

Please refer to the Chapter 14 of the attached i.MX Linux Reference Manual document for the information on how to implement Wayland on the Linux 4.1.15 BSP platform. Also, refer to the attached i.MX Yocto Project User's Guide document for the information on how to set up and build the L4.1.15 BSP platform with Wayland support using official drivers by NXP.


Have a great day,
Artur

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,887 Views
markfarver
Contributor I

Startup log:

Date: 2016-12-28 UTC
[16:36:21.934] weston 1.9.0
http://wayland.freedesktop.org
Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=1.9.0
Build: 1.8.93-2-gb05cdb8 configure.ac: bump to version 1.9.0 for the official release (2015-09-21 18:11:26 -0700)
[16:36:21.934] OS: Linux, 4.1.15-1.1.0+ga4d2a08, #4 SMP PREEMPT Sat Dec 24 18:17:26 EST 2016, armv7l
[16:36:21.935] Using config file '/etc/xdg/weston/weston.ini'
[16:36:21.935] Loading module '/usr/lib/weston/fbdev-backend.so'
[16:36:21.958] Output repaint window is 7 ms maximum.
[16:36:21.958] initializing fbdev backend
[16:36:21.959] logind: not running in a systemd session
[16:36:21.959] logind: cannot setup systemd-logind helper (-6), using legacy fallback
[16:36:21.965] Loading module '/usr/lib/weston/gl-renderer.so'
[16:36:21.996] warning: either no EGL_EXT_platform_base support or specific platform support; falling back to eglGetDisplay.
[16:36:22.009] warning: EGL_EXT_swap_buffers_with_damage not supported. Performance could be affected.
[16:36:22.009] Retrieving EGL client extension string failed.
[16:36:22.009] Creating fbdev output. /dev/fb0 x=0 y=0
[16:36:22.009] Opening fbdev frame buffer.
[16:36:22.009] Calculating pixman format from:
- type: 0 (aux: 0)
- visual: 2
- bpp: 16 (grayscale: 0)
- red: offset: 11, length: 5, MSB: 0
- green: offset: 5, length: 6, MSB: 0
- blue: offset: 0, length: 5, MSB: 0
- transp: offset: 0, length: 0, MSB: 0
[16:36:22.029] EGL version: 1.4
[16:36:22.029] EGL vendor: Vivante Corporation
[16:36:22.029] EGL client APIs: OpenGL_ES OpenVG
[16:36:22.029] EGL extensions: EGL_KHR_reusable_sync EGL_KHR_fence_sync
EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap
EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image
EGL_KHR_gl_renderbuffer_image EGL_KHR_lock_surface
EGL_KHR_create_context EGL_KHR_surfaceless_context
EGL_EXT_create_context_robustness EGL_EXT_buffer_age
EGL_EXT_protected_surface EXT_image_dma_buf_import
EGL_WL_bind_wayland_display
EGL_WL_create_wayland_buffer_from_image
[16:36:22.030] GL version: OpenGL ES 3.0 V5.0.11.p8.41671
[16:36:22.030] GLSL version: OpenGL ES GLSL ES 3.00
[16:36:22.030] GL vendor: Vivante Corporation
[16:36:22.030] GL renderer: Vivante GC880
[16:36:22.030] GL extensions: GL_OES_vertex_type_10_10_10_2
GL_OES_vertex_half_float GL_OES_element_index_uint
GL_OES_mapbuffer GL_OES_vertex_array_object
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_compressed_paletted_texture GL_OES_texture_npot
GL_OES_rgb8_rgba8 GL_OES_depth_texture
GL_OES_depth_texture_cube_map GL_OES_depth24 GL_OES_depth32
GL_OES_packed_depth_stencil GL_OES_fbo_render_mipmap
GL_OES_get_program_binary GL_OES_fragment_precision_high
GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_sync
GL_OES_required_internalformat GL_OES_surfaceless_context
GL_EXT_texture_type_2_10_10_10_REV
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_format_BGRA8888 GL_EXT_read_format_bgra
GL_EXT_multi_draw_arrays GL_EXT_frag_depth
GL_EXT_discard_framebuffer GL_EXT_blend_minmax
GL_EXT_multisampled_render_to_texture GL_EXT_robustness
GL_VIV_direct_texture
[16:36:22.030] GL ES 2 renderer features:
read-back format: BGRA
wl_shm sub-image to texture: no
EGL Wayland extension: yes
[16:36:22.030] Chosen EGL config details:
RGBA bits: 8 8 8 0
swap interval range: 0 - 10
[16:36:22.030] fbdev output 800�����600 px
guessing 67 Hz and 96 dpi
[16:36:22.048] input device '20b8000.kpp', /dev/input/event0 is tagged by udev as: Keyboard
[16:36:22.049] input device '20b8000.kpp', /dev/input/event0 is a keyboard
[16:36:22.226] Compositor capabilities:
arbitrary surface rotation: yes
screen capture uses y-flip: yes
presentation clock: CLOCK_MONOTONIC_RAW, id 4
[16:36:22.226] Loading module '/usr/lib/weston/desktop-shell.so'
[16:36:22.228] launching '/usr/libexec/weston-keyboard'
[16:36:22.233] Loading module '/usr/lib/weston/systemd-notify.so'
[16:36:22.234] launching '/usr/libexec/weston-desktop-shell'

0 Kudos

1,888 Views
markfarver
Contributor I

Also noticed this kernel message: "alloc_contig_range: [42800, 42cff) PFNs busy"  recently, though information online says this can be ignored?

0 Kudos