Clients not displaying on kiosk shell, while desktop-shell works perfectly fine
In Weston built from commit ce8ead4b, 10.0.0 and 9.0.91 releases,
kiosk-shell refuses to display any clients, while desktop-shell works fine.
I'm using an ARM64 device, with Mali G31 GPU running Buildroot with glibc.
Weston on it is launched as:
weston --config=/root/.config/weston.ini --drm-device=card1 --seat=0 --continue-without-input --debug --shell=kiosk-shell.so
with XDG_RUNTIME_DIR=/temp
in environment, /temp
has mode 0700.
and weston.ini is:
[core]
idle-time=0
repaint-window=15
[output]
name=DSI-1
transform=rotate-90
[autolaunch]
path=/bin/rmenu
[shell]
panel-position=none
/bin/rmenu
is a SDL2 program, and works fine when launched with Weston running desktop-shell,
Supertuxkart and weston-terminal don't seem to do anything too.
Weston scene graph, with rmenu and Supertuxkart running:
# XDG_RUNTIME_DIR=/temp/ WAYLAND_DISPLAY=wayland-1 weston-debug scene-graph
Weston scene graph at 1058.102141212:
Output 0 (DSI-1):
position: (0, 0) -> (854, 480)
mode: 480x854@59.987Hz
scale: 1
repaint status: no repaint
Head 0 (DSI-1): connected
Layer 0 (pos 0xffffffff):
[no views]
Layer 1 (pos 0xfffffffe):
[no views]
Layer 2 (pos 0x50000001):
[no views]
Layer 3 (pos 0x50000000):
[no views]
Layer 4 (pos 0x2):
View 0 (role kiosk-shell-background, PID 0, surface ID 0, kiosk shell background surface, 0x32df00f0):
position: (0, 0) -> (854, 480)
[fully opaque]
outputs: 0 (DSI-1) (primary)
[buffer not available]
Layer 5 (pos 0x0):
[no views]
And Weston log:
Date: 2022-02-09 UTC
[20:36:22.481] weston 10.0.90
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 10.0.90
[20:36:22.482] Command line: weston --config=/root/.config/weston.ini --drm-device=card1 --seat=0 --continue-without-input --debug --shell=kiosk-shell.so
[20:36:22.482] OS: Linux, 5.15.0-rc6, #1 SMP Tue Feb 8 14:59:06 UTC 2022, aarch64
[20:36:22.482] Flight recorder: enabled
[20:36:22.482] Using config file '/root/.config/weston.ini'
WARNING: debug protocol has been enabled. This is a potential denial-of-service attack vector and information leak.
[20:36:22.483] Output repaint window is 15 ms maximum.
[20:36:22.483] Loading module '/usr/lib/libweston-11/drm-backend.so'
[20:36:22.495] initializing drm backend
[20:36:22.495] Trying weston_launch launcher...
[20:36:22.495] could not get launcher fd from env
[20:36:22.495] Trying direct launcher...
[20:36:22.496] using /dev/dri/card1
[20:36:22.496] DRM: supports atomic modesetting
[20:36:22.496] DRM: supports GBM modifiers
[20:36:22.496] DRM: supports picture aspect ratio
[20:36:22.497] Loading module '/usr/lib/libweston-11/gl-renderer.so'
[20:36:22.542] EGL client extensions: EGL_EXT_client_extensions
EGL_EXT_device_base EGL_EXT_device_enumeration
EGL_EXT_device_query EGL_EXT_platform_base
EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug
EGL_EXT_platform_device EGL_EXT_platform_wayland
EGL_KHR_platform_wayland EGL_MESA_platform_gbm
EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless
[20:36:22.548] EGL device extensions: EGL_EXT_device_drm
[20:36:22.548] EGL version: 1.4
[20:36:22.548] EGL vendor: Mesa Project
[20:36:22.548] EGL client APIs: OpenGL OpenGL_ES
[20:36:22.548] EGL extensions: EGL_ANDROID_blob_cache EGL_EXT_buffer_age
EGL_EXT_image_dma_buf_import
EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2
EGL_KHR_config_attribs EGL_KHR_create_context
EGL_KHR_create_context_no_error EGL_KHR_fence_sync
EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace
EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image
EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image
EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap
EGL_KHR_no_config_context EGL_KHR_partial_update
EGL_KHR_reusable_sync EGL_KHR_surfaceless_context
EGL_EXT_pixel_format_float EGL_KHR_wait_sync
EGL_MESA_configless_context EGL_MESA_drm_image
EGL_MESA_image_dma_buf_export EGL_MESA_query_driver
EGL_WL_bind_wayland_display
[20:36:22.549] warning: Disabling render GPU timeline and explicit synchronization due to missing EGL_ANDROID_native_fence_sync extension
[20:36:22.549] EGL_KHR_surfaceless_context available
[20:36:22.554] GL version: OpenGL ES 3.1 Mesa 21.3.2
[20:36:22.554] GLSL version: OpenGL ES GLSL ES 3.10
[20:36:22.554] GL vendor: Panfrost
[20:36:22.554] GL renderer: Mali-G31 (Panfrost)
[20:36:22.555] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1
GL_EXT_texture_compression_rgtc GL_EXT_texture_format_BGRA8888
GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24
GL_OES_element_index_uint GL_OES_fbo_render_mipmap
GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives
GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float
GL_OES_texture_float_linear GL_OES_texture_half_float
GL_OES_texture_half_float_linear GL_OES_texture_npot
GL_OES_vertex_half_float GL_EXT_draw_instanced
GL_EXT_texture_sRGB_decode GL_OES_EGL_image
GL_OES_depth_texture GL_OES_packed_depth_stencil
GL_EXT_texture_type_2_10_10_10_REV GL_NV_conditional_render
GL_OES_get_program_binary GL_APPLE_texture_max_level
GL_EXT_discard_framebuffer GL_EXT_read_format_bgra
GL_EXT_frag_depth GL_NV_fbo_color_attachments
GL_OES_EGL_image_external GL_OES_EGL_sync
GL_OES_vertex_array_object GL_ANGLE_pack_reverse_row_order
GL_ANGLE_texture_compression_dxt3
GL_ANGLE_texture_compression_dxt5
GL_EXT_occlusion_query_boolean GL_EXT_texture_rg
GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer
GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil
GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug
GL_KHR_texture_compression_astc_ldr GL_NV_pixel_buffer_object
GL_OES_depth_texture_cube_map GL_OES_required_internalformat
GL_OES_surfaceless_context GL_EXT_color_buffer_float
GL_EXT_sRGB_write_control GL_EXT_separate_shader_objects
GL_EXT_shader_framebuffer_fetch
GL_EXT_shader_implicit_conversions GL_EXT_shader_integer_mix
GL_EXT_base_instance GL_EXT_compressed_ETC1_RGB8_sub_texture
GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex
GL_EXT_gpu_shader5 GL_EXT_primitive_bounding_box
GL_EXT_shader_io_blocks GL_EXT_texture_border_clamp
GL_EXT_texture_buffer GL_EXT_texture_view
GL_KHR_blend_equation_advanced
GL_KHR_blend_equation_advanced_coherent
GL_KHR_context_flush_control GL_NV_image_formats
GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex
GL_OES_gpu_shader5 GL_OES_primitive_bounding_box
GL_OES_sample_shading GL_OES_sample_variables
GL_OES_shader_io_blocks GL_OES_shader_multisample_interpolation
GL_OES_texture_border_clamp GL_OES_texture_buffer
GL_OES_texture_stencil8
GL_OES_texture_storage_multisample_2d_array GL_OES_texture_view
GL_EXT_blend_func_extended GL_EXT_float_blend
GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_no_error
GL_KHR_texture_compression_astc_sliced_3d
GL_OES_EGL_image_external_essl3 GL_OES_shader_image_atomic
GL_EXT_multisampled_render_to_texture
GL_EXT_multisampled_render_to_texture2
GL_EXT_texture_compression_s3tc_srgb
GL_MESA_shader_integer_functions GL_EXT_color_buffer_half_float
GL_EXT_texture_compression_bptc
GL_EXT_texture_mirror_clamp_to_edge
GL_KHR_parallel_shader_compile GL_EXT_EGL_image_storage
GL_EXT_shader_framebuffer_fetch_non_coherent
GL_INTEL_blackhole_render GL_MESA_framebuffer_flip_y
GL_EXT_depth_clamp GL_MESA_bgra
[20:36:22.600] GL ES 3.1 - renderer features:
read-back format: BGRA
EGL Wayland extension: yes
[20:36:22.601] couldn't fstat launcher tty: Bad file descriptor
[20:36:22.611] warning: no input devices found, but none required as per configuration.
[20:36:22.611] DRM: head 'DSI-1' updated, connector 39 is connected, EDID make 'unknown', model 'unknown', serial 'unknown'
[20:36:22.612] DRM: head 'DSI-1' found, connector 39 is connected, EDID make 'unknown', model 'unknown', serial 'unknown'
[20:36:22.613] Registered plugin API 'weston_drm_output_api_v1' of size 24
[20:36:22.613] Color manager: no-op
[20:36:22.613] Output 'DSI-1' using color profile: built-in default sRGB SDR profile
[20:36:22.613] Chosen EGL config details: id: 25 rgba: 8 8 8 0 buf: 24 dep: 0 stcl: 0 int: 1-1 type: win vis_id: XRGB8888 (0x34325258)
[20:36:22.614] Output DSI-1 (crtc 35) video modes:
480x854@60.0, preferred, current, 27.5 MHz
[20:36:22.614] Output 'DSI-1' enabled with head(s) DSI-1
[20:36:22.614] Compositor capabilities:
arbitrary surface rotation: yes
screen capture uses y-flip: yes
cursor planes: yes
arbitrary resolutions: no
view mask clipping: yes
explicit sync: no
color operations: yes
presentation clock: CLOCK_MONOTONIC, id 1
presentation clock resolution: 0.000000001 s
[20:36:22.617] Loading module '/usr/lib/weston/kiosk-shell.so'
[20:36:22.620] Note: support for the deprecated wl_shell interface is disabled. If a legacy client still needs it, it can be re-enabled by passing -Ddeprecated-wl-shell=true to Meson when building Weston.
Dbg: Spawning Rdevkit handler thread
Dbg: Initializing SDL
Dbg: Rdevkit not found, handler quitting
Dbg: Initializing TTF
Dbg: Initializing input handling
Dbg: Attaching new input handle
Dbg: Loading emulator config file
Dbg: Got config entry: command /usr/bin/mednafen, system GBA, ext gba, args
Dbg: Looking for GBA roms in /roms/GBA/
Warn: Failed opening /roms/GBA/ directory
Dbg: Got config entry: command /usr/bin/mednafen, system GB, ext gb, args
Dbg: Looking for GB roms in /roms/GB/
Warn: Failed opening /roms/GB/ directory
Dbg: Got config entry: command /usr/bin/mednafen, system NES, ext nes, args
Dbg: Looking for NES roms in /roms/NES/
Warn: Failed opening /roms/NES/ directory
Dbg: Got config entry: command /usr/bin/mednafen, system SNES, ext smc, args
Dbg: Looking for SNES roms in /roms/SNES/
Warn: Failed opening /roms/SNES/ directory
Dbg: Got config entry: command /bin/PPSSPPSDL, system PSP, ext iso, args
Dbg: Looking for PSP roms in /roms/PSP/
Warn: Failed opening /roms/PSP/ directory
Lines after "[20:36:22.620] Note: support for the deprecated wl_shell interface is disabled. If a legacy client still needs it, it can be re-enabled by passing -Ddeprecated-wl-shell=true to Meson when building Weston." are from rmenu
.
Weston was configured with these options:
--prefix=/usr --libdir=lib --default-library=shared --buildtype=release --cross-file=/root/Ragnarok/tmp/buildroot/output/build/weston-main//build/cross-compilation.conf -Db_pie=false -Dstrip=false -Dbuild.pkg_config_path=/root/Ragnarok/tmp/buildroot/output/host/lib/pkgconfig -Dbackend-headless=false -Dcolor-management-colord=false -Dremoting=false -Dsimple-clients=dmabuf-v4l -Dlauncher-logind=false -Dimage-webp=false -Drenderer-gl=true -Dpipewire=false -Dbackend-rdp=false -Dbackend-drm=true -Dbackend-x11=false -Dbackend-default=drm -Dxwayland=false -Dbackend-drm-screencast-vaapi=false -Dcolor-management-lcms=false -Dsystemd=false -Dtest-junit-xml=true -Dshell-desktop=true -Dshell-fullscreen=false -Dshell-ivi=false -Dshell-kiosk=true -Ddemo-clients=false
I'm not sure where to continue trying to debug this, tomorrow I plan on trying much older versions, and bisecting this issue.