Volume media keys sometimes adjust the wrong audio device

I used Gnome on Fedora for years but I don’t like what IBM is doing with Red Hat and landed on Garuda KDE for my gaming box about a month ago. So far most everything is an improvement but, as the subject says, sometimes when I twist the volume knob I’ll see the name of the wrong device appear in the pop-up and it adjusts the output of that device rather than the selected default. The sometimes part is tripping me up, it works most of the time and then randomly doesn’t. Should I be setting this up differently?

I run a MOTU 828es audio interface for sound, pro audio profile because there is no 5.1 or 7.1 profile for these things. My Fedora solution was to create a pipewire virtual device to map the channels, then make that the default output device.

I’ve configured the same pipewire virtual device on Garuda then selected it as the default, and that works the same so far, with the exception of the aforementioned issue.

Keyboard is a Keychron Q6 Pro w/ knob, but I also use a Flirc for media controls with an IR remote and the problem has occurred with both so I don’t suspect either is the culprit.

I haven’t spotted any clues in the system journal after an occurrence. Are there other logs that might be relevant?

$ cat ~/.config/pipewire/pipewire.conf.d/10-channelremap.conf
context.modules = [
{ name = libpipewire-module-loopback
    args = {
        audio.position = [ FL FR FC LFE ]
        capture.props = {
            media.class = Audio/Sink
            node.name = motu_3.1_remap_c
            node.description = "MOTU 3.1 Output"
        }
        playback.props = {
            node.name = motu_3.1_remap_p
            node.description = "MOTU 3.1 Input"
            audio.position = [ AUX0 AUX1 AUX2 AUX3 ]
            node.target = "alsa_output.usb-MOTU_828ES_0001f2fffe012e87-00.5.multichannel-output"
        }
    }
}
]
$ sudo garuda-inxi
System:
  Kernel: 6.8.1-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=c9538fe3-e235-4cb5-b4cf-eedd6cc16952 rw rootflags=subvol=@
    quiet loglevel=3 ipv6.disable=1 ibt=off
  Desktop: KDE Plasma v: 6.0.2 tk: Qt v: N/A wm: kwin_wayland dm: SDDM
    Distro: Garuda base: Arch Linux
Machine:
  Type: Desktop System: ASUS product: N/A v: N/A serial: N/A
  Mobo: ASUSTeK model: TUF GAMING X570-PRO (WI-FI) v: Rev X.0x
    serial: <filter> part-nu: SKU uuid: c0d15eb5-5c93-cc16-685f-fc3497a3bf4c
    UEFI: American Megatrends v: 4802 date: 06/15/2023
CPU:
  Info: model: AMD Ryzen 9 5900X socket: AM4 bits: 64 type: MT MCP
    arch: Zen 3+ gen: 4 level: v3 note: check built: 2022 process: TSMC n6 (7nm)
    family: 0x19 (25) model-id: 0x21 (33) stepping: 0 microcode: 0xA201025
  Topology: cpus: 1x cores: 12 tpc: 2 threads: 24 smt: enabled cache:
    L1: 768 KiB desc: d-12x32 KiB; i-12x32 KiB L2: 6 MiB desc: 12x512 KiB
    L3: 64 MiB desc: 2x32 MiB
  Speed (MHz): avg: 3700 min/max: 2200/4950 boost: enabled
    base/boost: 3700/4950 scaling: driver: acpi-cpufreq governor: performance
    volts: 1.1 V ext-clock: 100 MHz cores: 1: 3700 2: 3700 3: 3700 4: 3700
    5: 3700 6: 3700 7: 3700 8: 3700 9: 3700 10: 3700 11: 3700 12: 3700
    13: 3700 14: 3700 15: 3700 16: 3700 17: 3700 18: 3700 19: 3700 20: 3700
    21: 3700 22: 3700 23: 3700 24: 3700 bogomips: 177593
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: AMD Navi 21 [Radeon RX 6900 XT] vendor: ASRock driver: amdgpu
    v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm) built: 2020-22
    pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: HDMI-A-1 empty: DP-1,
    DP-2, DP-3, Writeback-1 bus-ID: 0a:00.0 chip-ID: 1002:73af class-ID: 0300
  Display: server: X.Org v: 23.2.4 with: Xwayland v: 23.2.4
    compositor: kwin_wayland driver: X: loaded: amdgpu
    unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu display-ID: :1 screens: 1
  Screen-1: 0 s-res: 3840x2160 s-dpi: 96 s-size: 1016x572mm (40.00x22.52")
    s-diag: 1166mm (45.9")
  Monitor-1: HDMI-A-1 model: Samsung serial: <filter> built: 2020
    res: 3840x2160 hz: 60 dpi: 69 gamma: 1.2 size: 1420x800mm (55.91x31.5")
    diag: 1630mm (64.2") ratio: 16:9 modes: max: 3840x2160 min: 720x400
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast surfaceless: drv: radeonsi x11: drv: radeonsi
    inactive: gbm,wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.0.3-arch1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 6900 XT (radeonsi
    navi21 LLVM 17.0.6 DRM 3.57 6.8.1-zen1-1-zen) device-ID: 1002:73af
    memory: 15.62 GiB unified: no
  API: Vulkan v: 1.3.279 layers: 10 device: 0 type: discrete-gpu name: AMD
    Radeon RX 6900 XT (RADV NAVI21) driver: mesa radv v: 24.0.3-arch1.1
    device-ID: 1002:73af surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe
    (LLVM 17.0.6 256 bits) driver: mesa llvmpipe v: 24.0.3-arch1.1 (LLVM
    17.0.6) device-ID: 10005:0000 surfaces: xcb,xlib
Audio:
  Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 0a:00.1 chip-ID: 1002:ab28
    class-ID: 0403
  Device-2: Mark of the Unicorn 828ES driver: snd-usb-audio type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 5-1:2 chip-ID: 07fd:0005
    class-ID: 0103 serial: <filter>
  API: ALSA v: k6.8.1-zen1-1-zen status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: PipeWire v: 1.0.4 status: n/a (root, process) with:
    1: pipewire-pulse status: active 2: wireplumber status: active
    3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Mellanox MT27500 Family [ConnectX-3] driver: mlx4_core v: 4.0-0
    pcie: gen: 3 speed: 8 GT/s lanes: 4 port: N/A bus-ID: 04:00.0
    chip-ID: 15b3:1003 class-ID: 0200
  IF: enp4s0 state: down mac: <filter>
  Device-2: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel pcie: gen: 2
    speed: 5 GT/s lanes: 1 bus-ID: 05:00.0 chip-ID: 8086:2723 class-ID: 0280
  IF: wlp5s0 state: down mac: <filter>
  Device-3: Intel Ethernet I225-V vendor: ASUSTeK driver: igc v: kernel
    pcie: gen: 2 speed: 5 GT/s lanes: 1 port: N/A bus-ID: 06:00.0
    chip-ID: 8086:15f3 class-ID: 0200
  IF: enp6s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Info: services: NetworkManager, sshd, systemd-timesyncd
Bluetooth:
  Device-1: Intel AX200 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-4:4 chip-ID: 8087:0029
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 2 state: down bt-service: enabled,running
    rfk-block: hardware: no software: no address: <filter> bt-v: 5.2 lmp-v: 11
    status: discoverable: no pairing: no
Drives:
  Local Storage: total: 1.82 TiB used: 932.4 GiB (50.0%)
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Sabrent model: Rocket 4.0 Plus
    size: 1.82 TiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: RKT4P1.2 temp: 51.9 C
    scheme: GPT
  SMART: yes health: PASSED on: 1y 363d 17h cycles: 1,031
    read-units: 45,943,665 [23.5 TB] written-units: 92,899,633 [47.5 TB]
Partition:
  ID-1: / raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 932.4 GiB (50.1%)
    fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 584 KiB (0.2%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p1
    maj-min: 259:1
  ID-3: /home raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
    used: 932.4 GiB (50.1%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
  ID-4: /var/log raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
    used: 932.4 GiB (50.1%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
  ID-5: /var/tmp raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
    used: 932.4 GiB (50.1%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 31.25 GiB used: 0 KiB (0.0%) priority: 100
    comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 24 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 34.0 C mobo: 40.0 C gpu: amdgpu temp: 45.0 C
    mem: 44.0 C
  Fan Speeds (rpm): fan-1: 812 fan-2: 0 fan-3: 792 fan-4: 786 fan-5: 2806
    fan-6: 1306 fan-7: 0 gpu: amdgpu fan: 0
Info:
  Memory: total: 32 GiB available: 31.25 GiB used: 9.82 GiB (31.4%)
  Processes: 492 Power: uptime: 19h 46m states: freeze,mem,disk
    suspend: deep avail: s2idle wakeups: 0 hibernate: platform avail: shutdown,
    reboot, suspend, test_resume image: 12.48 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 255 default: graphical
    tool: systemctl
  Packages: pm: pacman pkgs: 2024 libs: 549 tools: octopi,paru Compilers:
    clang: 17.0.6 gcc: 13.2.1 Shell: garuda-inxi (sudo) default: Bash v: 5.2.26
    running-in: qterminal inxi: 3.3.33
Garuda (2.6.23-1):
  System install date:     2024-02-18
  Last full system update: 2024-03-17
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       No/Undetected
  Failed units:            

Welcome to Garuda, you are obviously way more knowledgeable than me but I ended up using custom keyboard shortcuts to increase and decrease the volume by 10% in cinnamon. This allows me to go above 100% which is often needed for my laptop.

Set Alt+z to Volume down

pactl set-sink-volume 0 -10%

Set Alt+x to Volume Up

pactl set-sink-volume 0 +10%

I have issues with this not working if use some attachment with alternative audio channels.

In general it solved my problems not sure if that advice is useful to you.

Thanks for the welcome and the tip @Mantion.

I didn’t install pulseaudio. Alsa & pipewire should be handling everything if I understand the current state of linux audio and my configuration correctly.

1 Like

I just moused over the tray icon and scrolled and it turned up the hardware device instead of the default device so, the volume control applet apparently just adjusts whatever device it feels like in the moment instead of respecting my selection, nice.

Anybody know a way to force KDE’s volume control to only act on one specific device?

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