Startup does not wait for ACLs from uaccess (udev)
When logging in, systemd-logind sets ACLs on device files for sound cards and cameras based on uaccess configuration in udev. However Pipewire seems to try to open the devices before those ACLs are set.
In a Pipewire-only configuration, where users are not in video
and audio
groups, that means that no sound card will be available until user restarts manually systemctl --user restart pipewire
.
Pulseaudio on the other hand seem to use inotify to wait for attributes to be changed and then load once this is done.