I recently switched from EndeavourOS back to Manjaro and noticed strange bug, both on EOS and Manjaro (but EOS forum is blegh, so I didn’t bother then).
Basically, if I lower my volume under 25% in Audio Settings or Audio Widget, the sound is completly muted. Just like volume was 0%. As soon as I move to 25% volume it starts playing. Is there a way to offset volume control for particular output device? Like always add 20% to current volume, but show it correctly?
- the output of
Alsamixer (note, this happens only on USB headphones)
# This file is part of PulseAudio. # # PulseAudio is free software; you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # PulseAudio is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. ## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for ## more information. Default values are commented out. Use either ; or # for ## commenting. ; daemonize = no ; fail = yes ; allow-module-loading = yes ; allow-exit = yes ; use-pid-file = yes ; system-instance = no ; local-server-type = user ; enable-shm = yes ; enable-memfd = yes ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB ; lock-memory = no ; cpu-limit = no ; high-priority = yes ; nice-level = -11 ; realtime-scheduling = yes ; realtime-priority = 5 ; exit-idle-time = 20 ; scache-idle-time = 20 ; dl-search-path = (depends on architecture) ; load-default-script-file = yes ; default-script-file = /etc/pulse/default.pa ; log-target = auto ; log-level = notice ; log-meta = no ; log-time = no ; log-backtrace = 0 ; resample-method = speex-float-1 ; avoid-resampling = false ; enable-remixing = yes ; remixing-use-all-sink-channels = yes ; remixing-produce-lfe = no ; remixing-consume-lfe = no ; lfe-crossover-freq = 0 ; flat-volumes = no ; rescue-streams = yes ; rlimit-fsize = -1 ; rlimit-data = -1 ; rlimit-stack = -1 ; rlimit-core = -1 ; rlimit-as = -1 ; rlimit-rss = -1 ; rlimit-nproc = -1 ; rlimit-nofile = 256 ; rlimit-memlock = -1 ; rlimit-locks = -1 ; rlimit-sigpending = -1 ; rlimit-msgqueue = -1 ; rlimit-nice = 31 ; rlimit-rtprio = 9 ; rlimit-rttime = 200000 ; default-sample-format = s16le ; default-sample-rate = 44100 ; alternate-sample-rate = 48000 ; default-sample-channels = 2 ; default-channel-map = front-left,front-right ; default-fragments = 4 ; default-fragment-size-msec = 25 ; enable-deferred-volume = yes ; deferred-volume-safety-margin-usec = 8000 ; deferred-volume-extra-delay-usec = 0
- You should setup pulseaudio correctly:
; default-sample-format = s16le ; default-sample-rate = 44100 ; alternate-sample-rate = 48000 ; default-sample-channels = 2 ; default-channel-map = front-left,front-right
default-sample-format = s24le default-sample-rate = 96000 alternate-sample-rate = 48000 default-sample-channels = 2 default-channel-map = front-left,front-right
Alsamixer screenshot is only showing virtual audio control for PulseAudio output
Use this command to find the ALSA card number for the USB
(Card 0 is usually HDMI output and Onboard Audio is Card 1, so USB device is most likely to be card 2 )
Use this command with the correct card number to get information about ALSA settings for the USB Headset in text format
Simple mixer control 'Speaker',0 Capabilities: pvolume pswitch pswitch-joined Playback channels: Front Left - Front Right Limits: Playback 0 - 37 Mono: Front Left: Playback 10 [27%] [-27.00dB] [on] Front Right: Playback 10 [27%] [-27.00dB] [on] Simple mixer control 'Mic',0 Capabilities: pvolume pvolume-joined cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined Playback channels: Mono Capture channels: Mono Limits: Playback 0 - 31 Capture 0 - 35 Mono: Playback 16 [52%] [-7.00dB] [off] Capture 20 [57%] [8.00dB] [on] Simple mixer control 'Auto Gain Control',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [on]
Audio control for output to speaker ALSA is only set to 27%
Try increasing the level and check if the GUI level control has a better volume range
amixer --card=2 sset 'Speaker' 50%
It might also help to turn off auto gain control
amixer --card=2 sset 'Auto Gain Control' mute
Sadly, doesn’t help.
amixer --card=2 sset 'Speaker' 50%
Just set my volume temporarly to 50%. GUI still shows 20% when no sound is played
I expected audio ‘silence’ threshold to reduce to 10% if ALSA level was doubled
Observing audio level meter, does audio level appear to stop abruptly at 20% or does it show a low level of inaudible audio?
(The Auto Gain Control might have a noise gate to cut all sound below 20%)
As soon as I drop the audio slider below 25% the audio completly shuts off. It’s just muted. Funny enough, it’s only happening with USB headset, bluetooth speaker works fine.