Created attachment 179046 [details] Multiple playback and recording devices' associated radio buttons being selected at once SUMMARY In the audio widget's devices tab, the radio buttons (circular checkboxes) are not and cannot be deselected. This is a purely visual problem. STEPS TO REPRODUCE 1. Attach multiple playback devices or multiple recording devices 2. Select an unselected audio device OBSERVED RESULT While we do switch to the selected audio device, the old device's radio button is not cleared. EXPECTED RESULT The old radio button is cleared. SOFTWARE/OS VERSIONS Windows: macOS: (available in the Info Center app, or by running `kinfo` in a terminal window) Operating System: EndeavourOS KDE Plasma Version: 6.3.2 KDE Frameworks Version: 6.11.0 Qt Version: 6.9.0 Kernel Version: 6.13.5-zen1-1.1-zen (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 2700X Eight-Core Processor Memory: 31.2 GiB of RAM Graphics Processor: AMD Radeon RX 580 Series ADDITIONAL INFORMATION A similar thing happens in sound system settings, though this time the radio buttons do not select instead of not deselecting. No other radio buttons I've found have any of these problems.
I'm here from #archlinux-testing on Libera IRC, it works for me correctly and deselect others. Operating System: Arch Linux KDE Plasma Version: 6.3.2 KDE Frameworks Version: 6.11.0 Qt Version: 6.8.2 Kernel Version: 6.12.17-hardened1-1-hardened (64-bit) Graphics Platform: Wayland Processors: 12 × 12th Gen Intel® Core™ i5-1235U Memory: 15.3 GiB of RAM Graphics Processor: Mesa Intel® Graphics
I think it has to do with Qt6; Amin has Qt 6.8.2 while I have 6.9.0beta3.
Can also confirm issue on Fedora 44. Plasma 6.3.2 KDE Framworks 6.11.0 QT 6.8.2 Kernel 6.13.5 Wayland
(In reply to george from comment #3) > Can also confirm issue on Fedora 44. > Plasma 6.3.2 > KDE Frameworks 6.11.0 > QT 6.8.2 > Kernel 6.13.5 > Wayland Sorry, F41 not F44.
...that would invalidate my Qt 6.9 hypothesis, even though that aligns with my upgrade timeline more... (I have Arch's kde-unstable testing repos, which shipped Plasma 6.3.2 a ways before the problem started.)
I can reproduce this on my Fedora KDE 41 device: Operating System: Fedora Linux 41 KDE Plasma Version: 6.3.3 KDE Frameworks Version: 6.12.0 Qt Version: 6.8.2 Kernel Version: 6.13.7-200.fc41.x86_64 (64-bit)
Do you have a 100% reproducible case? I can *sometimes* reproduce it, but have thus far been unable to figure out the pattern.
I don't know how generalizable it is, but: * I can't reproduce it on any of my three output devices, which are all "plugged in" * I can 100% reproduce it by trying to switch input devices from my USB headphones to the motherboard's built-in microphone port, which is noted as "unplugged" in the Sound KCM...perhaps it has something to do with an attempted change getting rejected because there's nothing attached? (Total guess, sorry!)
When I reported this this was always reproducible. Now it seems to be fixed..
*** Bug 504640 has been marked as a duplicate of this bug. ***
(In reply to Aaron Liu from comment #9) > When I reported this this was always reproducible. Now it seems to be fixed.. Reproduced with latest KDE neon dev (neon-unstable-developer-20250512-0038) https://youtu.be/Wn-yM_cnkAE?t=49 (bug appears on 0:49)
I"m quite sure there's an already open bug about this. But in light of how relatively common this is, perhaps plasma-pa could provide a better UX. My suggestion is to not toggle the radio button immediately but rather have a spinner or similar next to the sink/source or, if possible, as a custom radio button that's flashing or spinning to indicate an attempt to switch the default but only show the fully selected radio button after the default sink or source has actually changed. Unfortunately I do not know where exactly it gets stuck or how that shows up, just that having multiple default sinks or sources in plasma-pa is often due to the audio manager (WirePlumber or the legacy Pulseudio) having bugged out.
I think it would be much simpler to grey everything out (and maybe add a spinner overlay).
*** Bug 484908 has been marked as a duplicate of this bug. ***
*** Bug 513535 has been marked as a duplicate of this bug. ***
Oh, that's neat. Mariusz, if you happen to encounter this again, can you maybe check the output of `wpctl status`? It would be interesting to see, if that tool is reporting the correct state (the default sink and source have * prefix to their listings) and whether it's possible to use `wpctl set-default <id>` or `wpctl clear-default <id>` to return to a sane state or not. The id should be the same as what wpctl showed for its list command. Also I think when I last encountered this, it was possible to recover by restarting the audio stack instead of Plasma, which on Arch is done with `systemctl --user restart pipewire{,-pulse}.socket`, assuming you're using the PipeWire audio stack.
(In reply to Niklāvs Koļesņikovs from comment #16) > Oh, that's neat. Mariusz, if you happen to encounter this again, can you > maybe check the output of `wpctl status`? It would be interesting to see, if > that tool is reporting the correct state (the default sink and source have * > prefix to their listings) and whether it's possible to use `wpctl > set-default <id>` or `wpctl clear-default <id>` to return to a sane state or > not. The id should be the same as what wpctl showed for its list command. > > Also I think when I last encountered this, it was possible to recover by > restarting the audio stack instead of Plasma, which on Arch is done with > `systemctl --user restart pipewire{,-pulse}.socket`, assuming you're using > the PipeWire audio stack. `wpctl status` displays the correct status matching System Settings Sound kcm. `wpctl set-default` functions correctly, but neither it nor `wpctl clear-default` fixes the applet. using `systemctl --user restart wireplumber.service` fixed the applet, but maybe it also restarts pipewire as a dependency? So far I don't even know what triggers this bug.
*** Bug 514589 has been marked as a duplicate of this bug. ***
*** Bug 514834 has been marked as a duplicate of this bug. ***
*** Bug 515389 has been marked as a duplicate of this bug. ***
*** Bug 515378 has been marked as a duplicate of this bug. ***
I guess that once Bug 440536 gets implemented, this will become intentional and actually functional.
*** Bug 515766 has been marked as a duplicate of this bug. ***
HAVE THE SAME ISSUE!
They closed my issue: "I found an older bug that this looks to be a duplicate of. The older one is bug 500968. Can you paste the requested output into that report? Thanks!"
You were asked to kindly post the output of `pactl list`.
*** Bug 452547 has been marked as a duplicate of this bug. ***
I've marked my report (see last comment above) as a dupliate. I've been experiencing this issue already sinc 5.24.4
clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Client #33 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-1244" pipewire.sec.socket = "pipewire-0-manager" pipewire.sec.pid = "1244" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "33" object.serial = "33" application.version = "0.5.13" wireplumber.daemon = "true" wireplumber.profile = "main" application.name = "WirePlumber" remote.name = "[pipewire-0-manager,pipewire-0]" config.name = "null" context.modules.allow-empty = "true" application.process.binary = "wireplumber" application.language = "en_US.UTF-8" application.process.id = "1244" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.session_id = "2" window.x11.display = ":0" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" session.services = "[bluetooth.midi, policy.default-nodes, policy.linking.standard, policy.device.routes, policy.device.profile, api.alsa, api.bluez, audio, api.v4l2, policy.linking.role-based, bluetooth.audio, api.libcamera, video-capture, api.alsa-seq, midi]" Client #41 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-1244" pipewire.sec.socket = "pipewire-0-manager" pipewire.sec.pid = "1244" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "41" object.serial = "41" application.name = "WirePlumber [export]" wireplumber.export-core = "true" application.version = "0.5.13" wireplumber.daemon = "true" wireplumber.profile = "main" remote.name = "[pipewire-0-manager,pipewire-0]" config.name = "null" context.modules.allow-empty = "true" application.process.binary = "wireplumber" application.language = "en_US.UTF-8" application.process.id = "1244" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.session_id = "2" window.x11.display = ":0" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Client #42 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-1365" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "1365" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "42" object.serial = "42" config.name = "pipewire-pulse.conf" application.name = "pipewire" application.process.binary = "pipewire" application.language = "en_US.UTF-8" application.process.id = "1365" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.session_id = "2" window.x11.display = ":0" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Client #43 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-1365" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "1365" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "43" object.serial = "43" client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "libcanberra" application.version = "0.30" application.id = "org.freedesktop.libcanberra" application.process.id = "1303" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.binary = "kded6" application.language = "en_US.UTF-8" window.x11.display = ":0" application.process.machine_id = "f32cd52a5e334d42ac0de2b76b2fad33" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Client #78 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-1365" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "1365" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "77" object.serial = "78" client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "" application.id = "org.kde.kded6" application.icon_name = "" application.process.id = "1303" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.binary = "kded6" application.language = "en_US.UTF-8" window.x11.display = ":0" application.process.machine_id = "f32cd52a5e334d42ac0de2b76b2fad33" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Client #79 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-1325" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "1325" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "78" object.serial = "79" application.name = "plasmashell" application.process.binary = "plasmashell" application.language = "en_US.UTF-8" application.process.id = "1325" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.session_id = "2" window.x11.display = ":0" log.level = "0" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Client #80 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-1365" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "1365" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "79" object.serial = "80" client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "libcanberra" application.version = "0.30" application.id = "org.freedesktop.libcanberra" application.process.id = "1325" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.binary = "plasmashell" application.language = "en_US.UTF-8" window.x11.display = ":0" application.process.machine_id = "f32cd52a5e334d42ac0de2b76b2fad33" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Client #81 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-1201" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "1201" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "80" object.serial = "81" pipewire.access.portal.is_portal = "true" portal.monitor = "Camera" application.name = "xdg-desktop-portal" application.process.binary = "xdg-desktop-portal" application.language = "en_US.UTF-8" application.process.id = "1201" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.session_id = "2" window.x11.display = ":0" log.level = "0" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Client #82 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-1365" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "1365" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "81" object.serial = "82" client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "" application.id = "org.kde.plasma-pa" application.icon_name = "" application.process.id = "1325" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.binary = "plasmashell" application.language = "en_US.UTF-8" window.x11.display = ":0" application.process.machine_id = "f32cd52a5e334d42ac0de2b76b2fad33" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Client #83 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-1365" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "1365" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "82" object.serial = "83" client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "Chromium input" application.process.id = "1681" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.binary = "vesktop" application.language = "en_US.UTF-8" window.x11.display = ":0" application.process.machine_id = "f32cd52a5e334d42ac0de2b76b2fad33" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Client #489 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-4014" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "4014" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "90" object.serial = "489" application.name = "Telegram" application.process.binary = "Telegram" application.language = "en_US.UTF-8" application.process.id = "4014" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.session_id = "2" window.x11.display = ":0" log.level = "0" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Client #669 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-1365" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "1365" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "102" object.serial = "669" client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "libcanberra" application.version = "0.30" application.id = "org.freedesktop.libcanberra" application.process.id = "1325" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.binary = "plasmashell" application.language = "en_US.UTF-8" window.x11.display = ":0" application.process.machine_id = "f32cd52a5e334d42ac0de2b76b2fad33" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Client #1441 Driver: PipeWire Owner Module: 2 Properties: pipewire.protocol = "protocol-native" core.name = "pipewire-misha-1365" pipewire.sec.socket = "pipewire-0" pipewire.sec.pid = "1365" pipewire.sec.uid = "1000" pipewire.sec.gid = "1000" module.id = "2" object.id = "97" object.serial = "1441" client.api = "pipewire-pulse" pulse.server.type = "unix" application.process.id = "7274" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.binary = "pactl" application.name = "pactl" application.language = "en_US.UTF-8" window.x11.display = ":0" application.process.machine_id = "f32cd52a5e334d42ac0de2b76b2fad33" application.process.session_id = "2" config.name = "pipewire-pulse.conf" cpu.max-align = "32" default.clock.rate = "48000" default.clock.quantum = "1024" default.clock.min-quantum = "32" default.clock.max-quantum = "2048" default.clock.quantum-limit = "8192" default.clock.quantum-floor = "4" default.video.width = "640" default.video.height = "480" default.video.rate.num = "25" default.video.rate.denom = "1" log.level = "2" clock.power-of-two-quantum = "true" link.max-buffers = "64" mem.warn-mlock = "false" mem.allow-mlock = "true" settings.check-quantum = "false" settings.check-rate = "false" core.version = "1.4.10" pipewire.access = "unrestricted" Sample #0 Name: audio-volume-change Sample Specification: s16le 2ch 48000Hz Channel Map: front-left,front-right Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB balance 0.00 Duration: 0.3s Size: 56.4 KiB Lazy: no Filename: n/a Properties: client.api = "pipewire-pulse" pulse.server.type = "unix" application.name = "libcanberra" application.version = "0.30" application.id = "org.freedesktop.libcanberra" application.process.id = "1325" application.process.user = "misha" application.process.host = "cachyos-misha" application.process.binary = "plasmashell" application.language = "en_US.UTF-8" window.x11.display = ":0" application.process.machine_id = "f32cd52a5e334d42ac0de2b76b2fad33" application.process.session_id = "2" media.role = "alert" event.id = "audio-volume-change" event.description = "Volume Control Feedback Sound" media.name = "audio-volume-change" media.filename = "/usr/share/sounds/ocean/stereo/audio-volume-change.oga" Card #45 Name: alsa_card.pci-0000_01_00.1 Driver: alsa Owner Module: n/a Properties: device.enum.api = "udev" device.api = "alsa" media.class = "Audio/Device" api.alsa.path = "hw:2" api.alsa.card = "2" api.alsa.card.name = "HDA NVidia" api.alsa.card.longname = "HDA NVidia at 0xa1080000 irq 17" device.plugged.usec = "4348229" device.bus_path = "pci-0000:01:00.1" sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2" device.bus = "pci" device.subsystem = "sound" device.vendor.id = "0x10de" device.vendor.name = "NVIDIA Corporation" device.product.id = "0x10f9" device.product.name = "TU106 High Definition Audio Controller" device.name = "alsa_card.pci-0000_01_00.1" device.description = "TU106 High Definition Audio Controller" device.nick = "HDA NVidia" device.icon_name = "audio-card-analog-pci" api.alsa.use-acp = "true" api.acp.auto-profile = "false" api.acp.auto-port = "false" api.dbus.ReserveDevice1.Priority = "-20" api.alsa.split-enable = "true" api.dbus.ReserveDevice1 = "Audio2" spa.object.id = "6" factory.id = "15" client.id = "41" object.id = "45" object.serial = "45" object.path = "alsa:acp:NVidia" alsa.card = "2" alsa.card_name = "HDA NVidia" alsa.long_card_name = "HDA NVidia at 0xa1080000 irq 17" alsa.driver_name = "snd_hda_intel" alsa.mixer_name = "Nvidia GPU 93 HDMI/DP" alsa.components = "HDA:10de0093,1043879b,00100100" alsa.id = "NVidia" device.string = "2" Profiles: off: Off (sinks: 0, sources: 0, priority: 0, available: yes) output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: yes) output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no) output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no) output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5700, available: no) output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no) output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no) output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no) output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no) output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no) output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no) pro-audio: Pro Audio (sinks: 4, sources: 0, priority: 1, available: yes) Active Profile: off Ports: hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 1, available) Properties: port.type = "hdmi" port.availability-group = "Legacy 1" device.icon_name = "video-display" card.profile.port = "0" device.product.name = "Odyssey G40B" iec958.codecs.detected = "[\"PCM\"]" Part of profile(s): output:hdmi-stereo hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 2, not available) Properties: port.type = "hdmi" port.availability-group = "Legacy 2" device.icon_name = "video-display" card.profile.port = "1" Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1 hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, availability group: Legacy 3, not available) Properties: port.type = "hdmi" port.availability-group = "Legacy 3" device.icon_name = "video-display" card.profile.port = "2" Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-surround-extra2, output:hdmi-surround71-extra2 hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, availability group: Legacy 4, not available) Properties: port.type = "hdmi" port.availability-group = "Legacy 4" device.icon_name = "video-display" card.profile.port = "3" Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-surround-extra3, output:hdmi-surround71-extra3 Card #46 Name: alsa_card.usb-Logitech_G_series_G435_Wireless_Gaming_Headset_202105190004-00 Driver: alsa Owner Module: n/a Properties: device.enum.api = "udev" device.api = "alsa" media.class = "Audio/Device" api.alsa.path = "hw:0" api.alsa.card = "0" api.alsa.card.name = "G435 Wireless Gaming Headset" api.alsa.card.longname = "Logitech G series G435 Wireless Gaming Headset at usb-0000:00:14.0-14, full spe" device.plugged.usec = "4537544" device.bus_path = "pci-0000:00:14.0-usb-0:14:1.0" sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/sound/card0" device.bus-id = "usb-Logitech_G_series_G435_Wireless_Gaming_Headset_202105190004-00" device.bus = "usb" device.subsystem = "sound" device.vendor.id = "0x046d" device.vendor.name = "Logitech, Inc." device.product.id = "0x0acb" device.product.name = "G435 Wireless Gaming Headset" device.serial = "Logitech_G_series_G435_Wireless_Gaming_Headset_202105190004" device.form_factor = "headset" device.name = "alsa_card.usb-Logitech_G_series_G435_Wireless_Gaming_Headset_202105190004-00" device.description = "G435 Wireless Gaming Headset" device.nick = "G435 Wireless Gaming Headset" device.icon_name = "audio-headset-analog-usb" api.alsa.use-acp = "true" api.acp.auto-profile = "false" api.acp.auto-port = "false" api.dbus.ReserveDevice1.Priority = "-20" api.alsa.split-enable = "true" api.dbus.ReserveDevice1 = "Audio0" spa.object.id = "2" factory.id = "15" client.id = "41" object.id = "46" object.serial = "46" object.path = "alsa:acp:Headset" alsa.card = "0" alsa.card_name = "G435 Wireless Gaming Headset" alsa.long_card_name = "Logitech G series G435 Wireless Gaming Headset at usb-0000:00:14.0-14, full spe" alsa.driver_name = "snd_usb_audio" alsa.mixer_name = "USB Mixer" alsa.components = "USB046d:0acb" alsa.id = "Headset" device.string = "0" Profiles: off: Off (sinks: 0, sources: 0, priority: 0, available: yes) output:analog-stereo+input:mono-fallback: Analog Stereo Output + Mono Input (sinks: 1, sources: 1, priority: 6501, available: yes) output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: yes) output:iec958-stereo+input:mono-fallback: Digital Stereo (IEC958) Output + Mono Input (sinks: 1, sources: 1, priority: 5501, available: yes) output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes) output:iec958-ac3-surround-51+input:mono-fallback: Digital Surround 5.1 (IEC958/AC3) Output + Mono Input (sinks: 1, sources: 1, priority: 301, available: yes) output:iec958-ac3-surround-51: Digital Surround 5.1 (IEC958/AC3) Output (sinks: 1, sources: 0, priority: 300, available: yes) pro-audio: Pro Audio (sinks: 1, sources: 1, priority: 1, available: yes) input:mono-fallback: Mono Input (sinks: 0, sources: 1, priority: 1, available: yes) Active Profile: output:analog-stereo+input:mono-fallback Ports: analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability unknown) Properties: port.type = "mic" device.icon_name = "audio-input-microphone" card.profile.port = "0" Part of profile(s): input:mono-fallback, output:analog-stereo+input:mono-fallback, output:iec958-stereo+input:mono-fallback, output:iec958-ac3-surround-51+input:mono-fallback analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown) Properties: port.type = "analog" card.profile.port = "1" Part of profile(s): output:analog-stereo, output:analog-stereo+input:mono-fallback iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown) Properties: port.type = "spdif" card.profile.port = "2" Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:mono-fallback Card #47 Name: alsa_card.usb-HP__Inc_HyperX_DuoCast_202011110001-00 Driver: alsa Owner Module: n/a Properties: device.enum.api = "udev" device.api = "alsa" media.class = "Audio/Device" api.alsa.path = "hw:3" api.alsa.card = "3" api.alsa.card.name = "HyperX DuoCast" api.alsa.card.longname = "HP, Inc HyperX DuoCast at usb-0000:00:14.0-6.4, high speed" device.plugged.usec = "4876685" device.bus_path = "pci-0000:00:14.0-usb-0:6.4:1.0" sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.4/1-6.4:1.0/sound/card3" device.bus-id = "usb-HP__Inc_HyperX_DuoCast_202011110001-00" device.bus = "usb" device.subsystem = "sound" device.vendor.id = "0x03f0" device.vendor.name = "HP, Inc" device.product.id = "0x0a8c" device.product.name = "HyperX DuoCast" device.serial = "HP__Inc_HyperX_DuoCast_202011110001" device.name = "alsa_card.usb-HP__Inc_HyperX_DuoCast_202011110001-00" device.description = "HyperX DuoCast" device.nick = "HyperX DuoCast" device.icon_name = "audio-card-analog-usb" api.alsa.use-acp = "true" api.acp.auto-profile = "false" api.acp.auto-port = "false" api.dbus.ReserveDevice1.Priority = "-20" api.alsa.split-enable = "true" api.dbus.ReserveDevice1 = "Audio3" spa.object.id = "8" factory.id = "15" client.id = "41" object.id = "47" object.serial = "47" object.path = "alsa:acp:DuoCast" alsa.card = "3" alsa.card_name = "HyperX DuoCast" alsa.long_card_name = "HP, Inc HyperX DuoCast at usb-0000:00:14.0-6.4, high speed" alsa.driver_name = "snd_usb_audio" alsa.mixer_name = "USB Mixer" alsa.components = "USB03f0:0a8c" alsa.id = "DuoCast" device.string = "3" Profiles: off: Off (sinks: 0, sources: 0, priority: 0, available: yes) output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6565, available: yes) output:analog-stereo+input:iec958-stereo: Analog Stereo Output + Digital Stereo (IEC958) Input (sinks: 1, sources: 1, priority: 6555, available: yes) output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: yes) output:iec958-stereo+input:analog-stereo: Digital Stereo (IEC958) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5565, available: yes) output:iec958-stereo+input:iec958-stereo: Digital Stereo Duplex (IEC958) (sinks: 1, sources: 1, priority: 5555, available: yes) output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes) input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 65, available: yes) input:iec958-stereo: Digital Stereo (IEC958) Input (sinks: 0, sources: 1, priority: 55, available: yes) pro-audio: Pro Audio (sinks: 1, sources: 1, priority: 1, available: yes) Active Profile: output:analog-stereo+input:analog-stereo Ports: analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability unknown) Properties: port.type = "mic" device.icon_name = "audio-input-microphone" card.profile.port = "0" Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:iec958-stereo+input:analog-stereo iec958-stereo-input: Digital Input (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown) Properties: port.type = "spdif" card.profile.port = "1" Part of profile(s): input:iec958-stereo, output:analog-stereo+input:iec958-stereo, output:iec958-stereo+input:iec958-stereo analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown) Properties: port.type = "analog" card.profile.port = "2" Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-stereo+input:iec958-stereo iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown) Properties: port.type = "spdif" card.profile.port = "3" Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:analog-stereo, output:iec958-stereo+input:iec958-stereo Card #48 Name: alsa_card.pci-0000_00_1f.3 Driver: alsa Owner Module: n/a Properties: device.enum.api = "udev" device.api = "alsa" media.class = "Audio/Device" api.alsa.path = "hw:1" api.alsa.card = "1" api.alsa.card.name = "HDA Intel PCH" api.alsa.card.longname = "HDA Intel PCH at 0x4012110000 irq 134" device.plugged.usec = "4354180" device.bus_path = "pci-0000:00:1f.3" sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card1" device.bus = "pci" device.subsystem = "sound" device.vendor.id = "0x8086" device.vendor.name = "Intel Corporation" device.product.id = "0xf0c8" device.form_factor = "internal" device.name = "alsa_card.pci-0000_00_1f.3" device.description = "Built-in Audio" device.nick = "HDA Intel PCH" device.icon_name = "audio-card-analog-pci" api.alsa.use-acp = "true" api.acp.auto-profile = "false" api.acp.auto-port = "false" api.dbus.ReserveDevice1.Priority = "-20" api.alsa.split-enable = "true" api.dbus.ReserveDevice1 = "Audio1" spa.object.id = "4" factory.id = "15" client.id = "41" object.id = "48" object.serial = "48" object.path = "alsa:acp:PCH" alsa.card = "1" alsa.card_name = "HDA Intel PCH" alsa.long_card_name = "HDA Intel PCH at 0x4012110000 irq 134" alsa.driver_name = "snd_hda_intel" alsa.mixer_name = "Realtek ALC897" alsa.components = "HDA:10ec0897,104387fb,00100402" alsa.id = "PCH" device.string = "1" Profiles: off: Off (sinks: 0, sources: 0, priority: 0, available: yes) output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6565, available: yes) output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: yes) input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 65, available: no) pro-audio: Pro Audio (sinks: 1, sources: 2, priority: 1, available: yes) Active Profile: output:analog-stereo+input:analog-stereo Ports: analog-input-front-mic: Front Microphone (type: Mic, priority: 8500, latency offset: 0 usec, availability group: Legacy 1, not available) Properties: port.type = "mic" port.availability-group = "Legacy 1" device.icon_name = "audio-input-microphone" card.profile.port = "0" Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo analog-input-rear-mic: Rear Microphone (type: Mic, priority: 8200, latency offset: 0 usec, availability group: Legacy 2, not available) Properties: port.type = "mic" port.availability-group = "Legacy 2" device.icon_name = "audio-input-microphone" card.profile.port = "1" Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo analog-input-linein: Line In (type: Line, priority: 8100, latency offset: 0 usec, availability group: Legacy 3, not available) Properties: port.type = "line" port.availability-group = "Legacy 3" card.profile.port = "2" Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo analog-output-lineout: Line Out (type: Line, priority: 9000, latency offset: 0 usec, availability group: Legacy 4, available) Properties: port.type = "line" port.availability-group = "Legacy 4" card.profile.port = "3" Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, availability group: Legacy 5, not available) Properties: port.type = "headphones" port.availability-group = "Legacy 5" device.icon_name = "audio-headphones" card.profile.port = "4" Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo ~ ❯
That only captured the 1000 lines or so. Please run `pactl list > pactl.log` and upload that pactl.log file as an attachment to this bug. The link for that should be near the top of this page where existing attachments are listed.
After running the existing output through an LLM, I think the important stuff might actually be found in `wpctl status` rather than pactl list (but upload it anyway, since it was requested in the previous bug).
i have the same issue but weirdly a lot of the times it only happens on a single instance of the widget (i have 2 monitors each one with a panel with its own system tray with the widget)
Created attachment 190746 [details] the issue only happening on one of the instances of the widget This makes me believe its a bug with the widget instance somehow "locking" one of the outputs as always being selected? and not something to do with pulse/pipewire/wireplumber
I've noticed that when I start OBS my volume goes from 100% to 67%. Maybe there are apps that are glitching the Audio Volume Widget?
This has been happening to me quite often recently. I only have one instance of the widget. As a workaround I control the output device through the system settings which works fine but is much less convenient. I haven't noticed a clear pattern however it happens almost always after unplugging USB headphones. It also occurs when I haven't connected USB headphones at all and I simply switch between HDMI and motherboard outputs.
This is happening for me as well on Kubuntu 26.04 w/ Plasma 6.6.3 on Wayland while switching between either a BT speaker and onboard audio or between two BT speakers.
(In reply to Leia from comment #32) > i have the same issue but weirdly a lot of the times it only happens on a > single instance of the widget (i have 2 monitors each one with a panel with > its own system tray with the widget) Same setup here.
This is still happening to me. Operating System: CachyOS Linux KDE Plasma Version: 6.6.5 KDE Frameworks Version: 6.26.0 Qt Version: 6.11.1 Kernel Version: 7.0.10-2-cachyos (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 9700X 8-Core Processor Graphics Processor: NVIDIA GeForce RTX 4070 Ti SUPER
*** Bug 524624 has been marked as a duplicate of this bug. ***
A possibly relevant merge request was started @ https://invent.kde.org/libraries/pulseaudio-qt/-/merge_requests/63
Git commit 1af59b54e598bdc484aab6c5c8496db3a953b371 by Harald Sitter. Committed on 11/09/2026 at 00:01. Pushed by sitter into branch 'master'. server: do not return incorrect default devices somewhat clumsily when we failed to determine the default device we'd instead return the last device in the enumerable. this would then bubble up to become m_defaultSink/Source and incorrectly get presented as default device when in fact it was not. so far so terrible. the far more elusive problem happens when the user has a second device and then tries to switch to that one. now, having two devices it seems like a good guess that this other device is in fact the *real* default device and setting it default will be no-op on the PA server. as such, we never get a change and never re-evaluate the default devices and consequently end up with two devices checked in the UI: one because it was incorrectly labeled default by pulseaudio-qt initially, the other because QML marked it checked and we didn't fix it because the change was no-op on the backend it gets worse. Sink/Source::setDefault() has a guard against manipulating the default state of a device that is already default (as per our Server). since we marked the wrong device default we are effectively making changes to this device no-op on the frontend! so now the user has two entries selected and the states are essentially locked. one cannot change because it is no-oped on the frontend, the other because it is no-oped on the backend. M +1 -1 src/server.cpp M +4 -2 src/server.h https://invent.kde.org/libraries/pulseaudio-qt/-/commit/1af59b54e598bdc484aab6c5c8496db3a953b371
*** Bug 521636 has been marked as a duplicate of this bug. ***
I'm running Fedora 43. After upgrading to pulseaudio-qt 1.9.0, I ran into this issue again, so it seems the bug may still be present somewhere.
Created attachment 196565 [details] screenshot I’d like to add: In the past, when I encountered this bug, it would eventually recover on its own if I just left it alone. However, after upgrading to 1.9.0 and reproducing it again, it has now remained in the incorrect state for two days. Since I still have the affected state available, I’m happy to provide any information if needed.
https://invent.kde.org/plasma/plasma-pa/-/merge_requests/429