Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Don't switch audio to wired Playstation controllers #1801

Open
TiZ-HugLife opened this issue Jan 31, 2025 · 5 comments
Open

Comments

@TiZ-HugLife
Copy link

Your system information

  • Steam client version: 1738026274
  • SteamOS version: 3.6.21
  • Opted into Steam client beta?: Yes
  • Opted into SteamOS beta?: Yes
  • Have you checked for updates in Settings > System?: Yes

Please describe your issue in as much detail as possible:

I'm using a Steam Deck for fighting game tournaments, especially our local weeklies. It works really well, except for one annoying thing that has been present from the very start: every time a Playstation controller is connected via USB, the system switches both output and input to it automatically. I think it's very valuable that it's possible to do this, but I don't think it's good default behavior.

I thought an easy fix might be to add these controllers to the blocklist for the switch-on-connect module, but that module doesn't even seem to be loaded by PipeWire, so I'm not sure what to do about it now. I thought I should go ahead and file this issue since apparently nobody else has.

Steps for reproducing this issue:

  1. Dock a Deck to an external monitor with audio output
  2. Have audio output
  3. Plug in a DualShock 4 or DualSense controller
  4. Lose audio output
  5. Go to audio and see that the default outputs and inputs were switched to the controller
@TiZ-HugLife
Copy link
Author

TiZ-HugLife commented Feb 14, 2025

It looks like the way you're meant to do this now is with WirePlumber and device priorities. SteamOS does indeed ship with a rule for this, but it only applies to DualShock 4 controllers. Because of Tekken 8 not supporting DS4s on PS5, a lot of us, me included, migrated to DualSense controllers, so the issue might have already been fixed for DS4 controllers. I will have to test the existing rule with a DS4 later.

To fix it with DualSense controllers, create the file ~/.config/wireplumber/wireplumber.conf.d/dualsense.conf:

monitor.alsa.rules = [
  {
    matches = [
      {
        node.name = "~alsa_input.*"
        alsa.card_name = "DualSense Wireless Controller"
      }
      {
        node.name = "~alsa_output.*"
        alsa.card_name = "DualSense Wireless Controller"
      }
    ]
    actions = {
      update-props = {
        priority.driver        = 90
        priority.session       = 90
      }
    }
  }
]

This is mostly identical to /etc/wireplumber/wireplumber.conf.d/alsa-ps-controller.conf except with a different alsa.card_name. So you can also copy that file and change the alsa.card_name field from "Wireless Controller" to "DualSense Wireless Controller".

Then do systemctl --user restart wireplumber.service or reboot your Deck.

I'll leave this open for now, because I imagine you all mean to have this shipped with SteamOS since a file already exists for the DS4 controllers.

@creedda
Copy link

creedda commented Feb 15, 2025

Replying to #1801 (comment)

This did the trick! Thank you!

@IchigoM8
Copy link

IchigoM8 commented Feb 15, 2025

Do any of you know how to apply such a fix for Windows OS? It's pretty annoying what Dualsense is doing when you have to replug it in again. And the only known workarounds being disable dualsense speakers or use bluetooth (which disables the speakers).

@TiZ-HugLife
Copy link
Author

Do any of you know how to apply such a fix for Windows OS? It's pretty annoying what Dualsense is doing when you have to replug it in again. And the only known workarounds being disable dualsense speakers or use bluetooth (which disables the speakers).

Given that this is the SteamOS repo, you're going to have a hard time finding Windows help here. I wouldn't even begin to know what to do on Windows. Try asking various Windows-on-Deck communities.

@IchigoM8
Copy link

IchigoM8 commented Feb 17, 2025

Yeah I gave it a shot, someone just put this link as solution for dualsense audio taking over default audio devices for Returnal.

Also am not using Deck, just a PC user.

Peace I'm out. Sorry for bothering, as this was the closest thing I heard someone finding a solution to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants