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

Select sound device does not persist #869

Open
kasper-madsen opened this issue Feb 14, 2024 · 27 comments
Open

Select sound device does not persist #869

kasper-madsen opened this issue Feb 14, 2024 · 27 comments

Comments

@kasper-madsen
Copy link

Rebooting of shutting down and booting makes the sound device change back to another sound source

@blurymind
Copy link

blurymind commented Feb 19, 2024

I get the same issue - but only in GameUI

I have an ayaneo am02 computer with chimeraos, plugged to a TV. Everything appears to work out of the box - had no driver issues and suspense and resume works fine.

I keep setting the sound output in gameui to the hdmi (tv) and after a restart the setting gets reverted.
Gnome shell does persist my setting which is nice.

Another thing that doesnt persist is the selected session. If i reboot from gnome-shell, it will come back as gameui

@tbyte80
Copy link

tbyte80 commented Feb 19, 2024

I experience that as well. Refering to this older issue #74 there should be audio controls in the web interface. Did not yet tinker with it myself, I'll try later

@blurymind
Copy link

blurymind commented Feb 19, 2024

changing it in gameui works fine for me. The problem is that it does not persist when you turn it off or restart the machine - it falls back to the same default.

I am guessing that in my case, when the device boots up, if it does before the tv is on - it could decide that the hdmi output is gone and fall back to the initial one.

In that case it would be nice if it had the concept of a prefered output and be able to sustain it once found instead.
I am guessing that gnome-shell doesnt have this problem because it does have to concept of a prefered output to use when that output becomes available. This is just a wild guess

@blurymind
Copy link

i have to correc myself - i turned it on yesterday and it had lost the sound settings in gnome-shell as well

@tbyte80
Copy link

tbyte80 commented Feb 22, 2024

Ok, so for me symptoms are the same. The audio output device is not remembered neither in gnome shell nor game ui.

Since chimera uses pipewire I installed pavucontrol (used tty3 to unlock pacman). In pavucontrol under output devices you can set a default output. Which is being remembered between reboots but doesn't affect the sound settings in gnome shell and game ui.

There must be some different tool/layer that controls audio or I am missing something. I also don't understand why sound settings in gnome shell are so sparse. Iirc there should be a "Set Default" option somewhere.

(I checked that compatibility layer pipewire-pulse is installed so pavucontrol should also work with pipewire. In theory.)

While further investigating I noticed that wireplumber is installed to manage pipewire sessions which may or may not conflict with pavucontrol. I also stumbled upon the following unresolved issue which may be related: https://bugzilla.redhat.com/show_bug.cgi?id=2026170

I tried to set the default sink using pactl like suggested here: https://www.reddit.com/r/archlinux/comments/ozcxpa/pipewire_how_to_set_default_sink_persistently/
which seemed to work but doesn't persist across sessions. Well, I am out of ideas for now.

@muzzwood
Copy link

Same issue. I need to set HDMI as audio output every time.
Being able to set HDMI as default and auto switch to it on boot (or HDMI handshake) would be great 👍

@pastaq
Copy link
Contributor

pastaq commented Feb 26, 2024

Can everyone affected please try the following:

  • Permanently change your session to gnome:
    chimera-session desktop
  • Adjust your sound settings as desired
  • Reboot and check if the issue persists.

@jtkellys
Copy link

jtkellys commented Mar 1, 2024

It worked when rebooting to desktop, but once you switch back to steam it goes back to the family setting

@sapkyy
Copy link

sapkyy commented Mar 6, 2024

Same problem for me. Tried pactl and it works in desktop mode, but gaming mode audio settings reset to default every boot:( Setup - desktop PC + HDMI TV

@pastaq
Copy link
Contributor

pastaq commented Mar 6, 2024

Alright, looks like its only present in gamemode. That's a start. If you haven't already, please post your build/system hardware list and what sound device you are trying to use.

@tbyte80
Copy link

tbyte80 commented Mar 8, 2024

I can also confirm that when rebooting to desktop sound settings are indeed persisting (gnome shell settings used).
My setup is a Minisforum HX99G Mini PC which runs on Ryzen 9 6900HX and RX 6650M GPU. Mainboard: AMD Promontory/Bixby FCH, external PSU.

I am picking HDMI as audio output device

@lm209
Copy link

lm209 commented Mar 11, 2024

Yes Same for me on Steam Deck LCD. After restart, He changed automatically from HDMI Audio to speakers

@NYXZGames
Copy link

Same for me on a Ser5 Mini PC (5560u model). I have to manually set it after each restart, installing any fix has not worked.

@jimlei
Copy link

jimlei commented Mar 15, 2024

I "fixed" this by going into the BIOS and disabling the motherboards audio device. This needs an official fix though so people can use multiple outputs (not to mention inputs) without having to set audio device on each startup.

@NYXZGames
Copy link

I've just installed Bazzit OS now, doesn't seem to be an issue on there if you're after a Steam Deck OS style experience.

@lm209
Copy link

lm209 commented Mar 17, 2024

Yes Bazzite has no issue with it.

@zerotohero
Copy link

After fighting with this for a few hours, I think I found a solution that works after reboot and doesn't require and messing around in the BIOS or disabling kernel modules.

Use pactl list short sinks to get a list of sinks. The sink name is the second field, probably a long string.
Try each one using pactl set-default-sink <sink-name>
Once you figure out which sink is the one you want to use, add the line:
PULSE_SINK=<sink-name> to the /etc/environment file.

Just got the SteamOS boot sound for the first time!

@tbyte80
Copy link

tbyte80 commented Apr 7, 2024

Great, that works!

@adolfotregosa
Copy link

adolfotregosa commented Apr 7, 2024

I dunno if this helps on chimera (manjaro over here but my "fix" can give you guys some ideas) but if you have the convolver sound fix -> https://github.com/aarron-lee/legion-go-tricks/tree/main/experimental_sound_fix

Personally I do this to make the convolver audio the default output:

sudo nano /usr/bin/steamos-polkit-helpers/steamos-priv-write

and I added at the top of the file

pw-metadata 0 default.configured.audio.sink '{ "name": "Legion GO" }'
pw-metadata 0 default.audio.sink '{ "name": "Legion GO" }'
pactl set-default-sink "Legion GO"

I had to at least once in desktop select "Legion GO" has sound output and reboot from desktop so desktop also remembered.

So I assume it would work for any device given the correct name is used for audio sink.

@ghost
Copy link

ghost commented Apr 10, 2024

After fighting with this for a few hours, I think I found a solution that works after reboot and doesn't require and messing around in the BIOS or disabling kernel modules.

Use pactl list short sinks to get a list of sinks. The sink name is the second field, probably a long string. Try each one using pactl set-default-sink <sink-name> Once you figure out which sink is the one you want to use, add the line: PULSE_SINK=<sink-name> to the /etc/environment file.

Just got the SteamOS boot sound for the first time!

FYI you can also add it as a drop-in, e.g. /etc/environment.d/set-default-sink.conf which will have the benefit of not interfering with any future changes in the stock /etc/environment file, though it currently appears to be unused.

@elmar-ops
Copy link

don't know if helps someone. I did the configuartion in user space

wpctl status

this lists "Audio->Devices" tree and I had two devices.

As I did know what device to chose in game mode configuration to enable sound, I did next:

wpctl inspect <Number>

This gives me a detailed list of device properties.
I did for both, 44 and 45 in my case and could choose the correct device.

Make note of device.name and generate file in
/home/gamer/.config/wireplumber/wireplumber.conf.d/disable-devices.conf

I added this config:

monitor.alsa.rules = [
  {
    matches = [
      {
        device.name = "alsa_card.pci-0000_08_00.1"
      }
    ]
    actions = {
      update-props = {
         device.disabled = true
      }
    }
  }
]

@CorentinWicht
Copy link

don't know if helps someone. I did the configuartion in user space

wpctl status

this lists "Audio->Devices" tree and I had two devices.

As I did know what device to chose in game mode configuration to enable sound, I did next:

wpctl inspect <Number>

This gives me a detailed list of device properties. I did for both, 44 and 45 in my case and could choose the correct device.

Make note of device.name and generate file in /home/gamer/.config/wireplumber/wireplumber.conf.d/disable-devices.conf

I added this config:

monitor.alsa.rules = [
  {
    matches = [
      {
        device.name = "alsa_card.pci-0000_08_00.1"
      }
    ]
    actions = {
      update-props = {
         device.disabled = true
      }
    }
  }
]

Many thanks for the suggestion, though in my case, I don't have a /home/gamer/.config/wireplumber/ folder and how to heck do I create a file when VI is not even installed? I have tried installing it but it doesn't work with pacman...

@pastaq
Copy link
Contributor

pastaq commented Sep 15, 2024

vim is installed

@CorentinWicht
Copy link

disable-devices.conf

My bad, I am used to having Vi automatically redirect to Vim.

In my case the folder is not at the same location but in ./usr/share/wireplumber/wireplumber.conf.d, nevertheless I am still unable to create a file there, even with root privileges.

When I create the file with sudo vim ./usr/share/wireplumber/wireplumber.conf.d/disable-devices.conf and add the following content:

monitor.alsa.rules = [
  {
    matches = [
      {
        device.name = "alsa_card.pci-0000_15_00.1"
      }
    ]
    actions = {
      update-props = {
         device.disabled = true
      }
    }
  }
]

I cannot save it with :x!:
image

Best,

C.

@pastaq
Copy link
Contributor

pastaq commented Sep 16, 2024

/usr is locked down as the filesystem is immutable. /etc is writable as root and will persist through updates so I'd recommend using the etc config path.

@CorentinWicht
Copy link

/usr is locked down as the filesystem is immutable. /etc is writable as root and will persist through updates so I'd recommend using the etc config path.

Dear @pastaq that's why I thought, but I wasn't sure.

I confirm that adding PULSE_SINK=<sink-name> to the /etc/environment file works smoothly, thanks!

Best wishes,

C.

@sonalder-darlene
Copy link

sonalder-darlene commented Nov 5, 2024

When I go to Desktop mode I can change in my Settings > Sound the configuration from Stereo to either 5.1 or 7.1, of course I want to select the 7.1 over stereo but when I changed it going back to gaming mode result in having black border all around my screen see Issue #1038, so I restart my PC and now my sound profile is back to stereo so I have to chose between either distracting black border or downgrade audio setup when I play on my couch... I will try the fix propose by @zerotohero hopefully it will make my gaming more conveniant !

I am using a digital audio setup through HDMI eARC if that matters.

After fighting with this for a few hours, I think I found a solution that works after reboot and doesn't require and messing around in the BIOS or disabling kernel modules.

Use pactl list short sinks to get a list of sinks. The sink name is the second field, probably a long string. Try each one using pactl set-default-sink <sink-name> Once you figure out which sink is the one you want to use, add the line: PULSE_SINK=<sink-name> to the /etc/environment file.

Just got the SteamOS boot sound for the first time!

Edit : It doesn't seem to solved my issue...

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