Skip to content

WSLg regression on session 0 (GitHub Actions) #41110

Description

Windows Version

10.0.26300.8772

WSL Version

2.9.4.0

Are you using WSL 1 or WSL 2?

  • WSL 2
  • WSL 1

Kernel Version

6.18.35.2

Distro Version

Ubuntu 26.04

Other Software

No response

Repro Steps

Save the following shell script to C:\Temp:

#!/bin/bash
shopt -s extglob

export WSL_UTF8=1

version=$( wsl.exe --version | head -n1 | cut -d' ' -f3)
version="${version%%*([[:space:]])}"
folder="/mnt/c/Temp/$version"

mkdir "$folder"
wayland-info 2>&1 >"$folder/wl.txt"
cp /mnt/wslg/*.log "$folder"
dmesg | grep -i segfault > "$folder/dmesg.txt"
cat /proc/cmdline > "$folder/cmdline.txt"

(That script runs wayland-info, which is not preinstalled by default. Make sure to have it installed before proceeding. On Ubuntu and Debian that command is available in the apt package wayland-utils)

On an elevated powershell, run psexec to launch wsl.exe on session 0 with your regular interactive user credentials (DOMAIN most likely will be just . for the local computer domain):

psexec -i 0 -u <DOMAIN\USER> -p <PASSWORD> powershell -Command "wsl.exe -u <DISTRO> -- bash /mnt/c/Temp/script.sh.

(psexec comes from Sysinternals, installable via winget).

Expected Behavior

For any recent version of WSL, the outputs of the wayland-info command (C:\Temp\<WSL_VERSION>\wl.txt) should be populated with details about the session, seat and available protocols while the filtered dmesg output (C:\Temp\<WSL_VERSION>\dmesg.txt) should not contain any crash related to WSLg.

Actual Behavior

True for WSL up to 2.7.10. On 2.9.4 the wayland-info output is empty and dmesg.txt shows a crash similar to the following line:

[  107.040670] weston[160]: segfault at 218 ip 000078565b825ffb sp 00007fff1bd92330 error 4 in rdp-backend.so[1cffb,78565b80f000+18000] likely on CPU 2 (core 1, socket 0)

(it looks like an attempt to read an offset from the null pointer - segfault at 0x218, error 4).

Diagnostic Logs

I came across this problem after seeing a Flutter app test crash in CI running on GitHub Actions with no other changes but the WSL version. This particular CI workflow runs the app tests inside WSL. On a faulty run I noticed the following trace coming from the GTK3 layer:

(com.example.sample_app:570): Gdk-CRITICAL **: 07:57:47.797: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

That means we didn't have a seat, pointing to some fundamental issue around the graphical session.

The minimal reproducer I could come up with is running wayland-info. It shows empty on an affected instance.
AFAICT The GitHub actions runner runs as a service (thus session 0) with a user (interactive) account, thus fully capable of running WSL. Hence why using psexec to reproduce the crash: we need the user account but running in session 0. A regular interactive session doesn't experience that crash.

The less scientific but still important part: installing just the four binaries below from WSL 2.7.10 on a system running WSL 2.9.4 fixes the problem, everything else (WSLg image, kernel, distro) left at 2.9.4:

  • msrdc.exe
  • rdclientax.dll
  • rdpnanoTransport.dll
  • RdpWinStlHelper.dll

A/B/C result: interactive session → wayland-info populated, no segfault on WSL 2.9.4;
session 0 → wayland-info empty, rdp-backend.so SIGSEGV at ~107 s on 2.9.4;
session 0 → wayland-info populated, no segfault on 2.9.4 with swapped MSRDC binaries.

Inspecting the diff between WSL 2.7.10 and 2.9.3, the most noticeable and untraceable from outside is the upgrade in MSRDC.SessionHost in packages.config ( commit #2a7269e8 / PR #40882 ).

weston.log from a faulty instance:
Date: 2026-07-17 -03
[15:45:15.538] weston 9.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: 9.0.0-215-ga7e35fda
[15:45:15.538] Command line: /usr/bin/weston --backend=rdp-backend.so --modules=wslgd-notify.so --xwayland --socket=wayland-0 --shell=rdprail-shell.so --log=/mnt/wslg/weston.log --logger-scopes=log,rdp-backend,rdprail-shell
[15:45:15.538] OS: Linux, 6.18.35.2-microsoft-standard-WSL2, #1 SMP PREEMPT_DYNAMIC Wed Jun 17 23:14:00 UTC 2026, x86_64
[15:45:15.538] warning: XDG_RUNTIME_DIR "/mnt/wslg/runtime-dir" is not configured
correctly.  Unix access mode must be 0700 (current mode is 777),
and must be owned by the user (current owner is UID 1000).
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
[15:45:15.539] Using config file '/home/wslg/.config/weston.ini'
[15:45:15.540] Output repaint window is 7 ms maximum.
[15:45:15.541] Loading module '/usr/lib/libweston-9/rdp-backend.so'
[15:45:15.548] using FreeRDP version 2.4.0
Date: 2026-07-17 -03
[15:45:15.548] RDP backend: WESTON_RDP_DEBUG_LEVEL: 3
[15:45:15.548] RDP backend: rdp_monitor_refresh_rate: 60000
[15:45:15.548] RDP backend: timer resolution tv_sec:0 tv_nsec:1
[15:45:15.548] RDP backend: Environment dump - start
[15:45:15.548]   WSL2_DEFAULT_APP_ICON=/usr/share/icons/wsl/linux.png
[15:45:15.548]   SHELL=/bin/bash
[15:45:15.548]   WSL2_GUI_APPS_ENABLED=1
[15:45:15.548]   WSL_DISTRO_NAME=
[15:45:15.548]   XCURSOR_PATH=/mnt/wslg/distro/usr/share/icons:/usr/share/icons
[15:45:15.548]   XCURSOR_SIZE=16
[15:45:15.548]   WLOG_APPENDER=file
[15:45:15.548]   NAME=DESKTOP-551PQ9O
[15:45:15.548]   PWD=/home/wslg
[15:45:15.548]   LOGNAME=wslg
[15:45:15.548]   WSL_FEATURE_FLAGS=34
[15:45:15.548]   WSL2_USER_PROFILE=C:\Users\User
[15:45:15.548]   WSL2_DISTRO_NAME=Ubuntu-26.04
[15:45:15.548]   _=/usr/bin/weston
[15:45:15.548]   PULSE_AUDIO_RDP_SINK=/mnt/wslg/PulseAudioRDPSink
[15:45:15.548]   HOME=/home/wslg
[15:45:15.548]   WSLG_SERVICE_ID=00000001-FACB-11E6-BD58-64006A7986D3
[15:45:15.548]   WAYLAND_DISPLAY=wayland-0
[15:45:15.548]   USE_VSOCK=3
[15:45:15.548]   WSL2_DEFAULT_APP_OVERLAY_ICON=/usr/share/icons/wsl/linux.png
[15:45:15.548]   USER=wslg
[15:45:15.548]   DISPLAY=:0
[15:45:15.548]   SHLVL=0
[15:45:15.548]   WSLGD_NOTIFY_SOCKET=/mnt/wslg/weston-notify.sock
[15:45:15.548]   WLOG_FILEAPPENDER_OUTPUT_FILE_PATH=/mnt/wslg
[15:45:15.548]   XDG_RUNTIME_DIR=/mnt/wslg/runtime-dir
[15:45:15.548]   XCURSOR_THEME=whiteglass
[15:45:15.548]   PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
[15:45:15.548]   WESTON_DISABLE_ABSTRACT_FD=1
[15:45:15.548]   WLOG_FILEAPPENDER_OUTPUT_FILE_NAME=wlog.log
[15:45:15.548]   PULSE_AUDIO_RDP_SOURCE=/mnt/wslg/PulseAudioRDPSource
[15:45:15.548]   PULSE_SERVER=unix:/mnt/wslg/PulseServer
[15:45:15.548]   WSL2_INSTALL_PATH=C:\Program Files\WSL
[15:45:15.548]   WESTON_CONFIG_FILE=/home/wslg/.config/weston.ini
[15:45:15.548] RDP backend: Environment dump - end
[15:45:15.548] RDP backend: FreeRDP version: 2.4.0
[15:45:15.548] Using external fd for incoming connections: 3
[15:45:15.548] Default head is being added
[15:45:15.548] Registered plugin API 'weston_rdprail_api_v1' of size 72
[15:45:15.548] RDPAPPLIST_MODULEDIR is set to /usr/lib/rdpapplist
[15:45:15.549] RDP backend: use_rdpapplist = 1
[15:45:15.549] WSL2_SHARED_MEMORY_MOUNT_POINT is not set.
[15:45:15.549] RDP backend: use_gfxredir = 0
[15:45:15.549] RDP backend: enable_hi_dpi_support = 1
[15:45:15.549] RDP backend: enable_fractional_hi_dpi_support = 0
[15:45:15.549] RDP backend: enable_fractional_hi_dpi_roundup = 0
[15:45:15.549] RDP backend: debug_desktop_scaling_factor = 0
[15:45:15.549] RDP backend: enable_window_zorder_sync = 1
[15:45:15.549] RDP backend: enable_window_snap_arrange = 1
[15:45:15.549] RDP backend: enable_window_shadow_remoting = 1
[15:45:15.549] RDP backend: enable_display_power_by_screenupdate = 0
[15:45:15.549] RDP backend: enable_distro_name_title = 1
[15:45:15.549] RDP backend: enable_copy_warning_title = 1
[15:45:15.549] Using VSOCK for incoming connections: 3
[15:45:15.549] Registered plugin API 'weston_rdp_output_api_v1' of size 24
[15:45:15.549] Head attaching: rdp-0, index:0, is_primary: 1
[15:45:15.549] Client desktop upper left coordinate (0,0)
[15:45:15.549] disp_monitor_validate_and_compute_layout:---OUTPUT---
[15:45:15.549] 	rdpMonitor[0]: x:0, y:0, width:0, height:0, is_primary:1
[15:45:15.549] 	rdpMonitor[0]: weston x:0, y:0, width:0, height:0
[15:45:15.549] 	rdpMonitor[0]: physicalWidth:0, physicalHeight:0, orientation:0
[15:45:15.549] 	rdpMonitor[0]: desktopScaleFactor:0, deviceScaleFactor:0
[15:45:15.549] 	rdpMonitor[0]: scale:1, clientScale:1.00
[15:45:15.549] Head mode change:rdp-0 NEW width:0, height:0, scale:1, clientScale:1.000000
[15:45:15.549] move head/output rdp-0 (0,0) -> (0,0)
[15:45:15.549] client origin (0,0) is (0,0) in Weston space
[15:45:15.549] Output 'rdp-0' enabled with head(s) rdp-0
[15:45:15.549] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: no
               presentation clock: CLOCK_MONOTONIC_RAW, id 4
               presentation clock resolution: 0.000000001 s
[15:45:15.550] Loading module '/usr/lib/weston/rdprail-shell.so'
[15:45:15.554] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_DEBUG_LEVEL: 3.
Date: 2026-07-17 -03
[15:45:15.554] RDPRAIL-shell: allow-zap:0
[15:45:15.554] RDPRAIL-shell: allow-alt-f4-to-close-app:1
[15:45:15.554] RDPRAIL-shell: binding-modifier:none
[15:45:15.554] RDPRAIL-shell: local-move:0
[15:45:15.554] RDPRAIL-shell: distro name:Ubuntu-26.04 (len:12)
[15:45:15.557] RDPRAIL-shell: WSL2_DEFAULT_APP_ICON:/usr/share/icons/wsl/linux.png (loaded:yes)
[15:45:15.557] RDPRAIL-shell: WSL2_DEFAULT_APP_OVERLAY_ICON:/usr/share/icons/wsl/linux.png (loaded:yes)
[15:45:15.557] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_APPEND_DISTRONAME_STARTMEN:1
[15:45:15.557] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_BLEND_OVERLAY_ICON_APPLIST:1
[15:45:15.557] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_BLEND_OVERLAY_ICON_TASKBAR:1
[15:45:15.557] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_USE_WSLPATH:0
[15:45:15.557] rdp_rail_shell_initialize_notify: shell: distro name: Ubuntu-26.04
[15:45:15.558] app_list_monitor_thread: running in user-distro: Ubuntu-26.04
[15:45:15.559] Loading module '/usr/lib/libweston-9/xwayland.so'
[15:45:15.559] app_list_monitor_thread: inotify_add_watch(/usr/share/applications)
[15:45:15.559] app_list_monitor_thread: monitor /usr/share/applications
[15:45:15.559] app_list_monitor_thread: /usr/local/share/applications doesn't exist, skipping.
[15:45:15.559] app_list_monitor_thread: /var/lib/snapd/desktop/applications doesn't exist, skipping.
[15:45:15.559] app_list_monitor_thread: /var/lib/flatpak/exports/share/applications doesn't exist, skipping.
[15:45:15.559] app list folder[0]: /usr/share/applications
[15:45:15.560] Registered plugin API 'weston_xwayland_v1' of size 32
[15:45:15.560] Registered plugin API 'weston_xwayland_surface_v1' of size 48
[15:45:15.560] Not using abstract fd for Xwayland
[15:45:15.560] xserver listening on display :0
[15:45:15.560] Loading module '/usr/lib/weston/wslgd-notify.so'
[15:45:15.560] desktop file: /usr/share/applications/org.freedesktop.Xwayland.desktop has NoDisplay specified
[15:45:15.560] app list entry failed to update: Key:Xwayland
[15:45:15.560] free_app_entry(): (null): /usr/share/applications/org.freedesktop.Xwayland.desktop
[15:45:15.560] app list folder[1]: /usr/local/share/applications
[15:45:15.560] app list folder[2]: /var/lib/snapd/desktop/applications
[15:45:15.560] app list folder[3]: /var/lib/flatpak/exports/share/applications
[15:45:15.560] ../compositor/wslgd-notify.c: socket connected
[15:45:15.640] Spawned Xwayland server, pid 28
[15:45:15.746] xfixes version: 6.0
[15:45:15.761] created wm, root 912
[15:47:00.294] unable to checkDescriptor for 0x625ac1c6f890
Date: 2026-07-17 -03
[15:47:00.324] weston 9.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: 9.0.0-215-ga7e35fda
[15:47:00.324] Command line: /usr/bin/weston --backend=rdp-backend.so --modules=wslgd-notify.so --xwayland --socket=wayland-0 --shell=rdprail-shell.so --log=/mnt/wslg/weston.log --logger-scopes=log,rdp-backend,rdprail-shell
[15:47:00.324] OS: Linux, 6.18.35.2-microsoft-standard-WSL2, #1 SMP PREEMPT_DYNAMIC Wed Jun 17 23:14:00 UTC 2026, x86_64
[15:47:00.324] warning: XDG_RUNTIME_DIR "/mnt/wslg/runtime-dir" is not configured
correctly.  Unix access mode must be 0700 (current mode is 777),
and must be owned by the user (current owner is UID 1000).
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
[15:47:00.324] Using config file '/home/wslg/.config/weston.ini'
[15:47:00.324] Output repaint window is 7 ms maximum.
[15:47:00.324] Loading module '/usr/lib/libweston-9/rdp-backend.so'
[15:47:00.327] using FreeRDP version 2.4.0
Date: 2026-07-17 -03
[15:47:00.327] RDP backend: WESTON_RDP_DEBUG_LEVEL: 3
[15:47:00.327] RDP backend: rdp_monitor_refresh_rate: 60000
[15:47:00.327] RDP backend: timer resolution tv_sec:0 tv_nsec:1
[15:47:00.327] RDP backend: Environment dump - start
[15:47:00.327]   WSL2_DEFAULT_APP_ICON=/usr/share/icons/wsl/linux.png
[15:47:00.327]   SHELL=/bin/bash
[15:47:00.327]   WSL2_GUI_APPS_ENABLED=1
[15:47:00.327]   WSL_DISTRO_NAME=
[15:47:00.327]   XCURSOR_PATH=/mnt/wslg/distro/usr/share/icons:/usr/share/icons
[15:47:00.327]   XCURSOR_SIZE=16
[15:47:00.327]   WLOG_APPENDER=file
[15:47:00.327]   NAME=DESKTOP-551PQ9O
[15:47:00.327]   PWD=/home/wslg
[15:47:00.327]   LOGNAME=wslg
[15:47:00.327]   WSL_FEATURE_FLAGS=34
[15:47:00.327]   WSL2_USER_PROFILE=C:\Users\User
[15:47:00.327]   WSL2_DISTRO_NAME=Ubuntu-26.04
[15:47:00.327]   _=/usr/bin/weston
[15:47:00.327]   PULSE_AUDIO_RDP_SINK=/mnt/wslg/PulseAudioRDPSink
[15:47:00.327]   HOME=/home/wslg
[15:47:00.327]   WSLG_SERVICE_ID=00000001-FACB-11E6-BD58-64006A7986D3
[15:47:00.327]   WAYLAND_DISPLAY=wayland-0
[15:47:00.327]   USE_VSOCK=3
[15:47:00.327]   WSL2_DEFAULT_APP_OVERLAY_ICON=/usr/share/icons/wsl/linux.png
[15:47:00.327]   USER=wslg
[15:47:00.327]   DISPLAY=:0
[15:47:00.327]   SHLVL=0
[15:47:00.327]   WSLGD_NOTIFY_SOCKET=/mnt/wslg/weston-notify.sock
[15:47:00.327]   WLOG_FILEAPPENDER_OUTPUT_FILE_PATH=/mnt/wslg
[15:47:00.327]   XDG_RUNTIME_DIR=/mnt/wslg/runtime-dir
[15:47:00.327]   XCURSOR_THEME=whiteglass
[15:47:00.327]   PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
[15:47:00.327]   WESTON_DISABLE_ABSTRACT_FD=1
[15:47:00.327]   WLOG_FILEAPPENDER_OUTPUT_FILE_NAME=wlog.log
[15:47:00.327]   PULSE_AUDIO_RDP_SOURCE=/mnt/wslg/PulseAudioRDPSource
[15:47:00.327]   PULSE_SERVER=unix:/mnt/wslg/PulseServer
[15:47:00.327]   WSL2_INSTALL_PATH=C:\Program Files\WSL
[15:47:00.327]   WESTON_CONFIG_FILE=/home/wslg/.config/weston.ini
[15:47:00.327] RDP backend: Environment dump - end
[15:47:00.327] RDP backend: FreeRDP version: 2.4.0
[15:47:00.327] Using external fd for incoming connections: 3
[15:47:00.327] Default head is being added
[15:47:00.327] Registered plugin API 'weston_rdprail_api_v1' of size 72
[15:47:00.327] RDPAPPLIST_MODULEDIR is set to /usr/lib/rdpapplist
[15:47:00.327] RDP backend: use_rdpapplist = 1
[15:47:00.327] WSL2_SHARED_MEMORY_MOUNT_POINT is not set.
[15:47:00.327] RDP backend: use_gfxredir = 0
[15:47:00.327] RDP backend: enable_hi_dpi_support = 1
[15:47:00.327] RDP backend: enable_fractional_hi_dpi_support = 0
[15:47:00.327] RDP backend: enable_fractional_hi_dpi_roundup = 0
[15:47:00.327] RDP backend: debug_desktop_scaling_factor = 0
[15:47:00.327] RDP backend: enable_window_zorder_sync = 1
[15:47:00.327] RDP backend: enable_window_snap_arrange = 1
[15:47:00.327] RDP backend: enable_window_shadow_remoting = 1
[15:47:00.327] RDP backend: enable_display_power_by_screenupdate = 0
[15:47:00.327] RDP backend: enable_distro_name_title = 1
[15:47:00.327] RDP backend: enable_copy_warning_title = 1
[15:47:00.327] Using VSOCK for incoming connections: 3
[15:47:00.327] Registered plugin API 'weston_rdp_output_api_v1' of size 24
[15:47:00.327] Head attaching: rdp-0, index:0, is_primary: 1
[15:47:00.327] Client desktop upper left coordinate (0,0)
[15:47:00.327] disp_monitor_validate_and_compute_layout:---OUTPUT---
[15:47:00.327] 	rdpMonitor[0]: x:0, y:0, width:0, height:0, is_primary:1
[15:47:00.327] 	rdpMonitor[0]: weston x:0, y:0, width:0, height:0
[15:47:00.327] 	rdpMonitor[0]: physicalWidth:0, physicalHeight:0, orientation:0
[15:47:00.327] 	rdpMonitor[0]: desktopScaleFactor:0, deviceScaleFactor:0
[15:47:00.327] 	rdpMonitor[0]: scale:1, clientScale:1.00
[15:47:00.327] Head mode change:rdp-0 NEW width:0, height:0, scale:1, clientScale:1.000000
[15:47:00.327] move head/output rdp-0 (0,0) -> (0,0)
[15:47:00.327] client origin (0,0) is (0,0) in Weston space
[15:47:00.327] Output 'rdp-0' enabled with head(s) rdp-0
[15:47:00.327] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: no
               presentation clock: CLOCK_MONOTONIC_RAW, id 4
               presentation clock resolution: 0.000000001 s
[15:47:00.327] Loading module '/usr/lib/weston/rdprail-shell.so'
[15:47:00.333] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_DEBUG_LEVEL: 3.
Date: 2026-07-17 -03
[15:47:00.333] RDPRAIL-shell: allow-zap:0
[15:47:00.333] RDPRAIL-shell: allow-alt-f4-to-close-app:1
[15:47:00.333] RDPRAIL-shell: binding-modifier:none
[15:47:00.333] RDPRAIL-shell: local-move:0
[15:47:00.333] RDPRAIL-shell: distro name:Ubuntu-26.04 (len:12)
[15:47:00.334] RDPRAIL-shell: WSL2_DEFAULT_APP_ICON:/usr/share/icons/wsl/linux.png (loaded:yes)
[15:47:00.334] RDPRAIL-shell: WSL2_DEFAULT_APP_OVERLAY_ICON:/usr/share/icons/wsl/linux.png (loaded:yes)
[15:47:00.334] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_APPEND_DISTRONAME_STARTMEN:1
[15:47:00.334] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_BLEND_OVERLAY_ICON_APPLIST:1
[15:47:00.334] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_BLEND_OVERLAY_ICON_TASKBAR:1
[15:47:00.334] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_USE_WSLPATH:0
[15:47:00.334] rdp_rail_shell_initialize_notify: shell: distro name: Ubuntu-26.04
[15:47:00.335] app_list_monitor_thread: running in user-distro: Ubuntu-26.04
[15:47:00.336] app_list_monitor_thread: inotify_add_watch(/usr/share/applications)
[15:47:00.335] Loading module '/usr/lib/libweston-9/xwayland.so'
[15:47:00.336] app_list_monitor_thread: monitor /usr/share/applications
[15:47:00.336] app_list_monitor_thread: /usr/local/share/applications doesn't exist, skipping.
[15:47:00.336] app_list_monitor_thread: /var/lib/snapd/desktop/applications doesn't exist, skipping.
[15:47:00.336] app_list_monitor_thread: /var/lib/flatpak/exports/share/applications doesn't exist, skipping.
[15:47:00.336] app list folder[0]: /usr/share/applications
[15:47:00.336] desktop file: /usr/share/applications/org.freedesktop.Xwayland.desktop has NoDisplay specified
[15:47:00.336] app list entry failed to update: Key:Xwayland
[15:47:00.336] free_app_entry(): (null): /usr/share/applications/org.freedesktop.Xwayland.desktop
[15:47:00.336] app list folder[1]: /usr/local/share/applications
[15:47:00.336] app list folder[2]: /var/lib/snapd/desktop/applications
[15:47:00.336] app list folder[3]: /var/lib/flatpak/exports/share/applications
[15:47:00.336] Registered plugin API 'weston_xwayland_v1' of size 32
[15:47:00.336] Registered plugin API 'weston_xwayland_surface_v1' of size 48
[15:47:00.336] unlinking stale lock file /tmp/.X0-lock
[15:47:00.336] Not using abstract fd for Xwayland
[15:47:00.336] xserver listening on display :0
[15:47:00.336] Loading module '/usr/lib/weston/wslgd-notify.so'
[15:47:00.337] wet_module_init: connect(/mnt/wslg/weston-notify.sock) failed No such file or directory
Details

Why this use case matter?

Running graphical apps inside WSL in GitHub Actions is a good way to smoke test the platform and how well we (the distributions) are integrating with it in an automated fashion.

Secondary observations from logs (not the root cause)

  • weston.log: XDG_RUNTIME_DIR "/mnt/wslg/runtime-dir" is not configured correctly. Unix access mode must be 0700 (current mode is 777) — the runtime
    dir is world-writable; also causes dbus to refuse its transient service
    directory. Worth reporting but not the crash trigger.
  • dbus: Unknown username "pulse" — the pulse user is absent in the system
    distro; cosmetic.
  • wet_module_init: connect(/mnt/wslg/weston-notify.sock) failed appears in the
    post-crash restart (the notify socket from the previous instance is gone).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions