You are not logged in.

#1 2025-02-21 13:42:42

Denyial
Member
Registered: 2025-02-21
Posts: 2

[SOLVED] Some Steam games stop any audio with Pipewire via bt

When starting FFVII REMAKE INTERGRADE via Steam with Proton, when the game launches, for a split-second the audio switches to Headset Unit sink, then cuts off. Audio from all other sources also stops being audible, even though I can see the 'volume' bar moving on `pavucontrol`. When the game is exited, sound does not recover. I need to disconnect my Bluetooth Headphones, and reconnect, then sound is audible through them again.

It appears that the act of launching the game itself tries to switch to some sink that isn't audible? But beyond that, I have no clue, I am very ignorant on the audio side, any suggestions would be greatly welcome!

I'm not sure if the below outputs are useful, will provide whatever else.

Before loading the game:

~  ❯ sudo pacman -Q | grep -E "pulse|pipe|wire"
libpipeline 1.5.8-1
libpipewire 1:1.2.7-1
libpulse 17.0+r43+g3e2bb8a1e-1
libwireplumber 0.5.8-1
pipewire 1:1.2.7-1
pipewire-alsa 1:1.2.7-1
pipewire-audio 1:1.2.7-1
pipewire-jack 1:1.2.7-1
pipewire-pulse 1:1.2.7-1
wireplumber 0.5.8-1

~  ❯ pactl list sinks
Sink #85
	State: RUNNING
	Name: bluez_output.AC_80_0A_1A_3C_1A.1
	Description: WH-1000XM5
	Driver: PipeWire
	Sample Specification: float32le 2ch 48000Hz
	Channel Map: front-left,front-right
	Owner Module: 4294967295
	Mute: no
	Volume: front-left: 26318 /  40% / -23.77 dB,   front-right: 26318 /  40% / -23.77 dB
	       balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: bluez_output.AC_80_0A_1A_3C_1A.1.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
	Properties:
		api.bluez5.address = "AC:80:0A:1A:3C:1A"
		api.bluez5.codec = "ldac"
		api.bluez5.profile = "a2dp-sink"
		api.bluez5.transport = ""
		bluez5.loopback = "false"
		card.profile.device = "1"
		device.id = "72"
		device.routes = "1"
		factory.name = "api.bluez5.a2dp.sink"
		device.description = "WH-1000XM5"
		node.name = "bluez_output.AC_80_0A_1A_3C_1A.1"
		node.pause-on-idle = "false"
		priority.driver = "1010"
		priority.session = "1010"
		spa.object.id = "1"
		factory.id = "12"
		clock.quantum-limit = "8192"
		device.api = "bluez5"
		media.class = "Audio/Sink"
		media.name = "WH-1000XM5"
		node.driver = "true"
		port.group = "stream.0"
		node.loop.name = "data-loop.0"
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "74"
		object.serial = "85"
		client.id = "47"
		api.bluez5.class = "0x240404"
		api.bluez5.connection = "connected"
		api.bluez5.device = ""
		api.bluez5.icon = "audio-headset"
		api.bluez5.path = "/org/bluez/hci0/dev_AC_80_0A_1A_3C_1A"
		bluez5.profile = "off"
		device.alias = "WH-1000XM5"
		device.bus = "bluetooth"
		device.form_factor = "headset"
		device.icon_name = "audio-headset-bluetooth"
		device.name = "bluez_card.AC_80_0A_1A_3C_1A"
		device.product.id = "0x0df0"
		device.string = "AC:80:0A:1A:3C:1A"
		device.vendor.id = "usb:054c"
	Ports:
		headset-output: Headset (type: Headset, priority: 0, available)
	Active Port: headset-output
	Formats:
		pcm

