Bugzilla – Bug 1218369
The volume bar has notable steps that don't match the fake granularity it displays at all, and they're too big
Last modified: 2024-01-03 11:30:11 UTC
The volume bar has notable steps that don't match the fake granularity it displays at all. This affects both the gnome-shell volume bar and the one in pavucontrol, but for the latter it's an even more obvious mismatch because pavucontrol pretends there's an exact dB value changing with every pixel of the bar when large chunks of the bar audibly map to a fixed volume step. Even worse howev4er is that these steps are simply too big. I can't actually pick a comfortable volume to listen at because it's between two of the big steps. GNOME Shell 45.1, pipewire compiled with libpipewire 0.3.85 linked with libpipewire 0.3.85.
Hm, I thought PW does the software volume control. At least for mixing, you can adjust the application-specific volume and this must be in software, i.e. not restricted with the hardware mixer capability. e.g. with pavucontrol, you can see the application volume in "Playback" tab while playing and adjust as you like -- this should be fine adjustable. Or even does it show a similar granularity problem? In anyway, please give alsa-info.sh output for your hardware details. Run it with --no-upload option and attach the output.
I can't fully tell for the Applications list on pavucontrol > Playback, but I think it doesn't have that problem, so you may be correct. pavucontrol > Output Devices > [device specific volume bar] however does have the problem as well.
Created attachment 871621 [details] alsa-info.sh output
I completely forgot to mention, the affected device is the Anker SoundCore Life Q30, so bluetooth is involved too. So I'm guessing something along the chain of pavucontrol, pipewire, and the bluetooth stack maybe isn't quite optimally working. (Is alsa actually somewhere involved in that? Maybe it's not actually that relevant)
OK, if it's a BT audio, it's a completely different code flow than USB and other audio devices, and of course it's not shown in alsa-info.sh output.