Surround Sound 5.1 increase Volume not working

Dear Manjaro geniuses :slight_smile:

After posting the problem to r/ManjaroLinux on Reddit, I was adviced it might be a bug and that I should report here:

I recently switched to Manjaro (xfce) from Xubuntu and I have connected a 5.1 Surround Sound system (brand: Medion). My PC has three 3.5 mm jacks (pink = microphone input or here center/subw. output; green = front output; blue = rear output).

Surround sound is working after selecting 6 channels in alsamixer.

The following changes were made to /etc/pulse/daemon.conf:

enable-lfe-remixing=yes

default-sample-channels = 6

default-channel-map = front-left,front-right,front-center,rear-left,rear-right,lfe

The problem:

When I use my mousewheel or my hotkeys on the keyboard to increase volume, it misbehaves and some sort of decreases the volume (see attached video). This problem is only present, when the channels have different volume.

Video of the problem: https://youtu.be/CjGEXnzLim8

Does anybody have an idea why this problem occurs?

I'd appreciate any help. If you need more information just ask. Thank you very much!

from video, level control in Output Devices/Ausgabegeräte appears to be functioning ok
but causing you a problem when reducing level wipes out relative channel levels

suggest set relative channel levels in alsamixer so pavucontrol channels work at same level

1 Like

Thank you for your answer!

Changing the levels in alsamixer also changes them simultaneously in pavucontrol. Can I separate these?

Dear Manjaro geniuses :slight_smile:

After posting the problem to r/ManjaroLinux on Reddit, I was adviced it might be a bug and that I should report here (Posting it in the Newbie Corner yielded only one answer with no reply and no solution):

I recently switched to Manjaro (xfce) from Xubuntu and I have connected a 5.1 Surround Sound system (brand: Medion). My PC has three 3.5 mm jacks (pink = microphone input or here center/subw. output; green = front output; blue = rear output).

Surround sound is working after selecting 6 channels in alsamixer.

The following changes were made to /etc/pulse/daemon.conf:

enable-lfe-remixing=yes

default-sample-channels = 6

default-channel-map = front-left,front-right,front-center,rear-left,rear-right,lfe

The problem:

When I use my mousewheel or my hotkeys on the keyboard to increase volume, it misbehaves and some sort of decreases the volume (see attached video). This problem is only present, when the channels have different volume.

Video of the problem: https://youtu.be/CjGEXnzLim8

Edit: inxi output:

System:
  Host: Christian-Desktop-Manjaro Kernel: 5.2.11-1-MANJARO x86_64 bits: 64 
  compiler: gcc v: 9.1.0 Desktop: Xfce 4.14.1 Distro: Manjaro Linux 
Machine:
  Type: Desktop System: MEDION product: Akoya P5350 E MD8862 v: 1.0 
  serial: <filter> 
  Mobo: MEDION model: B150H4-EM v: 2.0 serial: <filter> 
  UEFI: American Megatrends v: 150EMW0X.102 date: 03/04/2016 
CPU:
  Topology: Quad Core model: Intel Core i7-6700 bits: 64 type: MT MCP 
  arch: Skylake-S rev: 3 L2 cache: 8192 KiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 54544 
  Speed: 1600 MHz min/max: 800/4000 MHz Core speeds (MHz): 1: 1600 2: 1600 
  3: 1600 4: 1600 5: 1600 6: 1600 7: 1600 8: 1600 
Graphics:
  Device-1: NVIDIA GM204 [GeForce GTX 970] vendor: Elite Systems 
  driver: nvidia v: 390.129 bus ID: 01:00.0 
  Display: x11 server: X.Org 1.20.5 driver: nvidia 
  resolution: 1600x900~60Hz, 1680x1050~60Hz 
  OpenGL: renderer: GeForce GTX 970/PCIe/SSE2 v: 4.6.0 NVIDIA 390.129 
  direct render: Yes 
Audio:
  Device-1: Intel 100 Series/C230 Series Family HD Audio 
  vendor: Elite Systems driver: snd_hda_intel v: kernel bus ID: 00:1f.3 
  Device-2: NVIDIA GM204 High Definition Audio vendor: Elite Systems 
  driver: snd_hda_intel v: kernel bus ID: 01:00.1 
  Device-3: Corsair type: USB driver: hid-generic,snd-usb-audio,usbhid 
  bus ID: 1-1:2 
  Device-4: Logitech QuickCam Pro 5000 type: USB 
  driver: snd-usb-audio,uvcvideo bus ID: 1-3:4 
  Sound Server: ALSA v: k5.2.11-1-MANJARO 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  vendor: Elite Systems driver: r8168 v: 8.047.02-NAPI port: d000 
  bus ID: 02:00.0 
  IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
Drives:
  Local Storage: total: 1.14 TiB used: 253.37 GiB (21.7%) 
  ID-1: /dev/sda vendor: Western Digital model: WD10EZEX-00BN5A0 
  size: 931.51 GiB 
  ID-2: /dev/sdb vendor: Samsung model: MZNTY256HDHP-00000 size: 238.47 GiB 
Partition:
  ID-1: / size: 38.25 GiB used: 27.56 GiB (72.1%) fs: ext4 dev: /dev/sdb3 
  ID-2: /home size: 57.42 GiB used: 13.10 GiB (22.8%) fs: ext4 
  dev: /dev/sda3 
  ID-3: swap-1 size: 7.81 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sdb4 
Sensors:
  System Temperatures: cpu: 42.0 C mobo: 29.8 C gpu: nvidia temp: 39 C 
  Fan Speeds (RPM): N/A gpu: nvidia fan: 42% 
Info:
  Processes: 246 Uptime: 51m Memory: 7.73 GiB used: 1.66 GiB (21.4%) 
  Init: systemd Compilers: gcc: 9.1.0 Shell: bash v: 5.0.9 inxi: 3.0.36

Does anybody have an idea why this problem occurs?

I'd appreciate any help. If you need more information just ask. Thank you very much!

That doesn't mean you can open a duplicate topic though. it's possible to re-categorise an existing topic. If you can't do it yourself ask a longer term member of the forum or a moderator to do it for you.

Also, the lack of replies apart from @nikgnomic which did contain a solution of sorts usually indicates nobody has an answer. Even if you post in newbie corner it will still have been seen by relevant people since you gave it a descriptive enough title. The only thing really missing from your post is the inxi output.

2 Likes

i still do not see a bug/problem in OP

reducing level of all Output Device channels to zero can not retain the relative level settings for channels
if audio channels are not locked, audio levels can change

if relative channel levels are set in ALSA and saved with:
sudo alsactl store
settings can be restored with
sudo alsactl restore

Thanks for your help. Duplicating it was not my intention... Sorry

The output of inxi -Fxzc0 was edited properly into my original post.

Somehow I forgot to save when I firstly tried your solution...
Now, the first time I did this, volume control worked fine afterwards and my 5.1 system as shown as 2 channel in pavucontrol.
After rebooting (and restoring with sudo alsactl restore) the problem was present again. Volume control does no longer work as intended using pavucontrol/hotkeys.

I tried to store the alsamixer settings again and now get this error:

alsactl: get_control:256: Cannot read control '3,0,0,Playback Channel Map,0': Invalid argument

I can successfully control the volume in alsamixer and I believe that restoring the configuration does also work, but I can still not use my hotkeys...

Any further ideas?

this does not make sense
do you mean you have enabled channel lock in pavucontrol so only one level control is visible ?

from the information you have supplied, there could be 3 possible problems:

  1. Pulseaudio failing to lock channels and/or setting levels incorrect
  1. ALSA levels store/restore incorrect
  • set correct ALSA levels in alsamixer
  • save settings to home folder - alsactl store f ~/asound.state
  • to restore settings - alsactl restore f ~/asound.state

if alsactl confirmed to work from home folder, may be problem with default asound.state file in system folder

  1. keyboard keymap problem
    zero information about keymapping; so :man_shrugging:
    (maybe hardware-specific problem but never seen this hardware before)

  2. 5.1 channel
    I do not see logical sense to order of your channel map
    default channel map in /usr/share/pulseaudio/alsa-mixer/profile-sets/ is

[Mapping analog-surround-51]
device-strings = surround51:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe

i would expect channel map to be show in same order in alsamixer

i would not expect the centre and lfe channels to be separated in the channel map considering they are 2 mono channels sharing same jack

please remove USB headset and webcam
then use alsa-info.sh --upload
and post link to ALSA information

That had no effect.

When trying to store I get the same error message as before:

alsactl: get_control:256: Cannot read control '3,0,0,Playback Channel Map,0': Invalid argument

Changing the channel-map in /etc/pulse/daemon.conf to the one in /usr/share/pulseaudio/alsa-mixer/profile-sets/ doesn't have any effect either

There you go, hope it helps: http://alsa-project.org/db/?f=b198fdcbed7a05d22ef6e608629d9725bf02b709

try
sudo alsactl init
and if no errors
sudo alsactl store

please post Pulsaudio information:
grep -E 'default-|lfe' /etc/pulse/daemon.conf
pulseaudio --dump-conf | grep -E 'default-|lfe'
pactl list short modules

Results were inconsistent so i did some testing. The storring command works fine as long as I haven't opened the pavucontrol window. After having the window open (doesn't matter if still open or closed again) I get the previous error when trying to store again:

alsactl: get_control:256: Cannot read control '3,0,0,Playback Channel Map,0': Invalid argument

Edit: I also noticed, that in pavucontrol front left and right are swapped. Rear channels work fine.

; load-default-script-file = yes
; default-script-file = /etc/pulse/default.pa
enable-lfe-remixing = yes
; lfe-crossover-freq = 0
; default-sample-format = s16le
; default-sample-rate = 48000
default-sample-channels = 6
default-channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
; default-fragments = 4
; default-fragment-size-msec = 25

default-script-file = /etc/pulse/default.pa
load-default-script-file = yes
enable-lfe-remixing = yes
lfe-crossover-freq = 0
default-sample-format = s16le
default-sample-rate = 44100
default-sample-channels = 6
default-channel-map = front-left,front-left-of-center,front-center,front-right,front-right-of-center,rear-center
default-fragments = 4
default-fragment-size-msec = 25
0	module-stream-restore		
1	module-card-restore		
2	module-augment-properties		
3	module-switch-on-port-available		
4	module-udev-detect		
5	module-alsa-card	device_id="2" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"	
6	module-alsa-card	device_id="0" name="usb-Corsair_Raptor_HS40-00" card_name="alsa_card.usb-Corsair_Raptor_HS40-00" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"	
7	module-alsa-card	device_id="1" name="pci-0000_00_1f.3" card_name="alsa_card.pci-0000_00_1f.3" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"	
8	module-bluetooth-policy		
9	module-bluetooth-discover		
10	module-bluez5-discover		
11	module-dbus-protocol		
12	module-native-protocol-unix		
13	module-gsettings		
14	module-default-device-restore		
15	module-rescue-streams		
16	module-always-sink		
17	module-intended-roles		
18	module-suspend-on-idle		
19	module-console-kit		
20	module-systemd-login		
21	module-position-event-sounds		
22	module-role-cork		
23	module-filter-heuristics		
24	module-filter-apply		
25	module-x11-publish	display=:0.0	
26	module-x11-xsmp	display=:0.0 session_manager=local/Christian-Desktop-Manjaro:@/tmp/.ICE-unix/871,unix/Christian-Desktop-Manjaro:/tmp/.ICE-unix/871

/etc/default/pulse/daemon.conf shows channel map configuration as expected

but Pulseaudio is actually using
front-left,front-left-of-center,front-center,front-right,front-right-of-center,rear-center

the list of modules is very strange

first expected module is absent - module-device-restore
missing module should be in /etc/pulse/default.pa
in a block of 3 with the next 2 modules to restore streams and cards

but this device is what is messing up the channel map:

module-alsa-card	device_id="0" name="usb-Corsair_Raptor_HS40-00" card_name="alsa_card.usb-Corsair_Raptor_HS40-00" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"

did not realise this is a 7.1 surround headset until i checked the website earlier today
the unexpected names in the channel map make better sense in relation to headset
was not obvious when channel map was only 6 channels and not 8
but pavucontrol would show channels if headset level controls had been unlocked

my best guess is:

  1. headset has id "0" detected by udev module and was likely plugged in before boot

  2. alsactl does not throw an error and is ok with whatever channel map because there is no module to do database check, or is correctly using onboard audio channels/settings

  3. when launched, pavucontrol can access the database and invalidate the channel-map to cause the alsactl errors, or headset takes default device status from onboard

setting to enable-lfe-remixing is ok
but will not have any effect because setting for lfe-crossover-freq is still on default 0 Hz

i can find no information about this headset relating to Linux
i have no experience of this sort of device to suggest anything more about it :man_shrugging:

suggest clear all previous changes in etc/pulse/default.pa and etc/pulse/daemon.conf and revert to default configuration

as both configuration files have been modified, there might be .pacnew files after Pulseaudio update (update will create .pacnew file rather than overwrite user modified file):

  • delete the files etc/pulse/default.pa + etc/pulse/daemon.conf
  • rename the updated files to remove '.pacnew' suffix
  • reboot

if there are no .pacnew files; and not logged or cannot recall changes made, reinstall Pulseaudio

need to clear .tdb databases in ~/.config/pulse/ again (see post:9 item:1 above)
to remove any information about 6 channel headset configuration

suggest do not plug in USB headset until troubleshooting onboard audio completed

suggest install alsa-tools
and use hdajacksensetest to check if 3 audio jacks are detected correctly if removed or plugged in

most of this discussion is now out of date and not relevant
original question is probably resolved by locking the audio channels in pavucontrol
suggest you do more testing and, if needed, start a new topic with full description and data for any remaining problems

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by