Using niri, if I start wpaperd with both of my monitors on, then disable one of them (in this case, DP-2), wpaperd crashes:
$ RUST_BACKTRACE=1 wpaperd --verbose
DEBUG [smithay_client_toolkit::registry] Bound new global [44] wl_output v4
DEBUG [smithay_client_toolkit::registry] Bound new global [52] wl_output v4
DEBUG [smithay_client_toolkit::registry] Bound new global [9] zxdg_output_manager_v1 v3
DEBUG [smithay_client_toolkit::shm] supported wl_shm format Xbgr8888
DEBUG [smithay_client_toolkit::shm] supported wl_shm format Argb8888
DEBUG [smithay_client_toolkit::shm] supported wl_shm format Abgr8888
DEBUG [smithay_client_toolkit::shm] supported wl_shm format Xrgb8888
ERROR [wpaperd::surface]
0: Surface for display DP-2 is not available in wpaperd registry
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1: __libc_start_main<unknown>
at <unknown source file>:<unknown line>
Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.
fish: Job 1, 'RUST_BACKTRACE=1 wpaperd --verb…' terminated by signal SIGSEGV (Address boundary error)
I believe this only happens when attempting to transition to a new image. It does not happen consistently. Sometimes it segfaults directly without emitting an error.
Using niri, if I start wpaperd with both of my monitors on, then disable one of them (in this case, DP-2), wpaperd crashes:
I believe this only happens when attempting to transition to a new image. It does not happen consistently. Sometimes it segfaults directly without emitting an error.