Sink #421
	State: IDLE
	Name: alsa_output.pci-0000_09_00.4.analog-stereo
	Description: Starship/Matisse HD Audio Controller Analog Stereo
	Driver: PipeWire
	Sample Specification: s32le 2ch 192000Hz
	Channel Map: front-right,front-left
	Owner Module: 4294967295
	Mute: no
	Volume: front-right: 26214 /  40% / -23.88 dB,   front-left: 26214 /  40% / -23.88 dB
	       balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: alsa_output.pci-0000_09_00.4.analog-stereo.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
	Properties:
		alsa.card = "2"
		alsa.card_name = "HD-Audio Generic"
		alsa.class = "generic"
		alsa.components = "HDA:10ec0b00,1458a0cf,00100001"
		alsa.device = "0"
		alsa.driver_name = "snd_hda_intel"
		alsa.id = "ALCS1200A Analog"
		alsa.long_card_name = "HD-Audio Generic at 0xfcc00000 irq 106"
		alsa.mixer_name = "Realtek ALCS1200A"
		alsa.name = "ALCS1200A Analog"
		alsa.resolution_bits = "16"
		alsa.subclass = "generic-mix"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.sync.id = "00000000:00000000:00000000:00000000"
		api.alsa.card.longname = "HD-Audio Generic at 0xfcc00000 irq 106"
		api.alsa.card.name = "HD-Audio Generic"
		api.alsa.path = "front:2"
		api.alsa.pcm.card = "2"
		api.alsa.pcm.stream = "playback"
		audio.channels = "2"
		audio.position = "FR,FL"
		card.profile.device = "5"
		device.api = "alsa"
		device.class = "sound"
		device.id = "52"
		device.profile.description = "Analog Stereo"
		device.profile.name = "analog-stereo"
		device.routes = "2"
		factory.name = "api.alsa.pcm.sink"
		media.class = "Audio/Sink"
		device.description = "Starship/Matisse HD Audio Controller"
		node.name = "alsa_output.pci-0000_09_00.4.analog-stereo"
		node.nick = "ALCS1200A Analog"
		node.pause-on-idle = "false"
		object.path = "alsa:acp:Generic:5:playback"
		port.group = "playback"
		priority.driver = "1009"
		priority.session = "1009"
		factory.id = "19"
		clock.quantum-limit = "8192"
		client.id = "47"
		node.driver = "true"
		node.loop.name = "data-loop.0"
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "99"
		object.serial = "421"
		node.max-latency = "16384/192000"
		api.alsa.period-size = "4096"
		api.alsa.period-num = "8"
		api.alsa.headroom = "0"
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "2"
		api.alsa.split-enable = "true"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio2"
		api.dbus.ReserveDevice1.Priority = "-20"
		device.bus = "pci"
		device.bus_path = "pci-0000:09:00.4"
		device.enum.api = "udev"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_09_00.4"
		device.nick = "HD-Audio Generic"
		device.plugged.usec = "8843085"
		device.product.id = "0x1487"
		device.product.name = "Starship/Matisse HD Audio Controller"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:09:00.4/sound/card2"
		device.vendor.id = "0x1022"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
		spa.object.id = "6"
		device.string = "2"
	Ports:
		analog-output-lineout: Line Out (type: Line, priority: 9000, availability group: Legacy 4, available)
		analog-output-headphones: Headphones (type: Headphones, priority: 9900, availability group: Legacy 5, not available)
	Active Port: analog-output-lineout
	Formats:
		pcm

~  ❯ pactl list sink-inputs
Sink Input #586
	Driver: PipeWire
	Owner Module: n/a
	Client: 572
	Sink: 1214
	Sample Specification: float32le 2ch 44100Hz
	Channel Map: front-left,front-right
	Format: pcm, format.sample_format = "\"float32le\""  format.rate = "44100"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
	Corked: no
	Mute: no
	Volume: front-left: 65535 / 100% / -0.00 dB,   front-right: 65535 / 100% / -0.00 dB
	       balance 0.00
	Buffer Latency: 0 usec
	Sink Latency: 0 usec
	Resample method: PipeWire
	Properties:
		client.api = "pipewire-pulse"
		pulse.server.type = "unix"
		application.name = "spotify"
		application.process.id = "36365"
		application.process.user = "user"
		application.process.host = "user-pc"
		application.process.binary = "spotify"
		application.language = "en_GB.UTF-8"
		window.x11.display = ":0"
		application.process.machine_id = "dfbf729a8f474458bc66e8c795ca7330"
		application.process.session_id = "2"
		media.role = "music"
		media.name = "Spotify"
		node.rate = "1/44100"
		node.latency = "8192/44100"
		stream.is-live = "true"
		node.name = "spotify"
		node.want-driver = "true"
		resample.quality = "10"
		node.autoconnect = "true"
		media.class = "Stream/Output/Audio"
		port.group = "stream.0"
		adapt.follower.spa-node = ""
		object.register = "false"
		factory.id = "7"
		clock.quantum-limit = "8192"
		node.loop.name = "data-loop.0"
		library.name = "audioconvert/libspa-audioconvert"
		client.id = "134"
		object.id = "121"
		object.serial = "586"
		pulse.attr.maxlength = "4194304"
		pulse.attr.tlength = "640064"
		pulse.attr.prebuf = "0"
		pulse.attr.minreq = "7056"
		node.driver-id = "140"
		module-stream-restore.id = "sink-input-by-media-role:music"

