Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

elogind service starts after sound device initialization, causing permission failures

Aperta
#135 10 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
linux

Direzione di ricerca

Inizia leggendo /etc/sv/elogind/run e /usr/share/dbus-1/system-services/org.freedesktop.login1.service, quindi esamina in che modo /etc/sv/sddm/run dipende da elogind e D-Bus. Riproduci la sequenza di avvio e confronta i permessi dei dispositivi prima e dopo udevadm trigger --subsystem-match=sound. Il lavoro è completato quando elogind si avvia in modo affidabile abbastanza presto da consentire le ACL dei dispositivi audio, senza compromettere SDDM né creare un conflitto D-Bus/di servizio.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Display Manager: SDDM
Desktop: KDE Plasma

On a fresh Void Linux installation with elogind, sound devices are created with incorrect permissions at boot, making them inaccessible to logged-in users. This occurs because elogind starts via D-Bus activation after udev has already processed sound devices.

Current Behavior:
At boot (before login):
crw------- 1 root root 116, 12 /dev/snd/controlC0

After manual udev trigger:
crw-rw----+ 1 root audio 116, 12 /dev/snd/controlC0

Void Linux ships elogind with only D-Bus activation enabled (/usr/share/dbus-1/system-services/org.freedesktop.login1.service)

No runit service is enabled by default (/var/service/elogind does not exist)

Boot sequence

  1. udev processes sound devices early in boot
  2. udev rules tag devices with uaccess (via /usr/lib/udev/rules.d/70-uaccess.rules
  3. elogind helper (/usr/libexec/elogind/elogind-uaccess-command) should set ACLs
  4. BUT elogind is not running yet (D-Bus hasn't activated it)
  5. Devices get root:root 600 permissions
    User logs in → D-Bus now activates elogind → Too late, devices already processed

Sound devices remain inaccessible until manual udevadm trigger --subsystem-match=sound

Attempted Solutions:
ln -s /etc/sv/elogind /var/service/

Service fails to start because /etc/sv/elogind/run contains sv check dbus >/dev/null || exit 1, which fails with permission errors for non-root users. Meanwhile, D-Bus still auto-activates elogind, creating a conflict.

Option 2: Disable D-Bus activation + enable service

mv /usr/share/dbus-1/system-services/org.freedesktop.login1.service
/usr/share/dbus-1/system-services/org.freedesktop.login1.service.disabled
ln -s /etc/sv/elogind /var/service/

Result: SDDM fails to start resulting in no graphical login.

Any workarounds essentially lead me to either using rc.local with sleep and retrigger of udevadm, which is frankly a very bad solution, or rewriting the /etc/sv/sddm/run which I frankly think I shouldn't be doing.

I am not sure if this is even the correct repo to report this to, but this seems like a very obscure timing bug that should be probably looked into. If i am doing something wrong or have any suggestions how to fix this please let me know.

Lingua principale
C
Stelle
245
Fork
67
Merge medio
2g
PR unite (30g)
2

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di void-linux/void-runit

Tutte le issue di void-linux/void-runit

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.