[SOLVED] No audio device detected when rebooting after installing lutris

Hi,
I installed Lutris using apt and was able to play a game using it. Then I shut down and started my laptop again to find that there was no audio device detected.
After tinkering with it, it worked when I tried to uninstall Lutris and reboot. I tested more, and it looks like if I just install Lutris and then reboot without even launching it, the problem happens again.
tried to disable “Use system libraries” but no luck.

I have wine installed using the WineHQ repository winehq-stable
I already have 'PlayOnLinux" installed from the ‘Stretch repository’ and it was working without this problem happening before installing Lutris beside it.

Also, I get that State: SUSPENDED from running pactl list sinks:

Sink #32
        State: SUSPENDED
        Name: auto_null
        Description: Dummy Output
        Driver: PipeWire
        Sample Specification: float32le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 4294967295
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: auto_null.monitor
        Latency: 0 usec, configured 0 usec
        Flags: DECIBEL_VOLUME LATENCY 
        Properties:
                node.name = "auto_null"
                device.description = "Dummy Output"
                audio.rate = "48000"
                audio.channels = "2"
                audio.position = "FL,FR"
                media.class = "Audio/Sink"
                factory.name = "support.null-audio-sink"
                node.virtual = "true"
                monitor.channel-volumes = "true"
                factory.id = "18"
                clock.quantum-limit = "8192"
                client.id = "31"
                node.driver = "true"
                factory.mode = "merge"
                audio.adapt.follower = ""
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "32"
                object.serial = "32"
        Formats:
                pcm

this is pactl info

Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 183
Tile Size: 65472
User Name: cowcat271
Host Name: debian-cowcat
Server Name: PulseAudio (on PipeWire 0.3.65)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: auto_null
Default Source: alsa_input.pci-0000_00_1f.3.analog-stereo
Cookie: cd6e:2249

Lutris logs from lutris -d

INFO     2025-03-09 00:48:07,499 [application.do_command_line:480]:Starting Lutris 0.5.18
INFO     2025-03-09 00:48:07,615 [startup.run_all_checks:120]:"card1" is NVIDIA GeForce GTX 1050 Ti (10de:1c8c 1028:086f nvidia) Driver 535.216.01
INFO     2025-03-09 00:48:07,669 [startup.run_all_checks:120]:"card0" is Intel UHD Graphics 630 (8086:3e9b 1028:086f i915) Driver 22.3.6
DEBUG    2025-03-09 00:48:07,873 [xrandr.get_resolutions:91]:Retrieving resolution list
DEBUG    2025-03-09 00:48:08,719 [xrandr._get_vidmodes:18]:Retrieving 45 video modes from XrandR
DEBUG    2025-03-09 00:48:08,922 [path_cache._update_missing_games:114]:Checking for missing games
DEBUG    2025-03-09 00:48:08,969 [api.check_stale_runtime_versions:52]:Modified at Sat 08 Mar 2025 11:32:05 PM , will update after Sun 09 Mar 2025 05:32:05 AM 
DEBUG    2025-03-09 00:48:08,970 [lutriswindow.create_runtime_updater_cb:1358]:Runtime up to date

System info:

Vulkan support: YES
Esync support: YES
Fsync support: YES
Wine installed: YES
Gamescope: YES
Mangohud: YES
Gamemode: YES
Steam: YES
In Flatpak: NO
[System]
OS: Debian GNU/Linux 12 bookworm
Arch: x86_64
Kernel: 6.1.0-31-amd64
Lutris Version: 0.5.18
Desktop: KDE
Display Server: x11
[CPU]
Vendor: GenuineIntel
Model: Intel(R) Core(TM) i5-8300H CPU @ 2.30GHz
Physical cores: 4
Logical cores: 8
[Memory]
RAM: 15.3 GB
Swap: 0.9 GB
[Graphics]
Vendor: Intel
OpenGL Renderer: Mesa Intel(R) UHD Graphics 630 (CFL GT2)
OpenGL Version: 4.6 (Compatibility Profile) Mesa 22.3.6
OpenGL Core: 4.6 (Core Profile) Mesa 22.3.6
OpenGL ES: OpenGL ES 3.2 Mesa 22.3.6
Vulkan Version: 1.3.239
Vulkan Drivers: Intel(R) UHD Graphics 630 (CFL GT2) (1.3.230), NVIDIA GeForce GTX 1050 Ti (1.3.242)

Only the mic is detected
image

Full system info: Ubuntu Pastebin

Now I know why I don’t have audio on startup.
but in my case it doesn’t happen every time.

you can run systemctl --user restart pulseaudio after boot to get audio working.
This is what should fix it also for subsequent boots.

edit:
You have pipewire? in that case the command is different but IDK it.

Yes I am using pipewire.
checking both wireplumber and pipewire logs using systemctl shows:

● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-03-10 02:59:08 EET; 3min 15s ago
TriggeredBy: ● pipewire.socket
   Main PID: 918 (pipewire)
      Tasks: 2 (limit: 18769)
     Memory: 13.6M
        CPU: 5.708s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─918 /usr/bin/pipewire

Mar 10 02:59:08 debian-cowcat systemd[901]: Started pipewire.service - PipeWire Multimedia Service.

● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-03-10 02:59:08 EET; 3min 15s ago
   Main PID: 919 (wireplumber)
      Tasks: 4 (limit: 18769)
     Memory: 35.3M
        CPU: 472ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
             └─919 /usr/bin/wireplumber

Mar 10 02:59:08 debian-cowcat systemd[901]: Started wireplumber.service - Multimedia Service Session Manager.
Mar 10 02:59:08 debian-cowcat wireplumber[919]: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
Mar 10 02:59:08 debian-cowcat wireplumber[919]: PipeWire's libcamera SPA missing or broken. libcamera not supported.
Mar 10 02:59:08 debian-cowcat wireplumber[919]: SPA handle 'api.bluez5.enum.dbus' could not be loaded; is it installed?
Mar 10 02:59:08 debian-cowcat wireplumber[919]: PipeWire's BlueZ SPA missing or broken. Bluetooth not supported.
Mar 10 02:59:09 debian-cowcat wireplumber[919]: <WpPortalPermissionStorePlugin:0x559ea7f4ee30> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera

I think these are just a warning because when I removed Lutris and rebooted, they would still exist.
But they do not affect the audio or the camera when they are working without Lutris.

Surprisingly, when i restart pipewire, with Lutris installed after reboot,
systemctl --user restart wireplumber.service pipewire.service
The mic, which was working at boot, would stop working.
Also found the camera is not working.

Edit: Somehow there is a service or something that Lutris installs, and when rebooting that service starts and prevents pipewire from detecting audio or camera. That’s my guess

So, i have gone and tried to install each package that comes with Lutris separately and found out that the package fluidsynth is what was causing the problem by impliminting a systemd service thats taking over the audio hardware in /dev/snd/* which conflicts with pipewire.

cowcat271:~$ fuser -v /dev/snd/*
                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  cowcat271    923 F.... fluidsynth
                     cowcat271    925 F.... wireplumber
/dev/snd/controlC1:  cowcat271    925 F.... wireplumber
/dev/snd/pcmC0D0p:   cowcat271    923 F...m fluidsynth
/dev/snd/seq:        cowcat271    922 F.... pipewire
                     cowcat271    923 f.... fluidsynth
/dev/snd/timer:      cowcat271    923 f.... fluidsynth
cowcat271:~$ lsof /dev/snd/*
COMMAND   PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
pipewire  922 cowcat271   46u   CHR  116,1      0t0  413 /dev/snd/seq
pipewire  922 cowcat271   47u   CHR  116,1      0t0  413 /dev/snd/seq
fluidsynt 923 cowcat271  mem    CHR  116,8           790 /dev/snd/pcmC0D0p
fluidsynt 923 cowcat271    5r   CHR  116,1      0t0  413 /dev/snd/seq
fluidsynt 923 cowcat271    8r   CHR 116,33      0t0  412 /dev/snd/timer
fluidsynt 923 cowcat271    9u   CHR  116,8      0t0  790 /dev/snd/pcmC0D0p
fluidsynt 923 cowcat271   10u   CHR 116,15      0t0  802 /dev/snd/controlC0
wireplumb 925 cowcat271   25u   CHR 116,15      0t0  802 /dev/snd/controlC0
wireplumb 925 cowcat271   27u   CHR  116,7      0t0  712 /dev/snd/controlC1

this issue was discovered and resolved by the fluidsynth maintainers on GitHub issue #1177

However for some reason it still happens for me even though when i check the service i found the After=pipewire.service which they claim to be the solution

cowcat271:~$ cat /usr/lib/systemd/user/fluidsynth.service
[Unit]
Description=FluidSynth Daemon
Documentation=man:fluidsynth(1)
After=sound.target
After=pipewire.service

[Service]
# added automatically, for details please see
# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
ProtectSystem=full
ProtectHome=read-only
ProtectHostname=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectKernelLogs=true
ProtectControlGroups=true
# end of automatic additions
# required in order for the above sandboxing options to work on a user unit
PrivateUsers=yes
Type=notify
NotifyAccess=main
EnvironmentFile=/etc/default/fluidsynth
EnvironmentFile=-%h/.config/fluidsynth
ExecStart=/usr/bin/fluidsynth -is $OTHER_OPTS $SOUND_FONT

[Install]
WantedBy=default.target

I am not a systemd expert here, but would I need this service to run at all? I was able to use Lutris with it running in the first place.

Edit: Should I go and report that to them?

1 Like

Installing pipewire-alsa fixes the problem by making pipewire take control of the ALSA hardware.

1 Like