Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Desktop Environments
  • Search

Anyone using kde-plasma with seatd?

Problems with GUI applications? Questions about X, KDE, Gnome, Fluxbox, etc.? Come on in. NOTE: For multimedia, go up one forum
Post Reply
Advanced search
15 posts • Page 1 of 1
Author
Message
Zucca
Administrator
Administrator
User avatar
Posts: 4704
Joined: Thu Jun 14, 2007 10:31 pm
Location: Rasi, Finland
Contact:
Contact Zucca
Website

Anyone using kde-plasma with seatd?

  • Quote

Post by Zucca » Fri Jul 11, 2025 3:01 pm

I was about to try out KDE/Plasma again since KDE 4 early days.
Then I realised that kde plasma required systemd-logind or elogind to function.

My systems mostly use seatd + greetd, sometimes only seatd.
I wonder if it's possible to run kde plasma on systems where systemd-logind and elogind are absent?
..: Zucca :..

Code: Select all

0100100100100000011000010110110100100000
0100111001100001010011100010000100100000
0100100100100000011000010110110100100000
0110000100100000011011010110000101101110
00100001
Top
Anon-E-moose
Watchman
Watchman
User avatar
Posts: 6566
Joined: Fri May 23, 2008 7:31 pm
Location: Dallas area

  • Quote

Post by Anon-E-moose » Fri Jul 11, 2025 3:53 pm

I wonder if it's possible to run kde plasma on systems where systemd-logind and elogind are absent?
Not if you install by way of plasma-meta.
If you pick and choose pieces ... maybe.

Ones that will more than likely need *logind,

