Artix Linux Forum

Artix Linux => Installation / Migration / Configuration => Topic started by: iio7 on 12 February 2021, 00:41:58

Title: [WIP] seatd support, an elogind alternative
Post by: iio7 on 12 February 2021, 00:41:58
Why have elogind been so tightly integrated into the system? I use absolutely nothing that requires elogind, yet I cannot get rid of it because elogind breaks dependency elogind-runit, and elogind-runit breaks dependency init-elogind, and init-elogind cannot be removed as it is required by base. Doing a pacman -R init-elogind, gives "target not found".

What's up with that?
Title: Re: Removing elogind
Post by: Dudemanguy on 12 February 2021, 02:56:07
I use absolutely nothing that requires elogind


Xorg uses (e)logind. You can technically hack a way for it to work without using (e)logind but there's no benefit and it has worse security (xorg running as root or some other group with elevated privileges). Don't worry, elogind literally just sleeps 99% of the time. It's a daemon. Nothing harmful.
Title: Re: Removing elogind
Post by: iio7 on 12 February 2021, 04:31:06
Thank you very much for your reply.

Do you know how FreeBSD and the others then handle this? They all have Xorg, but no elogind, and AFAIK they do not run org as root, or am I mistaken?
Title: Re: Removing elogind
Post by: iio7 on 12 February 2021, 04:49:28
I believe this might be worth an extra look!

https://git.sr.ht/%7Ekennylevinsen/seatd
Title: Re: Removing elogind
Post by: iio7 on 12 February 2021, 05:22:36
Hmm. They seem to have fixed this in OpenBSD long ago without the need to add something like elogind or consolekit:

http://undeadly.org/cgi?action=article&sid=20140223112426
Title: Re: Removing elogind
Post by: Dudemanguy on 12 February 2021, 18:41:04
I'm not sure how the BSDs work. It's a complicated issue because it goes down directly to the kernel (/dev/dri/card*). Some parts of the BSD's graphic stack is like linux, but much of it is probably different.

I believe this might be worth an extra look!

https://git.sr.ht/%7Ekennylevinsen/seatd

I'm not personally opposed to packaging this although of course all artix packages would still expect/depend on elogind so you'd still have it installed.
Title: Re: Removing elogind
Post by: Oltean on 12 February 2021, 21:33:02
what packages depend to elogind at me

$ pactree -r -d1 elogind
elogind
├─accountsservice
├─elogind-openrc
├─libappindicator-gtk3
├─libpulse
├─modemmanager
├─networkmanager
├─polkit
├─rtkit
└─xorg-server
Title: Re: Removing elogind
Post by: alium on 13 February 2021, 00:26:10
Somehow I don't understand why remove elogind. Elogind is not evil. There are a lot of projects that systemd has absorbed. For example udev ... There is no reason for such panic removal. 8)
Title: Re: Removing elogind
Post by: Nadir on 14 February 2021, 17:07:39
Same command for me on XFCE:

$ pactree -r -d1 elogind
elogind
├─accountsservice
├─chromium
├─elogind-openrc
├─gnome-system-monitor
├─lib32-systemd
├─libappindicator-gtk2
├─libappindicator-gtk3
├─libpulse
├─lightdm
├─modemmanager
├─networkmanager
├─php53-fpm
├─polkit
├─python-pyudev
├─rtkit
├─xorg-server
└─xorg-xwayland

it seems there is far more dependancies on elogind.
regardng seatd, it seems like a good way of doing it, but this has to be implemented from the base Arch repos I think, otherwise there would be a huge burden maintaining the related packages.
Title: Re: Removing elogind
Post by: artoo on 15 February 2021, 14:49:38
Why have elogind been so tightly integrated into the system?


because systemd's logind has been a defacto enforced logind interface.
For the lack of true alternatives, elogind does this job.
If you want to implement seatd, go ahead, present a working implementation, and we could dicuss it as an elogind alternative.
That said, most package sources that involve a logind flag, by now support elogind too.
A quick look at seatd tells, it has an elogind backend, so seatd would likely use the elogind backend on artix, which would be a rather cosmetic change only.