~  ❯ sudo fuser -v /dev/snd/*          
                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  user       1893 F.... wireplumber
/dev/snd/controlC1:  user       1893 F.... wireplumber
/dev/snd/controlC2:  user       1893 F.... wireplumber
/dev/snd/controlC3:  user       1893 F.... wireplumber
/dev/snd/seq:        user       1892 F.... pipewire

After loading the game, and losing audio:

~  ❯ pactl list sinks      
Sink #421
    State: SUSPENDED
    Name: alsa_output.pci-0000_09_00.4.analog-stereo
    Description: Starship/Matisse HD Audio Controller Analog Stereo
    Driver: PipeWire
    Sample Specification: s32le 2ch 192000Hz
    Channel Map: front-right,front-left
    Owner Module: 4294967295
    Mute: no
    Volume: front-right: 26214 /  40% / -23.88 dB,   front-left: 26214 /  40% / -23.88 dB
           balance 0.00
    Base Volume: 65536 / 100% / 0.00 dB
    Monitor Source: alsa_output.pci-0000_09_00.4.analog-stereo.monitor
    Latency: 0 usec, configured 0 usec
    Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
    Properties:
        alsa.card = "2"
        alsa.card_name = "HD-Audio Generic"
        alsa.class = "generic"
        alsa.components = "HDA:10ec0b00,1458a0cf,00100001"
        alsa.device = "0"
        alsa.driver_name = "snd_hda_intel"
        alsa.id = "ALCS1200A Analog"
        alsa.long_card_name = "HD-Audio Generic at 0xfcc00000 irq 106"
        alsa.mixer_name = "Realtek ALCS1200A"
        alsa.name = "ALCS1200A Analog"
        alsa.resolution_bits = "16"
        alsa.subclass = "generic-mix"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.sync.id = "00000000:00000000:00000000:00000000"
        api.alsa.card.longname = "HD-Audio Generic at 0xfcc00000 irq 106"
        api.alsa.card.name = "HD-Audio Generic"
        api.alsa.path = "front:2"
        api.alsa.pcm.card = "2"
        api.alsa.pcm.stream = "playback"
        audio.channels = "2"
        audio.position = "FR,FL"
        card.profile.device = "5"
        device.api = "alsa"
        device.class = "sound"
        device.id = "52"
        device.profile.description = "Analog Stereo"
        device.profile.name = "analog-stereo"
        device.routes = "2"
        factory.name = "api.alsa.pcm.sink"
        media.class = "Audio/Sink"
        device.description = "Starship/Matisse HD Audio Controller"
        node.name = "alsa_output.pci-0000_09_00.4.analog-stereo"
        node.nick = "ALCS1200A Analog"
        node.pause-on-idle = "false"
        object.path = "alsa:acp:Generic:5:playback"
        port.group = "playback"
        priority.driver = "1009"
        priority.session = "1009"
        factory.id = "19"
        clock.quantum-limit = "8192"
        client.id = "47"
        node.driver = "true"
        node.loop.name = "data-loop.0"
        library.name = "audioconvert/libspa-audioconvert"
        object.id = "99"
        object.serial = "421"
        api.acp.auto-port = "false"
        api.acp.auto-profile = "false"
        api.alsa.card = "2"
        api.alsa.split-enable = "true"
        api.alsa.use-acp = "true"
        api.dbus.ReserveDevice1 = "Audio2"
        api.dbus.ReserveDevice1.Priority = "-20"
        device.bus = "pci"
        device.bus_path = "pci-0000:09:00.4"
        device.enum.api = "udev"
        device.icon_name = "audio-card-analog-pci"
        device.name = "alsa_card.pci-0000_09_00.4"
        device.nick = "HD-Audio Generic"
        device.plugged.usec = "8843085"
        device.product.id = "0x1487"
        device.product.name = "Starship/Matisse HD Audio Controller"
        device.subsystem = "sound"
        sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:09:00.4/sound/card2"
        device.vendor.id = "0x1022"
        device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
        spa.object.id = "6"
        device.string = "2"
    Ports:
        analog-output-lineout: Line Out (type: Line, priority: 9000, availability group: Legacy 4, available)
        analog-output-headphones: Headphones (type: Headphones, priority: 9900, availability group: Legacy 5, not available)
    Active Port: analog-output-lineout
    Formats:
        pcm

Sink #1288
    State: RUNNING
    Name: bluez_output.AC_80_0A_1A_3C_1A.1
    Description: WH-1000XM5
    Driver: PipeWire
    Sample Specification: float32le 2ch 48000Hz
    Channel Map: front-left,front-right
    Owner Module: 4294967295
    Mute: no
    Volume: front-left: 26318 /  40% / -23.77 dB,   front-right: 26318 /  40% / -23.77 dB
           balance 0.00
    Base Volume: 65536 / 100% / 0.00 dB
    Monitor Source: bluez_output.AC_80_0A_1A_3C_1A.1.monitor
    Latency: 0 usec, configured 0 usec
    Flags: HARDWARE HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
    Properties:
        api.bluez5.address = "AC:80:0A:1A:3C:1A"
        api.bluez5.codec = "ldac"
        api.bluez5.profile = "a2dp-sink"
        api.bluez5.transport = ""
        bluez5.loopback = "false"
        card.profile.device = "1"
        device.id = "71"
        device.routes = "1"
        factory.name = "api.bluez5.a2dp.sink"
        device.description = "WH-1000XM5"
        node.name = "bluez_output.AC_80_0A_1A_3C_1A.1"
        node.pause-on-idle = "false"
        priority.driver = "1010"
        priority.session = "1010"
        spa.object.id = "1"
        factory.id = "12"
        clock.quantum-limit = "8192"
        device.api = "bluez5"
        media.class = "Audio/Sink"
        media.name = "WH-1000XM5"
        node.driver = "true"
        port.group = "stream.0"
        node.loop.name = "data-loop.0"
        library.name = "audioconvert/libspa-audioconvert"
        object.id = "75"
        object.serial = "1288"
        client.id = "47"
        api.bluez5.class = "0x240404"
        api.bluez5.connection = "connected"
        api.bluez5.device = ""
        api.bluez5.icon = "audio-headset"
        api.bluez5.path = "/org/bluez/hci0/dev_AC_80_0A_1A_3C_1A"
        bluez5.profile = "off"
        device.alias = "WH-1000XM5"
        device.bus = "bluetooth"
        device.form_factor = "headset"
        device.icon_name = "audio-headset-bluetooth"
        device.name = "bluez_card.AC_80_0A_1A_3C_1A"
        device.product.id = "0x0df0"
        device.string = "AC:80:0A:1A:3C:1A"
        device.vendor.id = "usb:054c"
    Ports:
        headset-output: Headset (type: Headset, priority: 0, available)
    Active Port: headset-output
    Formats:
        pcm

~  ❯ pactl list sink-inputs
Sink Input #586
    Driver: PipeWire
    Owner Module: n/a
    Client: 572
    Sink: 1288
    Sample Specification: float32le 2ch 44100Hz
    Channel Map: front-left,front-right
    Format: pcm, format.sample_format = "\"float32le\""  format.rate = "44100"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
    Corked: no
    Mute: no
    Volume: front-left: 65535 / 100% / -0.00 dB,   front-right: 65535 / 100% / -0.00 dB
           balance 0.00
    Buffer Latency: 0 usec
    Sink Latency: 0 usec
    Resample method: PipeWire
    Properties:
        client.api = "pipewire-pulse"
        pulse.server.type = "unix"
        application.name = "spotify"
        application.process.id = "36365"
        application.process.user = "user"
        application.process.host = "user-pc"
        application.process.binary = "spotify"
        application.language = "en_GB.UTF-8"
        window.x11.display = ":0"
        application.process.machine_id = "dfbf729a8f474458bc66e8c795ca7330"
        application.process.session_id = "2"
        media.role = "music"
        media.name = "Spotify"
        node.rate = "1/44100"
        node.latency = "8192/44100"
        stream.is-live = "true"
        node.name = "spotify"
        node.want-driver = "true"
        resample.quality = "10"
        node.autoconnect = "true"
        media.class = "Stream/Output/Audio"
        port.group = "stream.0"
        adapt.follower.spa-node = ""
        object.register = "false"
        factory.id = "7"
        clock.quantum-limit = "8192"
        node.loop.name = "data-loop.0"
        library.name = "audioconvert/libspa-audioconvert"
        client.id = "134"
        object.id = "121"
        object.serial = "586"
        pulse.attr.maxlength = "4194304"
        pulse.attr.tlength = "640064"
        pulse.attr.prebuf = "0"
        pulse.attr.minreq = "7056"
        node.driver-id = "75"
        module-stream-restore.id = "sink-input-by-media-role:music"

Sink Input #1285
    Driver: PipeWire
    Owner Module: n/a
    Client: 1284
    Sink: 1288
    Sample Specification: float32le 1ch 48000Hz
    Channel Map: mono
    Format: pcm, format.sample_format = "\"float32le\""  format.rate = "48000"  format.channels = "1"  format.channel_map = "\"mono\""
    Corked: no
    Mute: no
    Volume: mono: 65536 / 100% / 0.00 dB
           balance 0.00
    Buffer Latency: 0 usec
    Sink Latency: 0 usec
    Resample method: PipeWire
    Properties:
        client.api = "pipewire-pulse"
        pulse.server.type = "unix"
        application.name = "FINAL FANTASY VII REMAKE"
        application.process.id = "60099"
        application.process.user = "user"
        application.process.host = "user-pc"
        application.process.binary = "wine64-preloader"
        application.language = "en_US.UTF-8"
        window.x11.display = ":0"
        application.process.machine_id = "dfbf729a8f474458bc66e8c795ca7330"
        application.process.session_id = "2"
        media.name = "audio stream #1"
        node.rate = "1/48000"
        node.latency = "240/48000"
        stream.is-live = "true"
        node.name = "FINAL FANTASY VII REMAKE"
        node.want-driver = "true"
        resample.quality = "10"
        node.autoconnect = "true"
        media.class = "Stream/Output/Audio"
        port.group = "stream.0"
        adapt.follower.spa-node = ""
        object.register = "false"
        factory.id = "7"
        clock.quantum-limit = "8192"
        node.loop.name = "data-loop.0"
        library.name = "audioconvert/libspa-audioconvert"
        client.id = "46"
        object.id = "116"
        object.serial = "1285"
        pulse.attr.maxlength = "5760"
        pulse.attr.tlength = "4800"
        pulse.attr.prebuf = "4"
        pulse.attr.minreq = "1920"
        node.driver-id = "75"
        module-stream-restore.id = "sink-input-by-application-name:FINAL FANTASY VII REMAKE"

Last edited by Denyial (2025-03-02 13:10:44)

Offline

#2 2025-02-21 17:17:49

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 24,443

Re: [SOLVED] Some Steam games stop any audio with Pipewire via bt

Install lib32-libpulse, lib32-alsa-plugins and lib32-libpipewire though it''d be surprising if this game was 32bit, but generally speaking you definitely want those.

One weird thing here is that the game appears to have a mono channel instead of stereo not sure whether that might throw of a BT device, though pipewire should upmix things here by default. Does this happen with anything else? Afaik the FF remake had a bunch of non trivial technical issues at least on release, are you running Proton Experimental or Proton GE in lieu of standard Proton at least for this?

When in this situation what's the output from

pw-top

Offline

#3 2025-02-21 18:46:45

Denyial
Member
Registered: 2025-02-21
Posts: 2

Re: [SOLVED] Some Steam games stop any audio with Pipewire via bt

Well I'll be damned. The 32bit libraries solved it! Thank you! Very strange that they were needed though.
In case it's useful to others in the future, to your other questions:

Does it happen with anything else? No
I was using Proton GE.

Now that it's fixed, my `pw-top` output looks like:

I   29      0      0   0.0us   0.0us  ???   ???     0                  Dummy-Driver
S   30      0      0    ---     ---   ---   ---     0                  Freewheel-Driver
S   53      0      0    ---     ---   ---   ---     0                  Midi-Bridge
S   58      0      0    ---     ---   ---   ---     0                  bluez_midi.server
S   61      0      0    ---     ---   ---   ---     0                  v4l2_input.pci-0000_09_00.3-usb-0_4_1.0
S   82      0      0    ---     ---   ---   ---     0                  alsa_input.usb-Generic_USB_Condenser_Microphone_201701110001-00.analog-stereo
S   99      0      0    ---     ---   ---   ---     0                  alsa_output.pci-0000_09_00.4.analog-stereo
S  140      0      0    ---     ---   ---   ---     0                  alsa_input.pci-0000_09_00.4.analog-stereo
R  101    512 192000  24.7us  15.8us  0.01  0.01    0    F32LE 2 96000 bluez_output.AC_80_0A_1A_3C_1A.1
R   45    240  48000   7.6us  13.0us  0.00  0.00    0    F32LE 2 48000  + FINAL FANTASY VII REMAKE
S  148      0      0    ---     ---   ---   ---     0                  bluez_input.AC:80:0A:1A:3C:1A
S   67      0      0    ---     ---   ---   ---     0                  bluez_capture_internal.AC:80:0A:1A:3C:1A
I  188      0      0   0.0us   0.0us  ???   ???     0    F32LE 2 44100 Firefox

Regardless, thank you very much for the help!

Offline

#4 2025-02-21 19:13:21

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 24,443

Re: [SOLVED] Some Steam games stop any audio with Pipewire via bt

some intermediary lib of a launcher or so? But yes generally somewhat common on Windows that you need 32bit versions of libs, which is replicated by the relevant packages.

In any case, please mark as [SOLVED] by editing the title in the first post (might have to shorten it a little)

Offline

Board footer

Powered by FluxBB