Problem with audio/accessibility convenience (Gnome 48, Fedora 42)

Hi all, new here and still fairly new to Gnome (and Linux-based systems as a whole) so apologies if I title this or tag this incorrectly or anything like that. With that said, I’m running a Framework 16 (“AMD Ryzen™ 7 7840HS w/ Radeon™ 780M Graphics × 16”, 64GB RAM and 8TB SSD) on Fedora 42, with Gnome 48 as its environment.

The issue I’ve encountered is, one of my ears is stronger than the other, making me need to adjust the left-right sound balance to favor one side over the other in the Settings app. The problem is, Settings seems to never ‘remember’ to make this change when I plug in my audio devices, even if I had changed the balance for that specific device before to my needs. It does seem to recognize that I had made this change prior (i.e., it will show that the sound balance is off-center, which is what I want, in the GUI), but the actual audio output itself always centers itself each time the system recognizes an audio device, which is not what I want. It effectively means that to have a decent audio experience I have to open the Settings app and ‘remind’ it to actually apply the proper left-right balance, which is a small hassle, but still a hassle. I don’t know if Settings is the culprit for this problem, but I admittedly don’t know enough about the Gnome/Linux stack to point fingers at any deeper cause so it’s my best guess.

Please let me know if there’s any more details/logs I can provide, or if there’s anything I can explain better.

Hi, you’re probably right to think that GNOME Settings is not the source of the problem.

The most likely source is either PipeWire (and/or Wireplumber), or possible libgnome-volume-control. A little informed digging turned up this issue: Gnome 46 forgets audio output device (#26) · Issues · GNOME / libgnome-volume-control · GitLab (linked from here).

If you haven’t been using GNOME since version 45 you probably can’t confirm if the problem started then, but a comment on the issue suggests trying to swap wireplumber for pipewire-media-session:

sudo dnf swap wireplumber pipewire-media-session

Either way, following up on the issue in GitLab is a good place to start, and there may be some manual configuration of PipeWire that could help in the meantime.