greetd-wlgreet-sway-session result is blinking cursor

  • Open
  • quality assurance status badge
Details
6 participants
  • bdju
  • chris
  • David Arroyo
  • Josselin Poiret
  • Hugo Buddelmeijer
  • (
Owner
unassigned
Submitted by
chris
Severity
normal
C
C
chris wrote on 6 Sep 2023 05:04
(address . bug-guix@gnu.org)(address . chris@bumblehead.com)
ZPfsKrd1Xsm_gHL4@guix-xps
Hello and thank you in advance for reading me. When defining wlgreet-sway-session in my system config, the result is a blinking cursor. There is no login screen. To login or issue any command, it is necessary to switch to a different tty with something like Alt+fn+F2.

In irc, I messaged the user who created greetd-wlgreet-sway-session and it seems other users have encountered the blinking cursor and no one knows of a solution. If possible, I would like help troubleshoot and resolve the issue.

My config file is here,

```bash
$ sudo tail -5 /var/log/greetd-1.log
2023-09-05 18:59:22 error: check_children: greeter exited without creating a session
2023-09-05 18:59:23 error: check_children: greeter exited without creating a session
2023-09-05 18:59:24 error: check_children: greeter exited without creating a session
2023-09-05 18:59:25 error: check_children: greeter exited without creating a session
2023-09-05 18:59:27 error: check_children: greeter exited without creating a session
```

I've tried defining some XDG vars in /home/greeter/.profile and sometimes this causes error messages to appear above the blinking cursor, but no positive result.

Please anyone feel free to give advice or suggest any things that I might try.
C
C
chris wrote on 6 Sep 2023 07:00
wlgreet-sway-session
(address . 65769@debbugs.gnu.org)(address . chris@bumblehead.com)
ZPgHeCRlPcjpFD5a@guix-xps
Attached to this message is the content of /tmp/sway-greeter.388.log
C
C
chris wrote on 6 Sep 2023 07:10
(address . 65769@debbugs.gnu.org)(address . chris@bumblehead.com)
ZPgJ3jPRPPjvBR3b@guix-xps
In case the attachment is not-accessible, important last lines of sway-greeter.388.log are pasted here.
```
00:00:00.066 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-1.lock check permissions
00:00:00.066 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-2.lock check permissions
00:00:00.066 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-3.lock check permissions
00:00:00.066 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-4.lock check permissions
00:00:00.066 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-5.lock check permissions
00:00:00.066 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-6.lock check permissions
00:00:00.066 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-7.lock check permissions
00:00:00.066 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-8.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-9.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-10.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-11.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-12.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-13.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-14.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-15.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-16.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-17.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-18.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-19.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-20.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-21.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-22.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-23.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-24.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-25.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-26.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-27.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-28.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-29.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-30.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-31.lock check permissions
00:00:00.067 [INFO] [wlr] [wayland] unable to open lockfile /run/user/986/wayland-32.lock check permissions
00:00:00.067 [ERROR] [sway/server.c:231] Unable to open wayland socket
00:00:00.067 [DEBUG] [wlr] [types/wlr_drm_lease_v1.c:103] Destroying wlr_drm_lease_device_v1 for /dev/dri/card0
```
C
C
chris wrote on 6 Sep 2023 07:22
(address . 65769@debbugs.gnu.org)
ZPgMiE6wXM0_9nmf@guix-xps
This directory for the greeter user does not exist in the system /run/user/986
C
C
chris wrote on 6 Sep 2023 07:32
(address . 65769@debbugs.gnu.org)
ZPgO-SbxWe82sECE@guix-xps
The greeter works after creating /run/user/986/wayland-1.lock and changing the owner of /run/user/986 and /run/user/986/wayland-1.lock to "greeter". This seems to be a bug.
J
J
Josselin Poiret wrote on 6 Sep 2023 14:34
Re: bug#65769: wlgreet-sway-session
877cp3v5sp.fsf@jpoiret.xyz
Hi chris,

chris <chris@bumblehead.com> writes:

Toggle quote (2 lines)
> This directory for the greeter user does not exist in the system /run/user/986

Do you use elogind?

Best,
--
Josselin Poiret
-----BEGIN PGP SIGNATURE-----

iQHEBAEBCgAuFiEEOSSM2EHGPMM23K8vUF5AuRYXGooFAmT4ceYQHGRldkBqcG9p
cmV0Lnh5egAKCRBQXkC5FhcaihMzC/4mIfWiRSJa31PeDhO9H4bf4nscWfvpEKII
LKWH0x02iZCmpfz+AmhhxiftWZaK+Z9DBnfBt1jq/YxJsPZOC6Ts7RZkG4/cRwTu
oSmIYh5YpXLj7gI8MAdjxfDSyUYU/e90zlx+7JCFpMfsvV/Z8uws4fJTwHhoQz6Y
Atm+QDrLb7O6EXsCqQZK1iQNw+6mGVOmGVfL93BzRAcaPGG4V4XabJD4hJYE+J7V
YWcnwlRriSqYp8uJ4y/rPPLEJd0T+afVhflQ7op9a5JlBqaMXxEo/hERlgWR55qA
IAx5EGZHQhqTp7AEGh67buQ0EqmTGqeBwGxlG2keY4Kusi4SG0yh7srkVTRKXOrX
pqgVnzZITx6aepGoZBA4ezRAtPu7mfVsaKRAEjcIzg1qObjxmuvaKG5mVne6qoHF
XhWlO3X2Fmx9/rPzt2D0/xdl4QTjohsZ8yKTsjpQTSuCIw21p1at1Z1BPErsDYpG
oCr2rLidTiniUEQf24C89f/0LVQJhsc=
=I6fj
-----END PGP SIGNATURE-----

C
C
chris wrote on 6 Sep 2023 17:57
no elogind
(address . 65769@debbugs.gnu.org)(address . chris@bumblehead.com)
ZPihgoqgZMcbhMtu@guix-xps
Josselin,

Toggle quote (2 lines)
> Do you use elogind?

No. elogind is not used.
(
Re: bug#65769: greetd-wlgreet-sway-session result is blinking cursor
(name . chris)(address . chris@bumblehead.com)
87h6o4lnxz.fsf@disroot.org
chris <chris@bumblehead.com> writes:
Toggle quote (4 lines)
> In irc, I messaged the user who created greetd-wlgreet-sway-session and it seems
> other users have encountered the blinking cursor and no one knows of a
> solution. If possible, I would like help troubleshoot and resolve the issue.

I believe that may have been moi :) This is really odd. I seem to be
the only person who has ever managed to make it work (though there's a
bit of a reporting bias there in that people who do manage probably
won't bring it up...)

It would be great if anyone trying to use it could possibly reply here
with a link, attachment, or copy of the config.scm they use (whether
it's working for them or not; both are useful.)

I'll start:


-- (
C
C
chris wrote on 8 Sep 2023 17:31
(name . ()(address . paren@disroot.org)(address . 65769@debbugs.gnu.org)
ZPs-YA0Hy7ebG4Pg@guix-xps
On 9?08? ?, ( wrote:
Toggle quote (15 lines)
> I believe that may have been moi :) This is really odd. I seem to be
> the only person who has ever managed to make it work (though there's a
> bit of a reporting bias there in that people who do manage probably
> won't bring it up...)
>
> It would be great if anyone trying to use it could possibly reply here
> with a link, attachment, or copy of the config.scm they use (whether
> it's working for them or not; both are useful.)
>
> I'll start:
>
> https://git.sr.ht/~unmatched-paren/conf/tree/root/item/system.scm
>
> -- (

Thanks for replying to my issue :)

A "solution" is discussed earlier in the thread https://issues.guix.gnu.org/65769#4

Toggle quote (2 lines)
> The greeter works after creating /run/user/986/wayland-1.lock and changing the owner of /run/user/986 and /run/user/986/wayland-1.lock to "greeter".

(
(name . chris)(address . chris@bumblehead.com)(address . 65769@debbugs.gnu.org)
87cyysllhs.fsf@disroot.org
chris <chris@bumblehead.com> writes:
Toggle quote (3 lines)
>> The greeter works after creating /run/user/986/wayland-1.lock and changing the
>> owner of /run/user/986 and /run/user/986/wayland-1.lock to "greeter".

wut. I don't remember ever having to do anything like that...

Toggle quote (4 lines)
> My system config is here
>
> https://raw.githubusercontent.com/iambumblehead/guix-home/main/guix.system.scm

Thanks! Now I know it's not malconfiguration; your config is
essentially the same as mine.
C
C
chris wrote on 8 Sep 2023 18:01
(name . ()(address . paren@disroot.org)(address . 65769@debbugs.gnu.org)
ZPtFZZ6EzApJx9-T@guix-xps
Josselin sent this message intended for the thread and I think they are okay with re-pasting here,

Toggle quote (2 lines)
> Usually elogind is responsible (through a PAM module) for creating this runtime directory. If you're not using elogind, you'll need to create this directory yourself somehow. I don't really think this is a bug per-se, as running without elogind is advanced stuff and its consequences should be understood by the user.

I support any conclusion from Josselin and unmatched-paren and want to add these observations,
* wlgreet *does require* the greeter lock file
* wlgreet *does not require* elogind/logind
* not-advanced users like me may want to use wlgreet without elogind
(
(name . chris)(address . chris@bumblehead.com)(address . 65769@debbugs.gnu.org)
878r9glk9d.fsf@disroot.org
chris <chris@bumblehead.com> writes:
Toggle quote (5 lines)
> I support any conclusion from Josselin and unmatched-paren and want to add these observations,
> * wlgreet *does require* the greeter lock file
> * wlgreet *does not require* elogind/logind
> * not-advanced users like me may want to use wlgreet without elogind

I'm not using elogind, either; just seatd. And yet it works still...

-- (
J
J
Josselin Poiret wrote on 9 Sep 2023 13:11
(address . 65769@debbugs.gnu.org)
871qf7vbx4.fsf@jpoiret.xyz
Hi chris,

chris <chris@bumblehead.com> writes:

Toggle quote (4 lines)
> Josselin sent this message intended for the thread and I think they are okay with re-pasting here,
>
>> Usually elogind is responsible (through a PAM module) for creating this runtime directory. If you're not using elogind, you'll need to create this directory yourself somehow. I don't really think this is a bug per-se, as running without elogind is advanced stuff and its consequences should be understood by the user.

oops, sorry for not replying to all (the cardinal sin of email conversation).

Toggle quote (5 lines)
> I support any conclusion from Josselin and unmatched-paren and want to add these observations,
> * wlgreet *does require* the greeter lock file
> * wlgreet *does not require* elogind/logind
> * not-advanced users like me may want to use wlgreet without elogind

I'd still like feedback from actual users of wlgreet, as I have not used
it myself. I do believe the only way it could work is because something
takes care of creating the runtime directory.

Best,
--
Josselin Poiret
-----BEGIN PGP SIGNATURE-----

iQHEBAEBCgAuFiEEOSSM2EHGPMM23K8vUF5AuRYXGooFAmT8UucQHGRldkBqcG9p
cmV0Lnh5egAKCRBQXkC5Fhcaikf7C/9CVk4TWohKW1izbEvvKtP9pfX12VB91WT3
z83uk0/IA+1ZblD6g+wzZhGRE3xgUQdKnj16J/ig6uhwEbS/aRmIUtI6i2wgP1AW
lyzhsVV7MKJsjHlCHEnyHkm9YtQgCQIe30fYZrUfvAT/tn7IQSNxTXRiH6QRIhW5
DD5qoOb3x2HFUp/xThEV2QQYszs9Ogek2N7VzuqiypZvT1BmzI7/tSCgOleyOQIp
GSDZ68rYqoC5y/2Nvo1k4o8aFN/l72jjRMZyMpdVc4G00DCFqGtqPABmm6i7B0j6
miP6K+kbLYZFhyLualTE8uNvHDiDcYXSUja0q/ER6GqP4tZEB1drBEQlU6wV76u/
AV3NB/3thRUfXnYkd5/JIaWzjSdtvdmOCkcYYdZpeO9mvXPKf5U8r0wArGMpXdlA
to+j+L6iCSGU2c5UBM3gn8kFyTvVad9kDkpxT2ha8SCJuorP9H2YM9Og1i/T8HCh
gJ4VQBK+N33whrMkPOUNszVIa2Irt/M=
=uJHr
-----END PGP SIGNATURE-----

H
H
Hugo Buddelmeijer wrote on 20 Oct 2023 11:01
(address . 65769@debbugs.gnu.org)
CA+Jv8O1uVKrOST5-tW-dx5UK3StKRF2V8Gp56fzDALTER0gr8A@mail.gmail.com
Hi chirs, Josselin, unmatchedparenthesis,

Thank you for your example configs! It allowed me to get sway up and
running under Guix. For those interested, here is my configuration:

However, I might switch to something else for now, as I'm having too
much trouble with running Sway. My main goal is to move to a window
manager that makes it easy to store my home configuration, for example
with guix home; I found dconf too convoluted. Using wayland or a
tiling WM is only a secondary goal for me. Maybe i3 or XFCE would
suite me just fine.

The main problems I faced, in detail below:
1) I cannot get Sway/wayland to work with the libre kernel; this is
probably due to my hardware, but X works fine.
2) I have to create the /run/user/936 directory manually. The 936 is
the `greeter` user, which occassionally changes.
3) Power management does not work. That might not be related to Sway
at all, but is an important showstopper for me right now.

It would be greatly appreciated if someone could post an example Guix
config for Sway that should run out of the box with the libre kernel
without any extra channels. For example on a virtual machine. Then we
have a shared starting point that we can all confirm to work, so we
can detangle issues specific to our own hardware and software
configuration, and issues related to Sway+Guix in general.

Cheers,
Hugo


1) Sway on libre kernel.

Having a libre system is one of my reasons for using Guix, so I'd
prefer a libre kernel. However, for me the libre kernel does not work
with sway. I expect this is a problem with my hardware, but I mention
it anyway, since I haven't seen a Sway configuration that uses the
libre kernel. My machine is a System 76 Lemure Pro with an "Intel
Corporation Alder Lake-UP3 GT2 [Iris Xe Graphics]".

Relevant logs (not necessarily all from the same session...):
- /var/log/greetd-1.log:
- /tmp/sway-greeter.448.log:

I don't particularly care about hardware acceleration for now, so if
it is possible to run Sway in just software, then that would be fine
with me as well.


2) /run/user/936

Running the attached config as-is will result in the subject of this
tread: the blank screen with cursor at the top left. I have to figure
out what the id is of the greeter user, and then create the
appropriate directory. Something like:

GREETERID=$(id -u greeter)
mkdir "/run/user/${GREETERID}"
chmod greeter:users "/run/user/${GREETERID}"

I don't know how the id of the greeter user is determined. It has
changed after doing a `guix system reconfigure`, but only
occasionally. I create these directories manually at the moment.



3) Power management: this might not be related to Sway, but maybe I'm
solving too many problems at the same time, and power management is
the showstopper for using this laptop. So I'll ensure that power
manament works properly before experimenting with Sway.
B
CWD6HVE5HFES.27T40KFYIL9XN@masaki
On Fri Oct 20, 2023 at 4:01 AM CDT, Hugo Buddelmeijer wrote:
Toggle quote (11 lines)
> It would be greatly appreciated if someone could post an example Guix
> config for Sway that should run out of the box with the libre kernel
> without any extra channels. For example on a virtual machine. Then we
> have a shared starting point that we can all confirm to work, so we
> can detangle issues specific to our own hardware and software
> configuration, and issues related to Sway+Guix in general.
>
> Cheers,
> Hugo
>

I am running Sway on Guix System with the libre kernel. My hardware is a
ThinkPad T440p, intel graphics. I do not use any channels.

I've attached my config.scm, manifest, and sway config files in case
it's useful to you.
;; This is an operating system configuration generated ;; by the graphical installer. (use-modules (gnu) (gnu services dbus) (gnu services pm) (gnu services linux) (gnu services virtualization) (gnu system setuid) (guix packages)) (use-service-modules audio base desktop networking ssh sound xorg) (use-package-modules shells wm android gnome) ; workaround to use swaylock with PAM, requires disabling setuid ; (define-public swaylock-pam-service-type ; (service-type (name 'swaylock) ; (extensions (list (service-extension pam-root-service-type ; (const (list (pam-service ; (name "swaylock") ; (auth (list ; (pam-entry ; (control "include") ; (module "greetd")))))))))) ; (description "Swaylock pam configuration") ; (default-value '()))) ; attempt to restore a PAM-less swaylock (define-public swaylock/no-pam (package (inherit swaylock) (name "swaylock-no-pam") (inputs (filter (lambda (input) (not (string=? "linux-pam" (car input)))) (package-inputs swaylock))))) (operating-system (locale "en_US.utf8") (timezone "America/Chicago") (keyboard-layout (keyboard-layout "us")) (host-name "anpan") (users (cons* (user-account (name "brad") (comment "Bradley") (group "users") (shell (file-append zsh "/bin/zsh")) (home-directory "/home/brad") (supplementary-groups '("wheel" "netdev" "audio" "video" "libvirt" "kvm" "adbusers" "plugdev" "tor" "tty" "input" "dialout"))) %base-user-accounts)) (groups (cons* (user-group (name "adbusers") (system? #t)) (user-group (name "plugdev") (system? #t)) %base-groups)) (packages (append (map specification->package '("adwaita-icon-theme" "hicolor-icon-theme" "gnome-themes-extra" "gvfs" "fwupd" "intel-vaapi-driver" "nss-certs" "neovim" "sway" "tmux" "v4l2loopback-linux-module" "vim-full")) (list swaylock/no-pam) %base-packages)) (services (cons* (service openssh-service-type (openssh-configuration (password-authentication? #t) (use-pam? #f))) (service tor-service-type) (service network-manager-service-type) (service wpa-supplicant-service-type) (service ntp-service-type) (service tlp-service-type (tlp-configuration (cpu-scaling-governor-on-ac (list "performance")))) (service thermald-service-type) (service upower-service-type) (service earlyoom-service-type) (service alsa-service-type) (service polkit-service-type) (service dbus-root-service-type) (service udisks-service-type) (service libvirt-service-type (libvirt-configuration (unix-sock-group "libvirt") (tls-port "16555"))) (service virtlog-service-type (virtlog-configuration (max-clients 1000))) (udev-rules-service 'controller-nintendo-gamecube-adapter (udev-rule "51-gcadapter.rules" (string-append "SUBSYSTEM==\"usb\", ENV{DEVTYPE}==\"usb_device\", " "ATTRS{idVendor}==\"057e\", ATTRS{idProduct}==\"0337\", " "MODE=\"0666\""))) ; (service udev-service-type ; (udev-configuration ; (rules (cons android-udev-rules ; (udev-configuration-rules config))))) (service elogind-service-type (elogind-configuration (handle-lid-switch 'ignore))) (simple-service 'fuse-etc etc-service-type (list `("fuse.conf" ,(plain-file "fuse.conf" "user_allow_other\n")))) (simple-service 'ratbagd dbus-root-service-type (list libratbag)) %base-services)) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout))) (swap-devices (list (swap-space (target "/swapfile")))) (mapped-devices (list (mapped-device (source (uuid "6098315e-f945-4450-8438-29cf49eea790")) (targets (list "cryptroot")) (type luks-device-mapping)))) ;(mapped-device ; (type luks-device-mapping) ; (source ; (uuid "b458c6b9-6781-474c-8623-ad869c02f194")) ; (targets (list "sidecar"))))) ;(mapped-device ; (type luks-device-mapping) ; (source ; (uuid "cb7b1caa-0448-4a35-9d40-7ab1d82a18f1")) ; (targets (list "bullet"))))) (file-systems (cons* (file-system (mount-point "/") (device "/dev/mapper/cryptroot") (type "btrfs") (dependencies mapped-devices)) (file-system (mount-point "/boot/efi") (device (uuid "F1AB-B8B3" 'fat32)) (type "vfat")) ;(file-system ; (mount-point "/data0") ; (dependencies mapped-devices) ; (device "/dev/mapper/sidecar") ; (type "btrfs")) ;(file-system ; (mount-point "/data0") ; (dependencies mapped-devices) ; (device "/dev/mapper/bullet") ; (type "btrfs")) %base-file-systems)) (setuid-programs (append (list (setuid-program (program (file-append swaylock/no-pam "/bin/swaylock")))) %setuid-programs)) )
H
H
Hugo Buddelmeijer wrote on 20 Oct 2023 14:14
(name . bdju)(address . bdju@tilde.team)(address . 65769@debbugs.gnu.org)
CA+Jv8O0pAotpZ1aoTCOFONN+nv+QSXpOvwT=r1LcL_7nok5xKA@mail.gmail.com
Thank you bdju!

Your config also does not work for me, so my specific problem is
probably hardware related. Thanks for helping me isolate the problem.
Apparently I was naive in assuming that i915 would mean things would
just work. (Well, X works.)

I also get a blank screen with the cursor at the top of the screen
(sometimes), but my problem seems unrelated to this issue, because
greetd/wlgreet is now not involved. I will therefore not discuss my
problem here further.

Hugo

On Fri, 20 Oct 2023 at 12:02, bdju <bdju@tilde.team> wrote:
Toggle quote (18 lines)
>
> On Fri Oct 20, 2023 at 4:01 AM CDT, Hugo Buddelmeijer wrote:
> > It would be greatly appreciated if someone could post an example Guix
> > config for Sway that should run out of the box with the libre kernel
> > without any extra channels. For example on a virtual machine. Then we
> > have a shared starting point that we can all confirm to work, so we
> > can detangle issues specific to our own hardware and software
> > configuration, and issues related to Sway+Guix in general.
> >
> > Cheers,
> > Hugo
> >
>
> I am running Sway on Guix System with the libre kernel. My hardware is a
> ThinkPad T440p, intel graphics. I do not use any channels.
>
> I've attached my config.scm, manifest, and sway config files in case
> it's useful to you.
H
H
Hugo Buddelmeijer wrote on 20 Oct 2023 15:49
(address . 65769@debbugs.gnu.org)
CA+Jv8O0C5D2V3UsJZsf2CcznDo7OoEvLMoDJVewZn6jqsCS1xQ@mail.gmail.com
Ok, just one more update on the hardware issue: I 'resolved' it, and
maybe I can help others by commenting here.

Specifying i915.enable_guc=0 as a kernel parameter at boot will ensure
the kernel doesn't get 'wedged' and now sway works on the libre kernel
too. I get the blinking cursor again if I forget.

I tried adding the kernel parameter to the config like this:

(sysctl-service-type config =>
(sysctl-configuration
(settings (append '(("i915.enable_guc" . "0"))
%default-sysctl-settings))))

But that does not work, so I have to add the parameter at boot time.
Maybe I'll create a new issue for that.

So now I can go back to actually using sway, and fixing my power
management! And perhaps, if it becomes annoying enough, the creation
of the /run/user/<greeter id> directory...

Hugo


On Fri, 20 Oct 2023 at 12:14, Hugo Buddelmeijer <hugo@buddelmeijer.nl> wrote:
Toggle quote (34 lines)
>
> Thank you bdju!
>
> Your config also does not work for me, so my specific problem is
> probably hardware related. Thanks for helping me isolate the problem.
> Apparently I was naive in assuming that i915 would mean things would
> just work. (Well, X works.)
>
> I also get a blank screen with the cursor at the top of the screen
> (sometimes), but my problem seems unrelated to this issue, because
> greetd/wlgreet is now not involved. I will therefore not discuss my
> problem here further.
>
> Hugo
>
> On Fri, 20 Oct 2023 at 12:02, bdju <bdju@tilde.team> wrote:
> >
> > On Fri Oct 20, 2023 at 4:01 AM CDT, Hugo Buddelmeijer wrote:
> > > It would be greatly appreciated if someone could post an example Guix
> > > config for Sway that should run out of the box with the libre kernel
> > > without any extra channels. For example on a virtual machine. Then we
> > > have a shared starting point that we can all confirm to work, so we
> > > can detangle issues specific to our own hardware and software
> > > configuration, and issues related to Sway+Guix in general.
> > >
> > > Cheers,
> > > Hugo
> > >
> >
> > I am running Sway on Guix System with the libre kernel. My hardware is a
> > ThinkPad T440p, intel graphics. I do not use any channels.
> >
> > I've attached my config.scm, manifest, and sway config files in case
> > it's useful to you.
D
D
David Arroyo wrote on 31 Oct 21:56 +0100
Re: bug#65769: greetd-wlgreet-sway-session result is blinking cursor
(address . 65769@debbugs.gnu.org)
d4962d15-d4a4-49d3-8a27-d5e8c5b2183b@app.fastmail.com
On Sat, Sep 9, 2023, at 11:11, Josselin Poiret via Bug reports for GNU Guix wrote:
Toggle quote (4 lines)
> I'd still like feedback from actual users of wlgreet, as I have not used
> it myself. I do believe the only way it could work is because something
> takes care of creating the runtime directory.

This is my conclusion as well. I ran into this issue today when trying to
setup a minimal install with sway. I had to switch from seatd to elogind.
Here's my working config:


Here's my understanding of the issue;

* greetd runs as root, but when the user switches to a vt, it forks a
child process to run the default_session command (agreety, wlgreet,
etc). This process runs as the `(default-session-user config)`
(default "greeter".

* sway requires XDG_RUNTIME_DIR to exist, but there is nothing creating
XDG_RUNTIME_DIR on behalf of "greeter", so it repeatedly crashes
until herd disables the `term-ttyX` service corresponding to the
wlgreet terminal.

* When using elogind, this is taken care of for "greeter" by the
pam_elogind pam module, which is added to all pam configs, including
greetd's, by the `elogin-service-type` service. On other distros,
pam_systemd performs the same task.

This issue is summarized by the author of seatd here:


The solution prescribed is to create the rundir from a script on startup
or with a pam module. I was curious why the existing `pam_mount(5)`
module in greetd's existing PAM configuration did not handle creation
for the "greeter" user as well. The pam_mount configuration linked to
/etc/security/greetd_pam_mount.conf.xml does not discriminate against
this user.

I set `debug=1` in /etc/security/greetd_pam_mount.conf.xml and restarted
the system. Here's the `pam_mount` logs for the "greeter" user's session:

greetd: (pam_mount.c:568): pam_mount 2.18: entering session stage
greetd: (pam_mount.c:629): no volumes to mount
greetd: command: '/gnu/store/18wjrghh95hy8l4nmr22lpsjgjpdqbax-greetd-pam-mount-2.18/sbin/pmvarrun' '-u' 'greeter' '-o' '1'
greetd: (pam_mount.c:441): pmvarrun says login count is 2
greetd: (pam_mount.c:660): done opening session (ret=0)
greetd: (pam_mount.c:706): received order to close things
greetd: (pam_mount.c:709): No volumes to umount

And for my session (after logging into a separate vt running agreety):

greetd: (pam_mount.c:568): pam_mount 2.18: entering session stage
greetd: (mount.c:781): Could not get realpath of /run/user/1000: No such file or directory
greetd: (mount.c:251): Mount info: globalconf, user=droyo <volume fstype="tmpfs" server="(null)" path="none" mountpoint="/run/user/1000" cipher="(null)" fskeypath="(null)" fskeycipher="(null)" fskeyhash="(null)" options="noexec,nosuid,nodev,size=1g,mode=0700,uid=1000,gid=998" /> fstab=0 ssh=0
greetd: (mount.c:305): mkmountpoint: checking /run
greetd: (mount.c:305): mkmountpoint: checking /run/user
greetd: (mount.c:345): mkdir[0] /run/user
greetd: (mount.c:351): chown /run/user -> 1000:998
greetd: (mount.c:305): mkmountpoint: checking /run/user/1000
greetd: (mount.c:329): mkdir[1000] /run/user/1000
greetd: (mount.c:660): Password will be sent to helper as-is.
greetd: command: '/gnu/store/w62dxljn51hcrszyxjb1dffhbvrl8iqm-util-linux-2.37.4/bin/mount' '-onoexec,nosuid,nodev,size=1g,mode=0700,uid=1000,gid=998' '-ttmpfs' 'none' '/run/user/1000'

I could not find any obvious problem reading pam_mount.c, so I read the
pam_mount.conf file a little closer and found the issue:

<volume sgrp="users" fstype="tmpfs" ...

Per pam_mount.conf(5), sgrp restricts pam_mount's activity to users in
the "users" group. So adding "users" to `greeter-supplementary-groups`
resolves the issue.

Sorry for being long-winded. I thought maybe including the steps I took
would help others stuck in similar issues troubleshoot. As far as fixing
this one, should we update the example in


or is it better to force a fix and modify pam_mount or make the
greetd-wlgreet-* sessions enforce some check on group membership?

Another thing, the /run/user created by pam_mount is owned by the
first session's user (greeter:greeter), while with pam_elogind it's owned
by root:root. It doesn't seem to cause a problem, but I just thought I'd
call that out.

David
C
(name . David Arroyo)(address . david@aqwari.net)
uq36pnblgvhijr7fmupuqjj37itcicrrfjwabn3udkewdb4bf7@dkqr4cbegsnv
David,

What a beautiful investigation and summary!

Adding "greeter-supplementary-groups" to my users supplementary-groups list now. Thank you!

Chris

--
???????????????????????
C
(name . David Arroyo)(address . david@aqwari.net)
wvfmmepef37eqjigz2mftsxsz5yj2qmmo67ixucz2mka7y2izs@ugwsu2wspppu
A week or two ago, wlgreet-sway-session started booting a blinking cursor again. I used ssh to get in, disable it and reconfigure and never took another look. Just now, per your advice, added "users" to `greeter-supplementary-groups`, reconfigured and rebooted and it works again!

--
???????????????????????
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 65769@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 65769
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch