Just merged support for libseat in wlroots. We no longer depend on logind for unprivileged access to input and graphics devices! \o/

If you aren't familiar with libseat, have a look at their README, it's a cool project.

Show thread

@emersion are they planning to also do audio devices?

@wolf480pl Not planned AFAIK, but not sure it would make sense. Audio devices don't require root, do they?


$ ls -l /dev/snd/pcmC0D0c
crw-rw----+ 1 root audio 116, 3 08-14 21:28 /dev/snd/pcmC0D0c

$ getfacl /dev/snd/pcmC0D0c

# owner: root
# group: audio

I mean, they are owned by root, they do belong to a seat, and it's logind that does setfacl for the currently logged in user...

I've also seen pulseaudio lose access to a device on vt switch, not sure if it's revoked like DRM, or some other mechanism...

wtf... looks like they don't have seat udev tag afterall, only uaccess...

@emersion ok, it looks like the uaccess tag is detected by some udev rules which call builtin uaccess, which in turn gets the current user on the device's seat, and sets acls to give access to that user.

It respects the ID_SEAT variable, defaulting to seat0, so I'd say those devices do belong to the seat.
Also, it involves udev querying logind.

@wolf480pl Interesting. Maybe its in scope then, I don't know :P

@emersion btw. elogind does this by having a standalone binary that does the same thing udev-builtin-uaccess does, but is not an udev-builtin:

where should I poke the seatd author? Is there an IRC channel, or should I use the mailing list?

Cool ! Does sway still depend on logind for other things ?

@stacyharper Sway itself doesn't. Tools like swaybar and mako depend on (e)logind for the sd-bus library, because that's the only sane dbus library

@stacyharper (For swaybar, it's optional and only required for tray icon support)

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!