You are not logged in.

#1 2024-11-10 10:32:02

okbzl
Member
Registered: 2024-08-03
Posts: 26

Sound got messed up when playing any Windows game (PipeWire)

So, the sound sometimes noticeably pop and/or crack when play any WIndows game. I've tried this, but it doesn't work. Using PipeWire, on Wayland, but X11 have the same issue (previously tested on Mint)

Also, White Album 2's sound just straight up distort all the way through

Last edited by okbzl (2024-11-10 10:32:32)

Offline

#2 2024-11-10 10:40:44

okbzl
Member
Registered: 2024-08-03
Posts: 26

Re: Sound got messed up when playing any Windows game (PipeWire)

No issues when running any native applications

Offline

#3 2024-11-19 00:28:00

Terra_Arch
Member
Registered: 2021-04-21
Posts: 6

Re: Sound got messed up when playing any Windows game (PipeWire)

I've also been running into this issue recently, seems exclusively to be proton/steam related.

Offline

#4 2024-11-19 13:35:05

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,319

Re: Sound got messed up when playing any Windows game (PipeWire)

What's your output if you do

pactl list sinks
pactl list sink-inputs
pw-top

during this issue?

Offline

#5 2024-11-20 14:40:23

Terra_Arch
Member
Registered: 2021-04-21
Posts: 6

Re: Sound got messed up when playing any Windows game (PipeWire)

V1del wrote:

What's your output if you do

pactl list sinks
pactl list sink-inputs
pw-top

during this issue?


Here's the output. This is on an arch linux install with pipewire, GNOME desktop, Nvidia GPU (GTX 1060 6GB running on proprietary drivers, version 565.57.01)
Steam package is the one in the repos.

Sink #56
	State: SUSPENDED
	Name: alsa_output.pci-0000_01_00.1.hdmi-stereo
	Description: GP106 High Definition Audio Controller Digital Stereo (HDMI)
	Driver: PipeWire
	Sample Specification: s32le 2ch 48000Hz
	Channel Map: front-left,front-right
	Owner Module: 4294967295
	Mute: no
	Volume: front-left: 26214 /  40% / -23.88 dB,   front-right: 26214 /  40% / -23.88 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
	Properties:
		alsa.card = "1"
		alsa.card_name = "HDA NVidia"
		alsa.class = "generic"
		alsa.components = "HDA:10de0084,104385ae,00100100"
		alsa.device = "3"
		alsa.driver_name = "snd_hda_intel"
		alsa.id = "HDMI 0"
		alsa.long_card_name = "HDA NVidia at 0xf7080000 irq 17"
		alsa.mixer_name = "Nvidia GPU 84 HDMI/DP"
		alsa.name = "ZOWIE XL LCD"
		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 = "HDA NVidia at 0xf7080000 irq 17"
		api.alsa.card.name = "HDA NVidia"
		api.alsa.path = "hdmi:1"
		api.alsa.pcm.card = "1"
		api.alsa.pcm.stream = "playback"
		audio.channels = "2"
		audio.position = "FL,FR"
		card.profile.device = "4"
		device.api = "alsa"
		device.class = "sound"
		device.id = "50"
		device.profile.description = "Digital Stereo (HDMI)"
		device.profile.name = "hdmi-stereo"
		device.routes = "1"
		factory.name = "api.alsa.pcm.sink"
		media.class = "Audio/Sink"
		device.description = "GP106 High Definition Audio Controller"
		node.name = "alsa_output.pci-0000_01_00.1.hdmi-stereo"
		node.nick = "ZOWIE XL LCD"
		node.pause-on-idle = "false"
		object.path = "alsa:acp:NVidia:4:playback"
		port.group = "playback"
		priority.driver = "696"
		priority.session = "696"
		factory.id = "19"
		clock.quantum-limit = "8192"
		client.id = "48"
		node.driver = "true"
		node.loop.name = "data-loop.0"
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "56"
		object.serial = "56"
		api.acp.auto-port = "false"
		api.alsa.card = "1"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio1"
		api.dbus.ReserveDevice1.Priority = "-20"
		device.bus = "pci"
		device.bus_path = "pci-0000:01:00.1"
		device.enum.api = "udev"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_01_00.1"
		device.nick = "HDA NVidia"
		device.plugged.usec = "2903937"
		device.product.id = "0x10f1"
		device.product.name = "GP106 High Definition Audio Controller"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1"
		device.vendor.id = "0x10de"
		device.vendor.name = "NVIDIA Corporation"
		device.string = "1"
	Ports:
		hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, availability group: Legacy 1, available)
	Active Port: hdmi-output-0
	Formats:
		pcm

Sink #58
	State: RUNNING
	Name: alsa_output.pci-0000_00_1b.0.analog-stereo
	Description: Built-in Audio Analog Stereo
	Driver: PipeWire
	Sample Specification: s32le 2ch 48000Hz
	Channel Map: front-left,front-right
	Owner Module: 4294967295
	Mute: no
	Volume: front-left: 45874 /  70% / -9.29 dB,   front-right: 45874 /  70% / -9.29 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
	Properties:
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.class = "generic"
		alsa.components = "HDA:10ec0887,1458a002,00100302"
		alsa.device = "0"
		alsa.driver_name = "snd_hda_intel"
		alsa.id = "ALC887-VD Analog"
		alsa.long_card_name = "HDA Intel PCH at 0xf7210000 irq 32"
		alsa.mixer_name = "Realtek ALC887-VD"
		alsa.name = "ALC887-VD 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 = "HDA Intel PCH at 0xf7210000 irq 32"
		api.alsa.card.name = "HDA Intel PCH"
		api.alsa.path = "front:0"
		api.alsa.pcm.card = "0"
		api.alsa.pcm.stream = "playback"
		audio.channels = "2"
		audio.position = "FL,FR"
		card.profile.device = "4"
		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 = "Built-in Audio"
		node.name = "alsa_output.pci-0000_00_1b.0.analog-stereo"
		node.nick = "ALC887-VD Analog"
		node.pause-on-idle = "false"
		object.path = "alsa:acp:PCH:4:playback"
		port.group = "playback"
		priority.driver = "1009"
		priority.session = "1009"
		factory.id = "19"
		clock.quantum-limit = "8192"
		client.id = "48"
		node.driver = "true"
		node.loop.name = "data-loop.0"
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "58"
		object.serial = "58"
		node.max-latency = "16384/48000"
		api.alsa.period-size = "1024"
		api.alsa.period-num = "32"
		api.alsa.headroom = "0"
		api.acp.auto-port = "false"
		api.alsa.card = "0"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio0"
		api.dbus.ReserveDevice1.Priority = "-20"
		device.bus = "pci"
		device.bus_path = "pci-0000:00:1b.0"
		device.enum.api = "udev"
		device.form_factor = "internal"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_00_1b.0"
		device.nick = "HDA Intel PCH"
		device.plugged.usec = "2915880"
		device.product.id = "0x8c20"
		device.product.name = "8 Series/C220 Series Chipset High Definition Audio Controller"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
		device.vendor.id = "0x8086"
		device.vendor.name = "Intel Corporation"
		device.string = "0"
	Ports:
		analog-output-lineout: Line Out (type: Line, priority: 9000, availability group: Legacy 4, not available)
		analog-output-headphones: Headphones (type: Headphones, priority: 9900, availability group: Legacy 5, availability unknown)
	Active Port: analog-output-headphones
	Formats:
		pcm
Sink Input #275
	Driver: PipeWire
	Owner Module: n/a
	Client: 274
	Sink: 58
	Sample Specification: float32le 2ch 48000Hz
	Channel Map: front-left,front-right
	Format: pcm, format.sample_format = "\"float32le\""  format.rate = "48000"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
	Corked: no
	Mute: no
	Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 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 = "SonicFrontiers.exe"
		application.process.id = "39542"
		application.process.user = "maroonhathacker"
		application.process.host = "monolith"
		application.process.binary = "wine64-preloader"
		application.language = "en_US.UTF-8"
		window.x11.display = ":0"
		application.process.machine_id = "7d105fd24dac4caca9b580890543ddb6"
		media.name = "audio stream #1"
		node.rate = "1/48000"
		node.latency = "240/48000"
		stream.is-live = "true"
		node.name = "SonicFrontiers.exe"
		node.want-driver = "true"
		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 = "80"
		object.id = "84"
		object.serial = "275"
		pulse.attr.maxlength = "25600"
		pulse.attr.tlength = "9600"
		pulse.attr.prebuf = "8"
		pulse.attr.minreq = "3840"
		node.driver-id = "58"
		module-stream-restore.id = "sink-input-by-application-name:SonicFrontiers.exe"

Offline

#6 2024-11-20 15:46:54

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,319

Re: Sound got messed up when playing any Windows game (PipeWire)

Older HW and probably too small of a buffer allocated or so, the pw-top output would be interesting but if you start steam/wine/proton with PULSE_LATENCY_MSEC=60 (%command% if you just want to change steam launch options for a game) (MSEC=60 is somewhat safe and you might get noticeable latency from it, you can try lower values like 30, basically if it does help you need to find the smallest value that works properly)   does that improve things? If that helps you might need to increase the ALSA headroom/quantum sizes: https://pipewire.pages.freedesktop.org/ … properties

Last edited by V1del (2024-11-20 15:53:44)

Offline

#7 2024-11-20 22:58:08

Terra_Arch
Member
Registered: 2021-04-21
Posts: 6

Re: Sound got messed up when playing any Windows game (PipeWire)

V1del wrote:

Older HW and probably too small of a buffer allocated or so, the pw-top output would be interesting but if you start steam/wine/proton with PULSE_LATENCY_MSEC=60 (%command% if you just want to change steam launch options for a game) (MSEC=60 is somewhat safe and you might get noticeable latency from it, you can try lower values like 30, basically if it does help you need to find the smallest value that works properly)   does that improve things? If that helps you might need to increase the ALSA headroom/quantum sizes: https://pipewire.pages.freedesktop.org/ … properties


That didn't work. Switching to a different Proton version seems to have fixed the issue, so maybe it's a new bug?

Edit: Nope, it was an anomaly, issues still persist.

Last edited by Terra_Arch (2024-11-21 02:31:52)

Offline

#8 2024-11-21 10:34:36

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,319

Re: Sound got messed up when playing any Windows game (PipeWire)

pw-top while this happens? FTR I can't reproduce, but all my audio devices are USB (even the integrated card) which have a different processing logic anyway.

Offline

#9 2024-11-22 11:56:02

okbzl
Member
Registered: 2024-08-03
Posts: 26

Re: Sound got messed up when playing any Windows game (PipeWire)

V1del wrote:

What's your output if you do

pactl list sinks
pactl list sink-inputs
pw-top

during this issue?

Thought I should also show my output
pactl list sinks:

pactl list sinks
Sink #42
	State: RUNNING
	Name: easyeffects_sink
	Description: Easy Effects Sink
	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: easyeffects_sink.monitor
	Latency: 0 usec, configured 0 usec
	Flags: DECIBEL_VOLUME LATENCY 
	Properties:
		application.id = "com.github.wwmm.easyeffects"
		node.name = "easyeffects_sink"
		device.description = "Easy Effects Sink"
		node.virtual = "true"
		node.passive = "out"
		factory.name = "support.null-audio-sink"
		media.class = "Audio/Sink"
		audio.position = "FL,FR"
		monitor.channel-volumes = "false"
		monitor.passthrough = "true"
		priority.session = "0"
		factory.id = "19"
		clock.quantum-limit = "8192"
		client.id = "41"
		node.driver = "true"
		port.group = "stream.0"
		node.loop.name = "data-loop.0"
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "42"
		object.serial = "42"
		node.driver-id = "65"
	Formats:
		pcm

Sink #65
	State: RUNNING
	Name: alsa_output.pci-0000_00_1b.0.analog-stereo
	Description: Built-in Audio Analog Stereo
	Driver: PipeWire
	Sample Specification: s32le 2ch 48000Hz
	Channel Map: front-left,front-right
	Owner Module: 4294967295
	Mute: no
	Volume: front-left: 55312 /  84% / -4,42 dB,   front-right: 55312 /  84% / -4,42 dB
	       balance 0,00
	Base Volume: 65536 / 100% / 0,00 dB
	Monitor Source: alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
	Properties:
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.class = "generic"
		alsa.components = "HDA:10ec0269,104313d7,00100100 HDA:80862805,80860101,00100000"
		alsa.device = "0"
		alsa.driver_name = "snd_hda_intel"
		alsa.id = "ALC269VB Analog"
		alsa.long_card_name = "HDA Intel PCH at 0xdfc00000 irq 37"
		alsa.mixer_name = "Realtek ALC269VB"
		alsa.name = "ALC269VB 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 = "HDA Intel PCH at 0xdfc00000 irq 37"
		api.alsa.card.name = "HDA Intel PCH"
		api.alsa.path = "front:0"
		api.alsa.pcm.card = "0"
		api.alsa.pcm.stream = "playback"
		audio.channels = "2"
		audio.position = "FL,FR"
		card.profile.device = "4"
		device.api = "alsa"
		device.class = "sound"
		device.id = "60"
		device.profile.description = "Analog Stereo"
		device.profile.name = "analog-stereo"
		device.routes = "2"
		dither.method = "wannamaker3"
		dither.noise = "2"
		factory.name = "api.alsa.pcm.sink"
		media.class = "Audio/Sink"
		device.description = "Built-in Audio"
		node.name = "alsa_output.pci-0000_00_1b.0.analog-stereo"
		node.nick = "ALC269VB Analog"
		node.pause-on-idle = "false"
		object.path = "alsa:acp:PCH:4:playback"
		port.group = "playback"
		priority.driver = "1009"
		priority.session = "1009"
		session.suspend-timeout-seconds = "0"
		factory.id = "19"
		clock.quantum-limit = "8192"
		client.id = "49"
		node.driver = "true"
		node.loop.name = "data-loop.0"
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "65"
		object.serial = "65"
		node.max-latency = "16384/48000"
		api.alsa.period-size = "1024"
		api.alsa.period-num = "32"
		api.alsa.headroom = "0"
		api.acp.auto-port = "false"
		api.alsa.card = "0"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio0"
		api.dbus.ReserveDevice1.Priority = "-20"
		device.bus = "pci"
		device.bus_path = "pci-0000:00:1b.0"
		device.enum.api = "udev"
		device.form_factor = "internal"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_00_1b.0"
		device.nick = "HDA Intel PCH"
		device.plugged.usec = "27010696"
		device.product.id = "0x1c20"
		device.product.name = "6 Series/C200 Series Chipset Family High Definition Audio Controller"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
		device.vendor.id = "0x8086"
		device.vendor.name = "Intel Corporation"
		device.string = "0"
	Ports:
		analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability group: Legacy 3, availability unknown)
		analog-output-headphones: Headphones (type: Headphones, priority: 9900, availability group: Legacy 4, not available)
	Active Port: analog-output-speaker
	Formats:
		pcm

