You are not logged in.
Hi there,
The volume of the volume change notification is suddenly much higher than anything else. It does vary together with the volume itself when adjusting, but it's much higher than any other sound.
In pavucontrol:
1. changing the volume of system sounds has no effect on this discrepancy;
2. in the Playback tab, when changing the volume via volume keys, libcanberra shows up briefly always with a volume level of 100%.
Any way I can alter libcanberra's 100% to, say, 50%? Even better, any way I can have libcanberra's volume level available in pavucontrol for adjusting?
Thanks in advance.
Last edited by mdcclxv (2025-07-18 19:42:52)
Offline
Hi,
this showing up only briefly is annoying, but when using Pipewire with Wireplumber, you can override it via the state config. Look for ~/.local/state/wireplumber/stream-properties or wherever your $XDG_STATE_HOME points to.
There, you can adjust the volume of the "alert" media stream. I don't remember why, but "channelVolumes" is the correct one. For my stereo setup, this works:
Output/Audio:media.role:Notification={"volume":1.000000, "channelMap":["FL", "FR"], "mute":false, "channelVolumes":[0.125000, 0.125000]}
Output/Audio:media.role:alert={"volume":1.000000, "channelMap":["FL", "FR"], "mute":false, "channelVolumes":[0.250000, 0.250000]}The "Notification" line should be controlled by the "System Sounds" volume.
0.125 is 50% or -18dB
0.25 is 63% or -12dB
Not sure what log-like scale WirePlumber uses here for its state config.
Offline
Hi,
this showing up only briefly is annoying, but when using Pipewire with Wireplumber, you can override it via the state config. Look for ~/.local/state/wireplumber/stream-properties or wherever your $XDG_STATE_HOME points to.
There, you can adjust the volume of the "alert" media stream. I don't remember why, but "channelVolumes" is the correct one. For my stereo setup, this works:
Output/Audio:media.role:Notification={"volume":1.000000, "channelMap":["FL", "FR"], "mute":false, "channelVolumes":[0.125000, 0.125000]} Output/Audio:media.role:alert={"volume":1.000000, "channelMap":["FL", "FR"], "mute":false, "channelVolumes":[0.250000, 0.250000]}The "Notification" line should be controlled by the "System Sounds" volume.
0.125 is 50% or -18dB
0.25 is 63% or -12dB
Not sure what log-like scale WirePlumber uses here for its state config.
Thanks for your answer. Unfortunately it doesn't work, the content of that file is being overwritten every time I adjust the volume or log off. Kind of makes sense given its location: ~/.local/state ... it's a state file, not a config file. Am I missing something?
Offline
Yeah. You probably need to either quickly restart your wireplumber user service:
systemctl --user restart wireplumber.serviceMaybe even pipewire and pipewire-pulse. As there are sometimes interactions between the actual audio server and its session manager that can brake.
Or edit this file from a TTY before login into the desktop session. This is similar to what I am doing. SystemD tmpfiles resets this file for me at every boot.
Offline
Or edit this file from a TTY before login into the desktop session. This is similar to what I am doing. SystemD tmpfiles resets this file for me at every boot.
You mean you are editing this file at every boot?
Last edited by mdcclxv (2025-07-02 15:51:24)
Offline
Just change the tmpfile
https://wiki.archlinux.org/title/System … rary_files - though I doubt this is actually where this is coming from.
So first off all
The volume of the volume change notification is suddenly much higher than anything else.
What desktop environment?
Because
the content of that file is being overwritten every time I adjust the volume or log off. Kind of makes sense
Yes, makes - what doesn't make sense is that it's apparently overwritten with the wrong values.
Sanity check
systemctl --user status pipewire wireplumber pulseaudioLast resort you could immuate the state file - then nothing gets written there evermore - not the greatest solution in the world, though.
Offline
Just change the tmpfile
https://wiki.archlinux.org/title/System … rary_files - though I doubt this is actually where this is coming from.
You totally lost me on this. No idea which is "the tmpfile" that needs to be changed. /etc/tmpfiles.d/ is empty and /usr/lib/tmpfiles.d/ contains no file that would resemble stream-properties.
.
What desktop environment?
KDE with Plasma 6.4
.
Because
the content of that file is being overwritten every time I adjust the volume or log off. Kind of makes sense
Yes, makes - what doesn't make sense is that it's apparently overwritten with the wrong values.
Wrong values that are coming from where? Those would be the source settings that need to be changed.
.
Sanity check
systemctl --user status pipewire wireplumber pulseaudio
Unit pulseaudio.service could not be found.
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: enabled)
Active: active (running) since Wed 2025-07-02 14:47:45 EEST; 10h ago
Invocation: 14889102a68d4049aba5c223e8701b07
TriggeredBy: ● pipewire.socket
Main PID: 1390 (pipewire)
Tasks: 3 (limit: 96241)
Memory: 10M (peak: 11.3M)
CPU: 2.285s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
└─1390 /usr/bin/pipewire
Jul 02 14:47:45 amd systemd[1147]: Started PipeWire Multimedia Service.
● wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Active: active (running) since Wed 2025-07-02 14:47:45 EEST; 10h ago
Invocation: e917ea20d39f44308237aca4008d9990
Main PID: 1392 (wireplumber)
Tasks: 6 (limit: 96241)
Memory: 15.3M (peak: 17.2M)
CPU: 2.720s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
└─1392 /usr/bin/wireplumber
Jul 02 14:47:45 amd systemd[1147]: Started Multimedia Service Session Manager.
Jul 02 14:47:45 amd wireplumber[1392]: wp-device: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
Jul 02 14:47:45 amd wireplumber[1392]: s-monitors-libcamera: PipeWire's libcamera SPA plugin is missing or broken. Some camera types may not be supported.
Jul 02 14:50:04 amd wireplumber[1392]: spa.bluez5.native: RFCOMM receive command but modem not available: AT+NREC=0
Jul 02 14:50:04 amd wireplumber[1392]: spa.bluez5.native: RFCOMM receive command but modem not available: AT+BTRH?.
Last resort you could immuate the state file - then nothing gets written there evermore - not the greatest solution in the world, though.
Not sure what you mean by immutate(?). I tried chmod 444 on the file, it got deleted and recreated back with the original 644.
Offline
No idea which is "the tmpfile" that needs to be changed.
I doubt this is actually where this is coming from.
Wrong values that are coming from where?
KDE with Plasma 6.4
You should™ be able to configure the notification volume there independently somewhere in systemsettings?
Unit pulseaudio.service could not be found
Good, sanity check passed.
Not sure what you mean by immutate
"immute", me, typing at 40°C …
https://man.archlinux.org/man/chattr.1#i - but as pointed out: you don't want to do this.
Offline
You should™ be able to configure the notification volume there independently somewhere in systemsettings?
Nope, no such option, at least not with Plasma 6. That's why I was asking about libcanberra, it seemed to me that would do the trick.
So, in the end, looks like there's nothing I can do about this issue. Highly upsetting. I'll be ending up doing what I hated most about Windows: if something broke real bad, re-install the OS.
Offline
And did that fix it or gave you control over individual volumes?
https://bbs.archlinux.org/viewtopic.php?id=300060 - but that's old?
Offline
Not sure what you mean by "that". Haven't reinstalled the system yet. I'm working from home, so this is also my job desktop, re-installing it is a couple of days work. I would really prefer anything but.
My System Sounds look just fine, except there's no option to adjust the volume for libcanberra, which is responsible for the volume notification sound. As far as I can tell, libcanberra does nothing else, no other sound events show up that brief volume in pavucontrol. If I'm right, then it's a huge design flaw, having a dedicated library for only playing one single sound and, on top of that, not being accessible for configuration.
Offline
I was under the impression you had re-installed already and that had somehow fixed it.
Seems KDE6 actually switched to canberra which had caused https://bugs.kde.org/show_bug.cgi?id=482943 what's supposed to be fixed.
Do you have https://archlinux.org/packages/extra/x86_64/plasma-pa/ installed?
Offline
A bit off topic, but I think the System Sounds has become a huge mess in Plasma 6.
I just realized I that I'm not getting sounds when plugging in/out a USB device, although the event sound is enabled in System Notifications settings and the sound plays just fine from there. Not getting sounds either when I'm being prompted to save my work in LibreOffice and SublimeText. I do get the sound when prompted by KolourPaint. The sound being played by KolourPaint is not even present in System Sounds list, comes in via Themes.
Awesome disaster!
Offline
Do you have https://archlinux.org/packages/extra/x86_64/plasma-pa/ installed?
Didn't have plasma-pa, I've installed it, not sure where I should find it. Nothing has changed in System Sounds, looks the same, the sound played by KolourPaint still missing there.
Last edited by mdcclxv (2025-07-18 16:52:22)
Offline
Seems KDE6 actually switched to canberra which had caused https://bugs.kde.org/show_bug.cgi?id=482943 what's supposed to be fixed.
I do have the Notification Sounds slider in System Settings->Sound and in pavucontrol.
Last edited by mdcclxv (2025-07-18 16:51:36)
Offline
Didn't have plasma-pa, I've installed it, not sure where I should find it. Nothing has changed in System Sounds, looks the same, the sound played by KolourPaint still missing there.
My bad, the sound played by KolourPaint's warning has appeared, it's called Warning Message. Still not getting played by LibreOffice/SublimeText.
Offline
I do have the Notification Sounds slider in System Settings->Sound and in pavucontrol.
And does this work to control the notification sounds?
Notably does it control ~/.local/state/wireplumber/stream-properties ?
Still not getting played by LibreOffice/SublimeText.
Those are not KDE applications and I don't know how this relates to the original problem either.
What's not getting played by LO or sublime when?
At best look out for the gtk canberrra plugin being loaded (or errors itr)
Offline
And does this work to control the notification sounds?
Notably does it control ~/.local/state/wireplumber/stream-properties ?
Yes, it does, I've deleted the wireplumber folder, lost all my volume levels, set them back and the folder&file were recreated.
What's not getting played by LO or sublime when?
The notification sound of the warning message box that pops up when I try closing the app and have unsaved work. But ....
At best look out for the gtk canberrra plugin being loaded (or errors itr)
You saved me again on this, the sounds were actually disabled in GTK config files. Should've checked those in the first place, but I remember very clearly enabling GTK sounds a good while ago. Seems like those setting are getting reset every now and then. For others reading this: Libcanberra, section no 2.
So, I ended up disabling the volume change sound feedback. A small tradeoff for not re-installing the OS.
Thanks a lot for your time and effort. I'll mark this ticket as SOLVED SORT OF.
Last edited by mdcclxv (2025-07-18 19:43:03)
Offline
I'm answering this from the point of view of Arch Linux with KDE Plasma 6.4, assuming that you want System Sounds as set in pavucontrol-qt to be reduced. My issue was that, occasionally, System Sounds would be reset by some unknown agent to 100%. This solution resets it upon boot to a lower volume. And, yes, I understand that this is not the OP's original issue, but it's certainly closely related, no?
The difficulty, as noted in the comments above, is that there is no apparent configuration file to set the System Sounds volume seen in the pavucontrol-qt app. Instead, this solution modifies the state of the device as found in ~/.local/state/wireplumber/stream-properties, modifying stream-properties upon boot but before WirePlumber starts, using a systemd unit with "Before=wireplumber.service". You can still change the System Sounds volume using pavucontrol-qt if you really want, but it will reset upon the next boot.
This means:
▪ The volume line is injected before WirePlumber ever looks at the file.
▪ WirePlumber then sees the correct property at stream creation.
▪ No restarts, no fragility.
Updated files: a script and a systemd unit
Here' s the script: ~/.local/bin/enforce_notification_volume.sh
#!/bin/bash
PROP_FILE="$HOME/.local/state/wireplumber/stream-properties"
TARGET_STREAM='Output/Audio:media.role:Notification'
TARGET_JSON='{"mute":false,"channelVolumes":[0.015625,0.015625],"channelMap":["FL","FR"],"volume":1.000000}'
# note that this sets the System Sounds volume to 25%, my personal preference
mkdir -p "$(dirname "$PROP_FILE")"
# If the file exists and already contains the correct line, do nothing
if [[ -f "$PROP_FILE" ]] && grep -qF "$TARGET_STREAM=$TARGET_JSON" "$PROP_FILE"; then
exit 0
fi
# Remove any old line for the Notification stream
TMP=$(mktemp)
[[ -f "$PROP_FILE" ]] && grep -vF "$TARGET_STREAM=" "$PROP_FILE" > "$TMP" || true
# Append the correct line
echo "$TARGET_STREAM=$TARGET_JSON" >> "$TMP"
mv "$TMP" "$PROP_FILE"+++++
Here's the systemd unit: ~/.config/systemd/user/enforce-notification-volume.service
[Unit]
Description=Inject Notification volume limit before WirePlumber starts
Before=wireplumber.service
[Service]
Type=oneshot
ExecStart=%h/.local/bin/enforce_notification_volume.sh
[Install]
WantedBy=default.target+++++
After setting up these two files, either reboot or enable/reload as follows:
systemctl --user daemon-reload
systemctl --user enable enforce-notification-volume.serviceNow, to be honest, I think I've seen a few cases since setting this up where it seemed like the System Sounds volume was again at 100% -- but I'm not completely sure why that happened (or if it really happened at all). If you actually do implement this, please let me know if you see any such anomalous behavior.
[15Aug25] I finally saw a case where the machine booted and the logs show that the systemd unit and script described above successfully ran, but an hour later, with no human interaction to the PC, the System Sounds volume was 100%. I don't know what caused the volume to reset, but I'm currently testing the following mod to prevent this by stopping wireplumber from restoring the System Sounds volume level:
Create ~/.config/wireplumber/wireplumber.conf.d/10-disable-sys-sounds-volume.toml:
[stream.restore]
enable = true
[[stream.restore.excluded]]
media.role = "Notification"
restore-volume = falseThen “systemctl --user restart wireplumber” or just reboot. Of course, if something else is resetting the System Sounds volume level, then this approach won't help. I'll see what happens as time goes on....
Last edited by SFdrifter (2025-08-16 20:16:36)
Offline
Please use [code][/code] tags and just immute that file.
Offline