Package: xfdesktop4 Version: 4.20.2-2 Severity: normal Tags: patch X-Debbugs-Cc: [email protected]
This bug is related to #1110124 and #1135377. == Summary == Since xfdesktop4 4.20.2-2, the binary /usr/bin/xfdesktop has the path /usr/share/images/desktop-base/default hardcoded as the default wallpaper fallback via the --with-default-backdrop-filename build flag set in d/rules. This breaks any Debian-based derivative that does not ship or depend on desktop-base, causing xfdesktop to show a black/empty desktop with the following errors at startup: (xfdesktop): GLib-GObject-CRITICAL: g_object_get_qdata: assertion 'G_IS_OBJECT (object)' failed (xfdesktop): GLib-GIO-CRITICAL: g_file_get_path: assertion 'G_IS_FILE (file)' failed xfdesktop-Message: Failed to load image file '(null)': Error opening file /usr/share/images/desktop-base/default: No such file or directory The xfdesktop-settings dialog also shows: "Unable to load images from folder (null)" "Error opening directory '/usr/share/images/desktop-base': No such file or directory" Furthermore, even when the user has valid wallpaper configuration in ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml pointing to /usr/share/backgrounds/xfce/xfce-x.svg, xfdesktop ignores this configuration on real hardware (tested on AMD Ryzen 7 6800H with Radeon 680M and Intel N150) and falls back to the hardcoded path. The issue does not reproduce on virtual machines (VMware, VirtualBox, virt-manager). Verification: $ strings /usr/bin/xfdesktop | grep desktop-base /usr/share/images/desktop-base/default The path is compiled into the binary via d/rules: --with-default-backdrop-filename=/usr/share/images/desktop-base/desktop-background == Steps to reproduce == 1. Install a Debian Testing-based system without desktop-base. 2. Install xfdesktop4 4.20.2-2. 3. Configure wallpaper to /usr/share/backgrounds/xfce/xfce-x.svg in xfconf. 4. Log out and log in on real (non-VM) hardware. 5. Observe black desktop and the errors above. == Expected behaviour == xfdesktop should fall back to /usr/share/backgrounds/xfce/xfce-x.svg (the upstream XFCE default) when desktop-base is not installed, or should respect update-alternatives for desktop-background as documented. == Suggested fix == Either: a) Change d/rules to use --with-default-backdrop-filename=/usr/share/backgrounds/xfce/xfce-x.svg when desktop-base is not a dependency, or b) Make the build-time default conditional on the presence of desktop-base, or c) Use update-alternatives properly so derivatives can register their own default wallpaper path, as described in bug #1110124. -- System information -- Debian Testing (forky) xfdesktop4 4.20.2-2 xfce4 4.20 Kernel: 7.0.9 (custom) Hardware tested: AMD Ryzen 7 6800H / Radeon 680M, Intel N150

