Post edits are added on the end as more information has come to light.
Setup was working with 40, but a ‘critical update’ hosed the system, so it was upgraded to 41. In 41 sound no longer works for a second user. It works for a first user, but not a second.
# user_1 is logged in from the console.
# this works:
> speaker-test -t wav -c 2
# user_2 is logged in this way:
#
sudo machinectl shell "$user_2"@ /bin/bash -c "
export DISPLAY=:0;
export XAUTHORITY="$user_2_dir".Xauthority;
bash -i
"
# does not work for user_2:
> speaker-test -t wav -c 2
# aplay looks happy, those are the correct devices
> aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: ALC294 Analog [ALC294 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Headset [Logi USB Headset], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
# but pactl is not happy:
> pactl list short sinks
35 auto_null PipeWire float32le 2ch 48000Hz SUSPENDED
> systemctl --user restart pipewire pipewire-pulse wireplumber
> pactl list short sinks
35 auto_null PipeWire float32le 2ch 48000Hz SUSPENDED
>
Some more info. Prompts from a shell logged in as user_2:
> systemctl --user status pipewire
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/user/pipewire.service.d
└─00-uresourced.conf
/usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Tue 2025-01-21 14:01:38 UTC; 32min ago
Invocation: 02efcc592a154d3f851ffe95b7d01089
TriggeredBy: ● pipewire.socket
Main PID: 1100747 (pipewire)
Tasks: 3 (limit: 18298)
Memory: 2.1M (peak: 2.4M)
CPU: 14ms
CGroup: /user.slice/user-2003.slice/user@2003.service/session.slice/pipewire.service
└─1100747 /usr/bin/pipewire
Jan 21 14:01:38 Stanley systemd[1383]: Started pipewire.service - PipeWire Multimedia Service.
> systemctl --user status pipewire-pulse
● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Tue 2025-01-21 14:01:38 UTC; 32min ago
Invocation: 73b7d7097676461d969c704238c78faf
TriggeredBy: ● pipewire-pulse.socket
Main PID: 1100749 (pipewire-pulse)
Tasks: 3 (limit: 18298)
Memory: 1.5M (peak: 2M)
CPU: 12ms
CGroup: /user.slice/user-2003.slice/user@2003.service/session.slice/pipewire-pulse.service
└─1100749 /usr/bin/pipewire-pulse
Jan 21 14:01:38 Stanley systemd[1383]: Started pipewire-pulse.service - PipeWire PulseAudio.
> systemctl --user status wireplumber
● wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Drop-In: /usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Tue 2025-01-21 14:01:38 UTC; 32min ago
Invocation: 8da0f5ad44aa4439ae1b5117444fd4a5
Main PID: 1100748 (wireplumber)
Tasks: 9 (limit: 18298)
Memory: 5.3M (peak: 5.9M)
CPU: 57ms
CGroup: /user.slice/user-2003.slice/user@2003.service/session.slice/wireplumber.service
└─1100748 /usr/bin/wireplumber
Jan 21 14:01:38 Stanley systemd[1383]: Started wireplumber.service - Multimedia Service Session Manager.
Jan 21 14:01:38 Stanley wireplumber[1100748]: wp-internal-comp-loader: Loading profile 'main'
Jan 21 14:01:39 Stanley wireplumber[1100748]: [14:58:48.252924025] [1100748] INFO Camera camera_manager.cpp:325 l… v0.3.2
Jan 21 14:01:39 Stanley wireplumber[1100748]: [14:58:48.254289312] [1100783] ERROR MediaDevice media_device.cpp:48… denied
Jan 21 14:01:39 Stanley wireplumber[1100748]: [14:58:48.254301324] [1100783] INFO DeviceEnumerator device_enumera…kipping
Jan 21 14:01:39 Stanley wireplumber[1100748]: [14:58:48.254306013] [1100783] WARN DeviceEnumerator device_enumera…kipping
Hint: Some lines were ellipsized, use -l to show in full.
>
Excuse the edits, but want this to be up to date. I see this will not create the socket:
systemctl --user restart pipewire pipewire-pulse wireplumber
Also needed is:
systemctl --user restart pipewire.socket
And now I am back to the “ERROR MediaDevice …”
> groups
user_2 video audio bamboo
> ls -l /dev/media0
crw-rw----+ 1 root video 234, 0 2025-01-20 13:58 /dev/media0
So this is interesting, it appear to have sound, a user must be in group video? However, adding the user to group video and logging the user in again has not made the device access permission error go away:
> groups
user_2 video audio bamboo
> ls -l /dev/media0
crw-rw----+ 1 root video 234, 0 2025-01-20 13:58 /dev/media0
Don’t know. Another ‘critical update’ notice came in. It was applied, the machine was rebooted, and now sound works. Either that or logging in and out was not enough to update the group membership, but id
showed that the group membership had updated.