https://bugs.kde.org/show_bug.cgi?id=524624

            Bug ID: 524624
           Summary: Volume keys and applet control old default sink (HDMI)
                    after Bluetooth reconnect; backend default is correct;
                    clicking device in applet is a no-op; journal shows
                    repeated 'No object for name "@DEFAULT_SINK@"'
    Classification: Plasma
           Product: plasmashell
      Version First 6.7.4
       Reported In:
          Platform: Fedora RPMs
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Audio Volume widget
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: 1.0

Created attachment 195389
  --> https://bugs.kde.org/attachment.cgi?id=195389&action=edit
Volume Widget with both selected

SUMMARY

After a Bluetooth headset reconnects, the Audio Volume applet, keyboard volume
keys, and scroll-over-tray-icon all operate on the previous default sink
(HDMI), even though the PipeWire/PulseAudio backend default is correctly set to
the Bluetooth sink and audio plays through it. Clicking the Bluetooth device in
the applet is a UI no-op that leaves both devices shown as selected. Possibly
related to bug 456310, but this report has a precise repro and a log signature.

SOFTWARE/OS VERSIONS

Fedora 44, KDE Plasma 6.7.4, KDE Frameworks 6.29.0, Qt 6.11.1, plasma-pa 6.7.4,
PipeWire 1.6.8, WirePlumber 0.5.14.
Devices: HDMI output (alsa_output.pci-0000_03_00.1.hdmi-stereo), Bluetooth A2DP
headphones (bluez_output.24_29_34_9F_CF_39.1, Pixel Buds Pro).

STEPS TO REPRODUCE

HDMI is the default sink.
Connect the Bluetooth headphones (previously used; WirePlumber routes streams
to them and they become the default sink). Note the bluez device receives a new
PipeWire node ID on each reconnect (node 76 one session, 45 another).
Observe applet, press volume keys.

OBSERVED RESULT

With the bug active, before any interaction:

Backend default is correct: wpctl status shows * on the bluez sink; pactl info
reports Default Sink: bluez_output.24_29_34_9F_CF_39.1; audio plays through the
headphones.
The applet shows the HDMI device as the selected output.
Pressing volume-up twice changed the HDMI sink 1.10 → 1.20 while the bluez sink
stayed at 0.65 (wpctl get-volume on both). pactl subscribe during the
keypresses shows the change events landing on a single sink index (the HDMI
sink).
Clicking the bluez device in the applet's Devices tab: applet then shows both
devices as selected; wpctl status and pactl info are byte-identical before and
after — no backend change occurs.
The plasmashell journal contains repeated paired errors at exactly the times
the bug is active (dozens today):
plasmashell[26395]: No object for name "@DEFAULT_SINK@"
This message appears to originate from the pipewire-pulse compat layer failing
to resolve @DEFAULT_SINK@ for the client; plasma-pa then seems to fall back to
a wrong sink.
Workaround that instantly fixes applet, keys, and scroll: wpctl set-default
<hdmi_id>; wpctl set-default <bluez_id>. An externally-generated default-change
event resynchronizes the applet.
Restarting plasmashell fixes only the display (correct radio button), not the
keys/scroll target.

EXPECTED RESULT

Applet selection, volume keys, and scroll should always follow the actual
default sink, and clicking a device in the applet should make it the default.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to