Subject: [bug#50563] [PATCH [0/2] gnu: GDM: Add Wayland support

From: Mathieu Othacehe <[email-masked]>
Date: Wed, 29 Sep 2021 11:20:58 +0000

Hello Josselin,

> This is my first contribution, so do not hesitate to give any feedback
> (I also haven't setup `git send-email` yet so this is a manual mail).

Thanks for this first contribution! I was able to apply the patches just
fine. However, it would nice if you could write commit messages
respecting the ChangeLog format as explained here:
https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html.

> 1. Enables optional support for launching a Wayland GDM session.
> 2. Adds a wrapper for Wayland sessions in order to setup the
> environment, similar to the default `/etc/profile` or `xinitrc`.

I tried to apply both patches on top of the wip-gnome40 branch to see if
I can get Wayland support. There are minor merge conflicts that are
solved on the wip-gnome40-wayland branch.

I then edited the desktop.tmpl file this way:

--8<---------------cut here---------------start------------->8---
--- a/gnu/system/examples/desktop.tmpl
+++ b/gnu/system/examples/desktop.tmpl
@@ -64,12 +64,15 @@
   ;; by clicking the gear.  Use the "desktop" services, which
   ;; include the X11 log-in service, networking with
   ;; NetworkManager, and more.
-  (services (append (list (service gnome-desktop-service-type)
-                          (service xfce-desktop-service-type)
-                          (set-xorg-configuration
-                           (xorg-configuration
-                            (keyboard-layout keyboard-layout))))
-                    %desktop-services))
+  (services (modify-services
+                (append (list (service gnome-desktop-service-type)
+                              (set-xorg-configuration
+                               (xorg-configuration
+                                (keyboard-layout keyboard-layout))))
+                    %desktop-services)
+              (gdm-service-type config =>
+                                (gdm-configuration
+                                 (wayland? #t)))))
 
   ;; Allow resolution of '.local' host names with mDNS.
   (name-service-switch %mdns-host-lookup-nss))
--8<---------------cut here---------------end--------------->8---

And tested it by running:

--8<---------------cut here---------------start------------->8---
$(./pre-inst-env guix system vm gnu/system/examples/desktop.tmpl
--no-grafts --no-offload -v3 -K) -m 2048
--8<---------------cut here---------------end--------------->8---

Looks like there's a good old xorg-server running, plus the "About"
section in GNOME configuration reports that it is running using the X11
window system.

Anything wrong with my integration?

Thanks,

Mathieu