Skip to content

Audio volume controls modify the wrong output device when Bluetooth headphones are the default sink #2764

Description

@yocur

Compositor

Niri

Distribution

Fedora

If Other, please specify

No response

Select your Installation Method

Distro Packaging

Was this your original Installation method?

Yes

If no, specify

No response

dms doctor -vC

Click to expand ## DMS Doctor Report

System

  • [ok] Operating System: Fedora Linux 44 (Workstation Edition)
    • ID: fedora, Version: 44, Arch: amd64
  • [ok] Architecture: amd64
  • [ok] Display Server: Wayland
    • WAYLAND_DISPLAY=wayland-1

Versions

  • [ok] DMS CLI: dms v1.4.6
    • /usr/bin/dms
  • [ok] Quickshell: Quickshell 0.3.0 (revision , distributed by Fedora COPR (avengemedia/quickshell))
    • /usr/bin/qs
  • [ok] DMS Shell: 1.4.6
    • /usr/share/quickshell/dms

Installation

  • [ok] DMS Configuration: Found
    • /usr/share/quickshell/dms
  • [ok] shell.qml: Present
    • /usr/share/quickshell/dms/shell.qml
  • [info] Install Type: System package
    • /usr/share/quickshell/dms

Compositor

  • [ok] niri: 26.04
    • /usr/bin/niri
  • [info] Active: niri
  • [ok] Background Blur: Supported
    • Compositor supports ext-background-effect-v1

Quickshell Features

  • [ok] Polkit: Available
    • Authentication prompts
  • [ok] IdleMonitor: Available
    • Idle detection
  • [ok] IdleInhibitor: Available
    • Prevent idle/sleep
  • [ok] ShortcutInhibitor: Available
    • Allow shortcut management (niri)
  • [ok] BackgroundBlur: Available
    • Background blur API support in Quickshell

Optional Features

  • [ok] accountsservice: Available
    • User accounts
  • [ok] power-profiles-daemon: Available
    • Power profile management
  • [ok] logind: Available
    • Session management
  • [ok] cups-pk-helper: Available
    • Printer management
  • [info] I2C/DDC: No monitors detected
    • External monitor brightness control
  • [ok] qt6-imageformats: Installed (1 formats)
    • Formats: GIF (/usr/lib64/qt6/plugins/imageformats)
  • [ok] kimageformats: Installed (4 formats)
    • Formats: AVIF, HEIF, JXL, EXR (/usr/lib64/qt6/plugins/imageformats)
  • [ok] Terminal: alacritty
  • [ok] Network: NetworkManager
    • NetworkManager present. Using NM API.
  • [ok] matugen: Installed
    • Dynamic theming
  • [ok] dgop: Installed
    • System monitoring
  • [ok] cava: Installed
    • Audio visualizer
  • [info] khal: Not installed
    • Calendar events
  • [ok] danksearch: Installed
    • File search
  • [ok] fprintd: Installed
    • Fingerprint auth

Config Files

  • [ok] settings.json: Present
    • /home/zrn/.config/DankMaterialShell/settings.json
  • [info] clsettings.json: Not yet created
    • /home/zrn/.config/DankMaterialShell/clsettings.json
  • [ok] plugin_settings.json: Present
    • /home/zrn/.config/DankMaterialShell/plugin_settings.json
  • [ok] session.json: Present
    • /home/zrn/.local/state/DankMaterialShell/session.json
  • [ok] dms-colors.json: Present
    • /home/zrn/.cache/DankMaterialShell/dms-colors.json

Services

  • [ok] dms.service: enabled, active
  • [info] greetd: Not installed
    • Optional greeter service

Environment

  • [info] QT_QPA_PLATFORMTHEME: Not set
  • [info] QS_ICON_THEME: Not set

Summary: 0 error(s), 0 warning(s), 33 ok

Description

When a Bluetooth audio device is connected and becomes the default PipeWire sink, audio playback correctly switches to the Bluetooth device.

However, the DMS IPC audio commands (audio increment, audio decrement) do not control the current default sink.
but audio mute works

The commands print a success message such as "Volume increased to 30%", but the actual volume of the default Bluetooth output does not change.

Using wpctl directly works as expected.

Audio
├─ Devices:
│ 43. Renoir/Cezanne HDMI/DP Audio Controller [alsa]
│ 44. Ryzen HD Audio Controller [alsa]
│ 82. HONOR CHOICE Earbuds X7 [bluez5]

├─ Sinks:
│ 51. Ryzen HD Audio Controller Analog Stereo [vol: 0.42]
│ * 89. HONOR CHOICE Earbuds X7 [vol: 0.63]

├─ Streams:
73. Firefox
72. output_FR > HONOR CHOICE Earbuds X7:playback_FR [active]
95. output_FL > HONOR CHOICE Earbuds X7:playback_FL [active]

Settings
└─ Default Configured Devices:
0. Audio/Sink bluez_output.E8_26_CF_57_13_66.1

Expected Behavior

The DMS audio IPC commands should modify the current PipeWire default audio sink.

For example, they should behave the same as:

wpctl set-volume @DEFAULT_AUDIO_SINK@ 3%+
wpctl set-volume @DEFAULT_AUDIO_SINK@ 3%-
wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle

This should work regardless of whether the default output is speakers, wired headphones, or Bluetooth headphones.

Steps to Reproduce

  1. Start DMS Shell.

  2. Connect a Bluetooth headset.

  3. Confirm it becomes the default PipeWire sink (wpctl status).

  4. Play audio to verify playback is through the Bluetooth device.

  5. Run:

    dms ipc call audio increment 3

    (or use the configured volume keybinds)

  6. Observe that DMS reports the volume changed, but the Bluetooth device volume does not change.

  7. Run:

    wpctl set-volume @DEFAULT_AUDIO_SINK@ 3%+

  8. Observe that the Bluetooth device volume changes correctly.

Error Messages/Logs

No errors are printed.

Example:

dms ipc call audio increment 3
Volume increased to 30%

PipeWire still reports the Bluetooth sink at the same volume.

Relevant information:

  • DMS version: 1.4.6-1.fc44
  • PipeWire: 1.6.7
  • WirePlumber: 0.5.x

Screenshots/Recordings

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions