Using pulse as the sound api in proton can significantly increase launch times in specific circumstanses
- PipeWire version: 1.0.3
- Distribution and distribution version: Arch Linux
- Desktop Environment: kde plasma and gnome shell are both affected to different degrees
- Kernel version: 6.7.3
Description of Problem:
There's an issue that causes proton games to take extra time to launch when triggered. An extra minute on gnome, and 2 extra minutes on kde.
How Reproducible:
It can be reproduced every time in my setup, but it requires a lot of conditions to be met:
- In my gigabyte ds3h b450m motherboard, the IGPU needs to be set to "Auto", not "Forces" or "Off".
- The IGPU, which isn't connected to any outputs, needs to be set to the Pro Audio profile.
- In wireplumber, I need to have the following configuration to disable alsa device timeouts 51-disable-suspension.lua
- The proton games you're trying to launch are set to use pulse, which is the default
Steps to Reproduce:
If the previous conditions are met
- Launch one of the two known games to cause issues: the capes demo, or dirt showdown. You don't need to play, you can close the game after reaching the main menu.
- From this point, launching any proton games will show a one or two minute increase in launch time for gnome shell and kde plasma respectively.
Actual Results:
Slow launch
Expected Results:
Fast launch
Additional Info (as attachments):
Dump after the error has been triggered pw-dump-after.txt And before pw-dump-before.txt
Here are some proton logs steam-1739050-pulse-.zip Wine creates some test streams on startup that then cause a delay of 30s before failing.
The slow launch can be bypassed after being triggered by setting proton to use alsa or disabling audio. It can also be "untriggered" by changing the IGPU audio profile from Pro Audio to Off, at which point it can be turned on again without issue or penalty until you run one of the known problematic games.
This is an issue that has been there since at least October last year, but I had trouble finding factors affecting it. Let me know if there's any other info I can grab to help with this.