Skip to main content
Topic: [WIP] seatd support, an elogind alternative (Read 7895 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[WIP] seatd support, an elogind alternative

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?

Re: Removing elogind

Reply #1
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.

Re: Removing elogind

Reply #2
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?



Re: Removing elogind

Reply #5
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.

Re: Removing elogind

Reply #6
what packages depend to elogind at me

$ pactree -r -d1 elogind
elogind
├─accountsservice
├─elogind-openrc
├─libappindicator-gtk3
├─libpulse
├─modemmanager
├─networkmanager
├─polkit
├─rtkit
└─xorg-server

Re: Removing elogind

Reply #7
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)

Re: Removing elogind

Reply #8
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.

Re: Removing elogind

Reply #9
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

Re: Removing elogind

Reply #10

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

Re: Removing elogind

Reply #11
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.


Re: Removing elogind

Reply #12

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