I see that as of sway 1.6/wlroots 0.13 it is possible to launch and run sway without suid or elogind. Sway/wlroots now supports libseat, and libseat can be built for either (e)logind and/or its own seatd backend (although the existing seatd AUR package compiles with logind). The seatd backend looks sane, as opposed to (e)logind.
The sway wiki has not yet been updated, so it still only describes the setuid and elogind methods. However, I have converted my setup and have sway successfully running under Obarun without any need for elogind.
I had been running sway for some time - in particular because my laptop display and my monitor have different screen resolutions. X does not seem to handle this well, no matter what I do via XRandR. My setup was Obarun with SDDM and Sway, using elogind. I have now re-configured to use seatd, and since elogind is gone, I am using greetd with gtkgreet in place of SDDM. (I like my graphical login screen.)
The Obarun modules made this easier. I defined 'seatd-66serv' and 'greetd-6serv' packages, and used the boot-user@ module to add a 'boot-user@ greeter' service using:
The sway wiki has not yet been updated, so it still only describes the setuid and elogind methods. However, I have converted my setup and have sway successfully running under Obarun without any need for elogind.
I had been running sway for some time - in particular because my laptop display and my monitor have different screen resolutions. X does not seem to handle this well, no matter what I do via XRandR. My setup was Obarun with SDDM and Sway, using elogind. I have now re-configured to use seatd, and since elogind is gone, I am using greetd with gtkgreet in place of SDDM. (I like my graphical login screen.)
The Obarun modules made this easier. I defined 'seatd-66serv' and 'greetd-6serv' packages, and used the boot-user@ module to add a 'boot-user@ greeter' service using:
# # Uncomment it to use a display manager.
# # Can be any display manager as long as the
# # corresponding frontend file exist on your system
# # e.g sddm,lightdm,...
# # It also prepare the .xsession file.
DISPLAY_MANAGER=!greetd
# # Uncomment it to use a console tracker.
# # Can be any console tracker as long as the
# # corresponding frontend file exist on your system
# # e.g consolekit,elogind,...
CONSOLE_TRACKER=!seatd
# # Create and mount the XDG_RUNTIME directory
# # at /run/user/greeter [yes|no]
XDG_RUNTIME=!yes
# # Command to use in your .xinitrc
# # to launch your desktop e.g.: openbox-session.
# # If commented the .xinitrc file is not configured.
# DESKTOP_CMDLINE=!jwm
I'm currently testing a couple of PKGBUILDs that I will make available to easily reproduce this setup. However, the wlroots package in the obcommunity repo has seatd support disabled. Perhaps the time has come to update the wlroots package and add a seatd package to the obarun repos? I'd like to help if I may.