From 2d143cb3b40cf157c205dc935cdf9b01a5bca5ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Sat, 13 Sep 2025 02:18:02 +0200 Subject: [PATCH] Disable wayland session by default The wayland session support is experimental, don't enable it by default, as users may not realize its support status. And add desktop-linux-common-wayland package to re-enable it. QubesOS/qubes-issues#8515 --- rpm_spec/desktop-linux-common.spec.in | 15 +++++++++++++++ wayland-config/Makefile | 12 ++++++++++++ wayland-config/lightdm-10-qubes-wayland-off.conf | 3 +++ wayland-config/lightdm-15-qubes-wayland-on.conf | 3 +++ wayland-config/sddm-10-qubes-wayland-off.conf | 2 ++ wayland-config/sddm-15-qubes-wayland-on.conf | 2 ++ 6 files changed, 37 insertions(+) create mode 100644 wayland-config/Makefile create mode 100644 wayland-config/lightdm-10-qubes-wayland-off.conf create mode 100644 wayland-config/lightdm-15-qubes-wayland-on.conf create mode 100644 wayland-config/sddm-10-qubes-wayland-off.conf create mode 100644 wayland-config/sddm-15-qubes-wayland-on.conf diff --git a/rpm_spec/desktop-linux-common.spec.in b/rpm_spec/desktop-linux-common.spec.in index 29aa0ff..2e1a175 100644 --- a/rpm_spec/desktop-linux-common.spec.in +++ b/rpm_spec/desktop-linux-common.spec.in @@ -51,6 +51,13 @@ This package contains the XML files that describe the menu layout for GNOME and KDE, and the .desktop files that define the names and icons of "subdirectories" in the menus. +%package wayland +Summary: Configuration to enable Wayland session +Group: User Interface/Desktops + +%description wayland +This package enables experimental wayland session support. + %prep %setup -q @@ -61,6 +68,7 @@ make -C doc manpages PYTHON=%{__python3} %install make DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} PYTHON=%{__python3} install make -C doc DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} PYTHON=%{__python3} install +make -C wayland-config DESTDIR=$RPM_BUILD_ROOT install %post for i in /usr/share/qubes/icons/*.png ; do @@ -116,6 +124,9 @@ fi /usr/bin/qvm-sync-appmenus /usr/bin/qvm-appmenus +/usr/lib/sddm/sddm.conf.d/10-qubes-wayland-off.conf +/usr/share/lightdm/lightdm.conf.d/10-qubes-wayland-off.conf + %files -n qubes-menus %defattr(-,root,root) %doc qubes-menus/README @@ -127,5 +138,9 @@ fi %config %{_sysconfdir}/xdg/menus/*.menu %{_datadir}/desktop-directories/*.directory +%files wayland +/usr/lib/sddm/sddm.conf.d/15-qubes-wayland-on.conf +/usr/share/lightdm/lightdm.conf.d/15-qubes-wayland-on.conf + %changelog @CHANGELOG@ diff --git a/wayland-config/Makefile b/wayland-config/Makefile new file mode 100644 index 0000000..beb64eb --- /dev/null +++ b/wayland-config/Makefile @@ -0,0 +1,12 @@ +all: + @true + +install: + install -D -m0644 lightdm-10-qubes-wayland-off.conf \ + $(DESTDIR)/usr/share/lightdm/lightdm.conf.d/10-qubes-wayland-off.conf + install -D -m0644 lightdm-15-qubes-wayland-on.conf \ + $(DESTDIR)/usr/share/lightdm/lightdm.conf.d/15-qubes-wayland-on.conf + install -D -m0644 sddm-10-qubes-wayland-off.conf \ + $(DESTDIR)/usr/lib/sddm/sddm.conf.d/10-qubes-wayland-off.conf + install -D -m0644 sddm-15-qubes-wayland-on.conf \ + $(DESTDIR)/usr/lib/sddm/sddm.conf.d/15-qubes-wayland-on.conf diff --git a/wayland-config/lightdm-10-qubes-wayland-off.conf b/wayland-config/lightdm-10-qubes-wayland-off.conf new file mode 100644 index 0000000..d195a30 --- /dev/null +++ b/wayland-config/lightdm-10-qubes-wayland-off.conf @@ -0,0 +1,3 @@ +[LightDM] +# exclude wayland sessions by default as wayland is still experimental in qubes +sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions diff --git a/wayland-config/lightdm-15-qubes-wayland-on.conf b/wayland-config/lightdm-15-qubes-wayland-on.conf new file mode 100644 index 0000000..dbee105 --- /dev/null +++ b/wayland-config/lightdm-15-qubes-wayland-on.conf @@ -0,0 +1,3 @@ +[LightDM] +# re-enable wayland sessions at explicit request +sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions diff --git a/wayland-config/sddm-10-qubes-wayland-off.conf b/wayland-config/sddm-10-qubes-wayland-off.conf new file mode 100644 index 0000000..5f8470f --- /dev/null +++ b/wayland-config/sddm-10-qubes-wayland-off.conf @@ -0,0 +1,2 @@ +[Wayland] +SessionDir= diff --git a/wayland-config/sddm-15-qubes-wayland-on.conf b/wayland-config/sddm-15-qubes-wayland-on.conf new file mode 100644 index 0000000..2267852 --- /dev/null +++ b/wayland-config/sddm-15-qubes-wayland-on.conf @@ -0,0 +1,2 @@ +[Wayland] +SessionDir=/usr/local/share/wayland-sessions,/usr/share/wayland-sessions