Replacing elogind means a lot of things to consider, here is just one, wayland:


http://undeadly.org/cgi?action=article;sid=20210124113220
Title: Re: Removing elogind
Post by: artoo on 15 February 2021, 15:23:11

it seems there is far more dependancies on elogind.
regardng seatd, it seems like a good way of doing it, but this has to be implemented from the base Arch repos I think, otherwise there would be a huge burden maintaining the related packages.


Its more complex problem, yes....

Code: [Select]
$ pactree -sr -d1 libelogind
libelogind
├─brltty
├─clamav
├─dbus
├─elogind
├─fprintd
├─gamemode
├─gnome-desktop
├─gnome-disk-utility
├─gnome-settings-daemon
├─libnm
├─light-locker
├─modemmanager
├─procps-ng
├─swayidle
├─udisks2
├─uwsgi
├─xf86-video-openchrome
├─xf86-video-vmware
├─xorg-server-xephyr
└─xorg-server-xwayland
Title: Re: Removing elogind
Post by: dreamer_ on 10 April 2021, 20:01:19
I'm not sure how the BSDs work. It's a complicated issue because it goes down directly to the kernel (/dev/dri/card*). Some parts of the BSD's graphic stack is like linux, but much of it is probably different.

I'm not personally opposed to packaging this although of course all artix packages would still expect/depend on elogind so you'd still have it installed.

It's already packaged on void. I'm using it with an sway desktop without having elogind installed and it seems to do the job fine. Have a look at this thread: https://github.com/void-linux/void-packages/issues/26177#issuecomment-723223181

But as artoo points, you will also need the libelogind (but not elogind which had those systemd references on void)

So, at least for me, it seems a good idea to package seatd for the three artix flavours, openrc, runit and s6. It is already in AUR.

Title: Re: Removing elogind
Post by: Nadir on 10 April 2021, 21:01:56
look at this thread: https://github.com/void-linux/void-packages/issues/26177#issuecomment-723223181

On that page you can read:
This should be expected since elogind is just systemd's logind fork that doesn't depend on the whole systemd itself. If you are opposed to using systemd components in your system like many of us, you should consider using an alternative

I can't assess the amount of work behind that, but it is awesome.
For the average user, openrc is all we need. Plus udev
Title: Re: Removing elogind
Post by: dreamer_ on 11 April 2021, 17:47:04
Seatd should be packaged though. Seems a good thing (and it does work very well on void / runit)  ;-)
 https://sr.ht/~kennylevinsen/seatd/
Title: Re: Removing elogind
Post by: artoo on 11 April 2021, 21:55:27
Happy testing and playing around.

https://gitea.artixlinux.org/artixlinux/packages-vcs/src/branch/master/seatd/PKGBUILD
Title: Re: Removing elogind
Post by: dreamer_ on 11 April 2021, 23:29:26
Fantastic!!  8)
Title: Re: [WIP] Removing elogind
Post by: artoo on 15 April 2021, 02:11:03
We have seatd in our goblins repo now.
Expect goblins depending on your DE.
Atm,  team members are testing wlroots with libseat.
Title: Re: [WIP] seatd support, an elogind alternative
Post by: dreamer_ on 23 April 2021, 12:48:21
Hello.

I have been looking for seatd and seatd-s6 in the repo but pacman can't find it. Are you speaking about a goblins repo you have?
Thank you so much
Title: Re: [WIP] seatd support, an elogind alternative
Post by: alium on 23 April 2021, 13:50:37
yes, is in goblins see how to enable goblins https://wiki.artixlinux.org/Main/Repositories

Title: Re: [WIP] seatd support, an elogind alternative
Post by: Dudemanguy on 23 April 2021, 15:18:20
Yeah be careful with seatd. Some things work but some other things rely on some other stuff it doesn't provide (various PAM things and so on). That's why it's still in goblins.
Title: Re: [WIP] seatd support, an elogind alternative
Post by: Dudemanguy on 19 September 2021, 04:07:38
I'm going to go ahead and close this topic. Seatd support is in-progress and looking good so far. I'm running it right now. See the new announcement thread (https://forum.artixlinux.org/index.php/topic,3050.0.html) for more details.