Code: Select all

 $ grep -lE "logind|systemd" */*ebuild
drkonqi-legacy/drkonqi-legacy-6.3.80_p20250417.ebuild
drkonqi/drkonqi-6.3.5-r1.ebuild
drkonqi/drkonqi-6.3.6.ebuild
drkonqi/drkonqi-6.4.2.ebuild
kwin-x11/kwin-x11-6.4.2.ebuild
kwin/kwin-6.3.5-r2.ebuild
kwin/kwin-6.3.6.ebuild
kwin/kwin-6.4.2.ebuild
plasma-firewall/plasma-firewall-6.3.5.ebuild
plasma-firewall/plasma-firewall-6.3.6.ebuild
plasma-firewall/plasma-firewall-6.4.2.ebuild
plasma-meta/plasma-meta-6.3.5-r2.ebuild
plasma-meta/plasma-meta-6.3.6.ebuild
plasma-meta/plasma-meta-6.4.2.ebuild
plasma-workspace/plasma-workspace-6.3.5-r2.ebuild
plasma-workspace/plasma-workspace-6.3.6.ebuild
plasma-workspace/plasma-workspace-6.4.2.ebuild
powerdevil/powerdevil-6.4.2.ebuild
UM780 xtx, 6.18 zen kernel, gcc 15, openrc, wayland
minixforum m1-s1 max -- same software as above but used for ai learning


Zealots are gonna be zealots, just like haters are gonna be haters
Top
Chiitoo
Ninja Apprentice
Ninja Apprentice
User avatar
Posts: 3079
Joined: Sun Feb 28, 2010 5:36 pm
Location: Sore wa sore, kore wa kore... nanoda.

  • Quote

Post by Chiitoo » Fri Jul 11, 2025 11:40 pm

I have been wondering the same for a while now, but I'm guessing it's not possible at this time due to what is being expected to be there. I'll be happy to be wrong about that though, and I have not dug into too deep yet.

Well, almost the same. For me it is not Plasma, but LXQt + KWin. I haven't mapped the specific requirements for KWin Wayland there yet, as I did not get it running on my main machine, which normally has no *logind, pam, policykit, and other such friends, even after adding those, so must be missing some piece still.

I did get it running on another machine that /does/ have elogind and friends, so it is a bit puzzling.
Kindest of regardses.
Top
Zucca
Administrator
Administrator
User avatar
Posts: 4704
Joined: Thu Jun 14, 2007 10:31 pm
Location: Rasi, Finland
Contact:
Contact Zucca
Website

  • Quote

Post by Zucca » Sat Jul 12, 2025 9:42 am

I considered installing elogind on that machine where I'd like to test out KDE, but then I stumbled upon Turnstile. So I'd still need seatd for seat management (I do want a seat aware system, I have use for it).

I've used /etc/security/pam_env.conf to set up custom environment variables for each user.
There was something elogind did and wasn't configurable that I switched to using seatd. One significant plus side seems to be that my systems don't have polkit (the idea of policy kit seems fine, but the implementation, which requires a javascript engine, is horrible).

I'll try to compare the features of elogind and turnstile, then maybe choose one of them to test.

(One more rabbit hole found, again.)
..: Zucca :..

Code: Select all

0100100100100000011000010110110100100000
0100111001100001010011100010000100100000
0100100100100000011000010110110100100000
0110000100100000011011010110000101101110
00100001
Top
Yamakuzure
Advocate
Advocate
User avatar
Posts: 2323
Joined: Wed Jun 21, 2006 11:06 am
Location: Adendorf, Germany
Contact:
Contact Yamakuzure
Website

  • Quote

Post by Yamakuzure » Sun Jul 13, 2025 6:37 am

Zucca wrote:I considered installing elogind on that machine where I'd like to test out KDE, but then I stumbled upon Turnstile. So I'd still need seatd for seat management (I do want a seat aware system, I have use for it).
I do not know whether this is relevant, but I have Plasma+elogind and use weston for havin sddm being on wayland instead of X. Weston needs seatd, so it is installed with USE="elogind -builtin -server -systemd" and works just fine. /usr/lib64/libseat.so.1 just asks elogind instead of its own server then.

About Turnstile, I read their readme but have no real understanding what they are about.

For instance, they write
While there are workarounds such as elogind, these are far from ideal. For instance, elogind is just a stubbed out version of upstream logind, and only provides the bare minimum, so systems using it are left without support for user services and other useful functionality.
Well, elogind is not "stubbed out" but simply systemd-logind + some extras. It is explicitly _not_ a service manager, that would have been the core of systemd, and would make elogind useless when run by actual service managers like openrc. And unfortunately they don't elaborate on the "other useful functionality", so I have no idea what I am missing.

It is sad that people start projects with readmes that bash other projects in secret instead of talking open what they are missing.
Edited 220,176 times by Yamakuzure
Top
Zucca
Administrator
Administrator
User avatar
Posts: 4704
Joined: Thu Jun 14, 2007 10:31 pm
Location: Rasi, Finland
Contact:
Contact Zucca
Website

  • Quote

Post by Zucca » Sun Jul 13, 2025 5:04 pm

Yamakuzure wrote:Well, elogind is not "stubbed out" but simply systemd-logind + some extras.
Interesting. What extras?
..: Zucca :..

Code: Select all

0100100100100000011000010110110100100000
0100111001100001010011100010000100100000
0100100100100000011000010110110100100000
0110000100100000011011010110000101101110
00100001
Top
GDH-gentoo
Advocate
Advocate
User avatar
Posts: 2115
Joined: Sat Jul 20, 2019 7:02 pm
Location: South America

  • Quote

Post by GDH-gentoo » Sun Jul 13, 2025 11:18 pm

Zucca wrote:I wonder if it's possible to run kde plasma on systems where systemd-logind and elogind are absent?
Expanding on Anon-E-moose's answer: sys-auth/elogind gets pulled only by kde-plasma/plasma-meta, because it installs sys-apps/dbus[elongind] and sys-fs/udisks[elogind]. Now, USE flag elogind makes sys-apps/dbus add extra code to dbus-daemon for processing configuration files that contain <policy at_console=value>, and makes sys-fs/udisks build the udisksd daemon (which does need either elogind or systemd-logind).

So I guess whether you can do away with elogind depends on what happens if one does not run udisksd, which packages drop D-Bus configuration files (in /usr/share/dbus-1/{system,session}.d) with attibute at_console in policy elements, and what for. You could do the experiment with your hand-picked Plasma packages :)

KWin doesn't seem to need elogind, although kwin_wayland will talk to it (for session management) if it is using the DRM backend.
Ionen wrote:As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Top
Chiitoo
Ninja Apprentice
Ninja Apprentice
User avatar
Posts: 3079
Joined: Sun Feb 28, 2010 5:36 pm
Location: Sore wa sore, kore wa kore... nanoda.

  • Quote

Post by Chiitoo » Mon Jul 14, 2025 1:53 am

Did some quick testing after updating a year-old install, and reminded myself of what happens when trying to start LXQt with 'kwin_wayland' with seatd running.

Suppose this is some kind of a permission issue (the device/file /is/ there):

Code: Select all

No backend specificed, automatically choosing drm
kwin_wayland_drm: failed to open drm device at "/dev/dri/card0"
kwin_wayland_drm: No suitable DRM devices have been found
If I set WAYLAND_DISPLAY, it will use the Wayland backend, but then it just... doesn't do anything if set to 'wayland-0' for example.

I /can/ start LXQt with 'kwin_wayland' inside a Wayfire LXQt session though... for whatever that is worth. :]

Last time I found a FreeBSD thread talking about running Plasma Wayland session, from which I got a lot of environment variables to try but not to any real success:

https://forums.freebsd.org/threads/tryi ... land.93951

Regarding udisks, I have been running LXQt with KWin without it for years, by removing the need for it from solid.
Kindest of regardses.
Top
Yamakuzure
Advocate
Advocate
User avatar
Posts: 2323
Joined: Wed Jun 21, 2006 11:06 am
Location: Adendorf, Germany
Contact:
Contact Yamakuzure
Website

  • Quote

Post by Yamakuzure » Mon Jul 14, 2025 6:25 am

Zucca wrote:
Yamakuzure wrote:Well, elogind is not "stubbed out" but simply systemd-logind + some extras.
Interesting. What extras?
  • eloginds loginctl has "list-sessions" as the default command.
  • eloginds loginctl supports some systemctl commands, like: halt, poweroff, reboot, kexec, sleep, suspend, hibernate, hybrid-sleep and suspend-then-hibernate (*)
  • eloginds loginctl supports --no-wall, --dry-run and --force options, systemds loginctl doesn't.
  • elogind allows sleep/shutdown hook scripts to cancel sleep/shutdown. When enabled, the hook scripts run serialized. With systemd-sleep, all scripts always run in parallel and their outcome is ignored.
  • elogind has a 'daemon-reload' command and 'Reload' dbus method, systemd-logind has neither.
  • elogind comes with busctl, elogind-userdbd, userdbctl and varlinkctl. The userdb stuff is optional, of course. (**)
  • ... and maybe more I just forgot about...
(*) kexec is currently re-implemented and fixed for the upcoming v257 release
(**) busctl is there for ages, the others are currently tested for the upcoming v257 release
(You can find a live ebuild in pg_overlay or seden overlays. As always with live ebuilds, use with care!)

Do those qualify as "extras"? :)
Edited 220,176 times by Yamakuzure
Top
Zucca
Administrator
Administrator
User avatar
Posts: 4704
Joined: Thu Jun 14, 2007 10:31 pm
Location: Rasi, Finland
Contact:
Contact Zucca
Website

  • Quote

Post by Zucca » Mon Jul 14, 2025 11:35 am

Yamakuzure wrote:Do those qualify as "extras"? :)
Sure. In my books at least.
Two questions:
  • can I set my custom XDG_RUNTIME_DIR while using elogind? Maybe via pam_env?
  • Does elogind work on musl based systems?
On the KDE side... so it seems that I'd need udisks? I don't have anything against udisks, but it seems to require polkit, which is a PITA on low end systems. Although on low end systems I don't use KDE, and there I also tend to use seatd in place of elogind.
..: Zucca :..

Code: Select all

0100100100100000011000010110110100100000
0100111001100001010011100010000100100000
0100100100100000011000010110110100100000
0110000100100000011011010110000101101110
00100001
Top
GDH-gentoo
Advocate
Advocate
User avatar
Posts: 2115
Joined: Sat Jul 20, 2019 7:02 pm
Location: South America

  • Quote

Post by GDH-gentoo » Mon Jul 14, 2025 3:04 pm

Chiitoo wrote:Did some quick testing after updating a year-old install, and reminded myself of what happens when trying to start LXQt with 'kwin_wayland' with seatd running.

Suppose this is some kind of a permission issue (the device/file /is/ there):

Code: Select all

No backend specificed, automatically choosing drm
kwin_wayland_drm: failed to open drm device at "/dev/dri/card0"
kwin_wayland_drm: No suitable DRM devices have been found
I see. Here's what happens for KWin 6.3.5:
  1. kwin_wayland creates an object of a class derived from KWin::OutputBackend (KWin::DrmBackend for the default DRM backend) and an object of a class derived from KWin::Session.
  2. The session object will be of class KWin::LogindSession if elogind is present, and fall back to KWin::NoopSession otherwise. That misled me.
  3. All is good, until the KWin::DrmBackend object wants to add GPUs: it calls the session object's openRestricted() member function. If the session object is a KWin::LogindSession object, then no problem, a file descriptor is requested from elogind using the TakeDevice() method from the org.freedesktop.login1.Session D-Bus interface —which is also what Xorg does when running as an unprivileged process, by the way—. But
  4. If the session object is a KWin::NoopSession object, the call fails unconditionally.
Conclusion: kwin_wayland with the DRM backend does seem to need either elogind or systemd-logind, same as Xorg for running as an unprivileged process. Someone would have to write a KWin::SeatdSession class and add the option to the KWin::s_availableSessions object, propose that upstream and have it accepted :) Assuming it is easy to map seatd's interface to the KWin::Session interface.
Ionen wrote:As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Top
Yamakuzure
Advocate
Advocate
User avatar
Posts: 2323
Joined: Wed Jun 21, 2006 11:06 am
Location: Adendorf, Germany
Contact:
Contact Yamakuzure
Website

  • Quote

Post by Yamakuzure » Tue Jul 15, 2025 9:53 am

Zucca wrote:
Yamakuzure wrote:Do those qualify as "extras"? :)
Sure. In my books at least.
Two questions:
  • can I set my custom XDG_RUNTIME_DIR while using elogind? Maybe via pam_env?
  • Does elogind work on musl based systems?
  • No, the user directory is fixed to /run/user/<uid>, and that directory is reported back to PAM as being the XDG_RUNTIME_DIR. (Hard-coded in src/login/logind-user.c::user_new()) - Making that one configurable would divert elogind from systemd-logind on that part. But if there is a good reason for it, go ahead and open an issue with a feature request.
  • Yes, thanks to the help of the VOID people, elogind is musl-compatible. (And if I do something that changes that, they get me notified quickly via issues and PRs. :-) )
Edited 220,176 times by Yamakuzure
Top
asturm
Developer
Developer
Posts: 9496
Joined: Thu Apr 05, 2007 4:07 pm

  • Quote

Post by asturm » Thu Jul 31, 2025 5:51 pm

Yamakuzure wrote:[*]Yes, thanks to the help of the VOID people, elogind is musl-compatible. (And if I do something that changes that, they get me notified quickly via issues and PRs. :-) )[/list]
Are you absolutely sure? So far elogind has always needed substantial patching to build with musl:

Code: Select all

ls sys-auth/elogind/files/*musl* | wc -l
9
... and broke as soon as I had to drop these patches because I have no means nor energy to rebase all that onto newer versions [and do the required testing and setting up a musl image just for that], see also:
https://bugs.gentoo.org/939218
https://bugs.gentoo.org/940130
... hence

Code: Select all

# Sam James <sam@gentoo.org> (2024-09-30)
# Needs porting to musl (bug #940130)
~sys-auth/elogind-255.5
~sys-auth/elogind-255.17
Top
GDH-gentoo
Advocate
Advocate
User avatar
Posts: 2115
Joined: Sat Jul 20, 2019 7:02 pm
Location: South America

  • Quote

Post by GDH-gentoo » Fri Aug 01, 2025 6:09 pm

asturm wrote:So far elogind has always needed substantial patching to build with musl:
This is a consequence of how much systemd developers are interested in portability :P
asturm wrote:[...], see also:
https://bugs.gentoo.org/939218
https://bugs.gentoo.org/940130
Gentoo carries patchsets for different versions of sys-apps/systemd-utils on musl profiles. I don't know where these come from, but, from the one used for the 255 series, systemd-musl-patches-255.14, it looks like 0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch addresses bug #940130, and 0011-avoid-redefinition-of-prctl_mm_map-structure.patch addresses bug #939218.

Yamakuzure, maybe the ones for the corresponding version of elogind could be checked periodically, and applied upstream where appropriate?
Ionen wrote:As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Top
Xharlie
n00b
n00b
Posts: 21
Joined: Sun May 21, 2017 11:37 am

  • Quote

Post by Xharlie » Wed Aug 06, 2025 6:38 pm

Anon-E-moose wrote: ⋮
Not if you install by way of plasma-meta.
If you pick and choose pieces ... maybe.
⋮
It's none of those. It's policykit that will thwart you:

`equery d elogind`:

Code: Select all

 * These packages depend on elogind:
dev-libs/libei-1.4.1 (elogind ? >=sys-auth/elogind-237)
                     (elogind ? >=sys-auth/elogind-237)
dev-libs/libratbag-0.18 (elogind ? sys-auth/elogind)
                        (elogind ? sys-auth/elogind)
media-video/pipewire-1.4.6 (elogind ? sys-auth/elogind)
                           (elogind ? sys-auth/elogind)
media-video/wireplumber-0.5.10 (elogind ? sys-auth/elogind)
                               (elogind ? sys-auth/elogind)
net-misc/networkmanager-1.48.16 (elogind ? >=sys-auth/elogind-219)
                                (elogind ? >=sys-auth/elogind-219)
sys-apps/accountsservice-23.13.9 (elogind ? >=sys-auth/elogind-229.4)
                                 (elogind ? >=sys-auth/elogind-229.4)
sys-apps/dbus-1.16.2 (elogind ? sys-auth/elogind)
                     (elogind ? sys-auth/elogind)
sys-auth/pambase-20250223 (elogind ? sys-auth/elogind[pam])
sys-auth/polkit-126-r1 (!systemd ? sys-auth/elogind)
                       (!systemd ? sys-auth/elogind)
sys-fs/udisks-2.10.1-r4 (elogind ? >=sys-auth/elogind-219)
                        (elogind ? >=sys-auth/elogind-219)
sys-libs/pam-1.7.1 (elogind ? >=sys-auth/elogind-254)
                   (elogind ? >=sys-auth/elogind-254)
sys-process/procps-4.0.5-r2 (elogind ? sys-auth/elogind)
                            (elogind ? sys-auth/elogind)
(That's from my developer-desktop that has been running and in active use pretty much 24/7 for over a year since my last serious overhaul.)

EDIT: What I mean to say is this: you could actually disable the requirement for `elogind` for everything except polkit.

So... no `polkit`? Maybe. I mean: I can always just `:w ! sudo tee blah blah wotevah` and forget about GUIs for anything that polkit might authorize. Maybe it does more than prompt for a password when you do sudo stuff? I don't actually know: it's one of those new-fangled never-needed-it-before Linux features that I just don't understand.
Top
Post Reply

15 posts • Page 1 of 1

Return to “Desktop Environments”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic