Bug 473013 - Cannot increase the volume of notification sounds after interacting with slider
Summary: Cannot increase the volume of notification sounds after interacting with slider
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_pulseaudio (show other bugs)
Version: master
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: qt6
: 451658 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-08-04 20:08 UTC by guimarcalsilva
Modified: 2024-02-19 09:23 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description guimarcalsilva 2023-08-04 20:08:59 UTC
SUMMARY
By default on the Audio KCM, it shows Notification Sounds are at 0% even if system sounds are still played. The sounds will play normally as long as you don't interact with the slider or click on the mute button, however, if you do, the volume will be set to 0 forever and cannot be changed again. The terminal says the following when running with kcmshell6:

qrc:/kcm/kcm_pulseaudio/StreamListItem.qml:90:17: QML MuteButton: Binding loop detected for property "muted"

STEPS TO REPRODUCE
1. Go to the audio KCM and mute or try to drag the slider of Notification Sounds under Playback Streams
2. Try to increase the volume again
3. Trigger some system sound, by changing volume in the widget or by not saving a file in Kate.

OBSERVED RESULT
Audio is muted and cannot be unmuted.

EXPECTED RESULT
The volume slider should work.

SOFTWARE/OS VERSIONS
KDE Plasma: 5.27.90
KDE Frameworks Version: 5.240.0
Qt Version: 6.6.0
Kernel Version: 6.2.0-26-generic
Graphics Platform: X11

ADDITIONAL INFORMATION
Tested on a VM
Comment 1 Paolo Zamponi 2023-08-05 20:05:01 UTC
Can confirm: it occours on my "normal" Neon Unstable as well. 

I found this workaround:
- install pavucontrol;
- toggle notificatins volume on from there. 

After that you'll be able to use this feature from KCM as aspected: notifications volume can be muted or unmuted, and the slider can now be dragged.
Comment 2 guimarcalsilva 2023-08-07 21:03:39 UTC
Hey Nate! I saw you changed the version from master to 5.27.7, however this bug is not present on 5.27.7 for me, only on Plasma 6. I don't know what Paolo meant with "normal" Neon Unstable, however, I'm pretty sure the Unstable version is currently only based on Plasma 6.

I did what Paolo said with pavucontrol and indeed I could increase the volume, however, the Audio KCM on Plasma 6 is now stuck at 100%, which is completely different from Plasma 5.27 where it works normally.

I believe this to be exclusive to Plasma 6 and Qt6. On Plasma 5 it doesn't show the same "Binding loop detected for property "muted"" when running on the terminal, however, on Plasma 6 the error is present.
Comment 3 Nate Graham 2023-08-07 21:04:28 UTC
Oh ok.
Comment 4 IFtiger 2023-12-20 09:06:46 UTC
ye, im use opensuse tumbleweed and open unstable branch, Notification sounds always keep 0% and disabled。
Comment 5 Bug Janitor Service 2024-01-22 02:58:43 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-pa/-/merge_requests/231
Comment 6 fanzhuyifan 2024-01-23 03:44:07 UTC
For pipewire users this might be related to pipewire-pulse not supporting subscribing to stream restore changes yet: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3805
Comment 7 fanzhuyifan 2024-01-23 21:14:32 UTC
Git commit 450439c776d53b022dc20fff6080b63aa4312386 by Yifan Zhu.
Committed on 22/01/2024 at 19:16.
Pushed by fanzhuyifan into branch 'master'.

kcm: adjust to changes in VolumeSlider

Adjust StreamListItem to changes in
fec28d12c086a13038f6c40f10d3c25bb7517660.

Previously cannot interact with slider for playback streams.

M  +0    -6    src/kcm/ui/StreamListItem.qml

https://invent.kde.org/plasma/plasma-pa/-/commit/450439c776d53b022dc20fff6080b63aa4312386
Comment 8 fanzhuyifan 2024-01-23 21:14:41 UTC
Git commit 881d852f3d6bc9a608897e85f103bdcca9080abe by Yifan Zhu.
Committed on 23/01/2024 at 18:51.
Pushed by fanzhuyifan into branch 'master'.

streamrestore: workaround for notification volume

stream_restore_subscribe has not been implemented on pipewire yet.
Since streamrestore relies on the call back to update the volume slider
and mute button status, users are unable to interact with those.
This workaround uses the cached values instead.

Revert when fix is released for
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3805

M  +16   -2    src/streamrestore.cpp

https://invent.kde.org/plasma/plasma-pa/-/commit/881d852f3d6bc9a608897e85f103bdcca9080abe
Comment 9 Bug Janitor Service 2024-01-23 21:36:23 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-pa/-/merge_requests/233
Comment 10 fanzhuyifan 2024-01-23 21:37:31 UTC
Git commit 7f3412b429ef4820e700af685fae69758f84a642 by Yifan Zhu.
Committed on 23/01/2024 at 22:34.
Pushed by fanzhuyifan into branch 'Plasma/6.0'.

kcm: adjust to changes in VolumeSlider

Adjust StreamListItem to changes in
fec28d12c086a13038f6c40f10d3c25bb7517660.

Previously cannot interact with slider for playback streams.
(cherry picked from commit 450439c776d53b022dc20fff6080b63aa4312386)

M  +0    -6    src/kcm/ui/StreamListItem.qml

https://invent.kde.org/plasma/plasma-pa/-/commit/7f3412b429ef4820e700af685fae69758f84a642
Comment 11 fanzhuyifan 2024-01-23 21:37:40 UTC
Git commit b1b78c466906df37aafb5231cd62addea89cbf75 by Yifan Zhu.
Committed on 23/01/2024 at 22:34.
Pushed by fanzhuyifan into branch 'Plasma/6.0'.

streamrestore: workaround for notification volume

stream_restore_subscribe has not been implemented on pipewire yet.
Since streamrestore relies on the call back to update the volume slider
and mute button status, users are unable to interact with those.
This workaround uses the cached values instead.

Revert when fix is released for
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3805
(cherry picked from commit 881d852f3d6bc9a608897e85f103bdcca9080abe)

M  +16   -2    src/streamrestore.cpp

https://invent.kde.org/plasma/plasma-pa/-/commit/b1b78c466906df37aafb5231cd62addea89cbf75
Comment 12 fanzhuyifan 2024-01-24 02:06:57 UTC
*** Bug 451658 has been marked as a duplicate of this bug. ***
Comment 13 Harald Sitter 2024-02-19 09:23:03 UTC
Git commit 021b91db3a5fa99f455ce12c83ce502fc5b4e5f4 by Harald Sitter, on behalf of Yifan Zhu.
Committed on 19/02/2024 at 09:16.
Pushed by sitter into branch 'master'.

streamrestore: workaround for notification volume

stream_restore_subscribe has not been implemented on pipewire yet.
Since streamrestore relies on the call back to update the volume slider
and mute button status, users are unable to interact with those.
This workaround uses the cached values instead.

Revert when fix is released for
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3805
(cherry picked from commit 881d852f3d6bc9a608897e85f103bdcca9080abe)

M  +16   -2    src/streamrestore.cpp

https://invent.kde.org/libraries/pulseaudio-qt/-/commit/021b91db3a5fa99f455ce12c83ce502fc5b4e5f4