pactl list sink-inputs:

pactl list sink-inputs
Sink Input #346
	Driver: PipeWire
	Owner Module: n/a
	Client: 345
	Sink: 42
	Sample Specification: float32le 2ch 48000Hz
	Channel Map: front-left,front-right
	Format: pcm, format.sample_format = "\"float32le\""  format.rate = "48000"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
	Corked: no
	Mute: no
	Volume: front-left: 65536 / 100% / 0,00 dB,   front-right: 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 = ""
		application.process.id = "17882"
		application.process.user = "chutienbinh"
		application.process.host = "ASUS"
		application.process.binary = "wine-preloader"
		application.language = "ja_JP.UTF-8"
		window.x11.display = ":1"
		application.process.machine_id = "707403e3df4047ecbe8f911d18bc7104"
		application.process.session_id = "2"
		media.name = "audio stream #1"
		node.rate = "1/48000"
		node.latency = "240/48000"
		stream.is-live = "true"
		node.name = ""
		node.want-driver = "true"
		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 = "151"
		object.id = "150"
		object.serial = "346"
		pulse.attr.maxlength = "11520"
		pulse.attr.tlength = "9600"
		pulse.attr.prebuf = "8"
		pulse.attr.minreq = "3840"
		node.driver-id = "65"
		module-stream-restore.id = "sink-input-by-application-name:"

Sink Input #351
	Driver: PipeWire
	Owner Module: n/a
	Client: 345
	Sink: 42
	Sample Specification: float32le 2ch 48000Hz
	Channel Map: front-left,front-right
	Format: pcm, format.sample_format = "\"float32le\""  format.rate = "48000"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
	Corked: no
	Mute: no
	Volume: front-left: 65536 / 100% / 0,00 dB,   front-right: 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 = ""
		application.process.id = "17882"
		application.process.user = "chutienbinh"
		application.process.host = "ASUS"
		application.process.binary = "wine-preloader"
		application.language = "ja_JP.UTF-8"
		window.x11.display = ":1"
		application.process.machine_id = "707403e3df4047ecbe8f911d18bc7104"
		application.process.session_id = "2"
		media.name = "audio stream #2"
		node.rate = "1/48000"
		node.latency = "240/48000"
		stream.is-live = "true"
		node.name = ""
		node.want-driver = "true"
		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 = "151"
		object.id = "162"
		object.serial = "351"
		pulse.attr.maxlength = "30720"
		pulse.attr.tlength = "9600"
		pulse.attr.prebuf = "8"
		pulse.attr.minreq = "3840"
		node.driver-id = "65"
		module-stream-restore.id = "sink-input-by-application-name:"

Offline

#10 2024-12-02 12:33:36

okbzl
Member
Registered: 2024-08-03
Posts: 26

Re: Sound got messed up when playing any Windows game (PipeWire)

Ok, so I just run Touhou Luna Nights and Muv-Luv under the Wayland driver and no cracking or popping occured (Though some sounds don't play, but I guess that is due to the fact that the driver is experimental). No PULSE_LATENCY_MSEC=60 or something, just "env -u DISPLAY wine something.exe". I have no knowledge of Proton, but try to somehow force Wayland driver on it to see if that somehow fix the issue

Last edited by okbzl (2024-12-02 12:35:46)

Offline

Board footer

Powered by FluxBB