You are not logged in.
Hello everyone!
I am having a persistent issue with speaker sound on my laptop. My laptop is an ASUS ROG Strix G532LV, using the sound card Realtek ALC294, which from what I see on this forum and others, is known to have some issues on Linux. Initially my problem was that there was no speaker output whatsoever, but this was fixed by adding "options snd-hda-intel model=asus-zenbook" in /etc/modprobe.d/alsa-base.conf.
This change made sound work but it was apparently stuck at either max level or 0. Then I realised that the master volume was not actually controlling the sound (it would mute it). In alsamixer, it is the PCM volume that controls the actual sound. Do you know if there is any way I can get the Master volume to be tied to PCM so when I adjust Master PCM gets adjusted as well? Or is there any other solution that would work better?
Thank you!
Last edited by mihnea27 (2025-07-08 15:20:47)
Offline
forgot pipewire. make your own quick & dirty workaround:
write two script; one for volume up, one for volume down.
assing that scripts to keyboard volume up and volume down.
or any other unassigned keys.
reference: "amixer --help"
Last edited by unixman (2025-07-07 20:21:21)
Offline
Yeah that workaround works for keyboard control, but the KDE widgets still control Master.
Offline
Pipewire adjusts an aggregation of all distinct mixer controls, if master is only a toggle and doesn't properly react to that pipewire doesn't inherently "know" that.
The simplest to fix that is to ignore the HW mixer exists at all and let software volumes dictate what you need to do. You can create a config file in /etc/wireplumber/wireplumber.conf.d/10-softvol.conf (or so)
monitor.alsa.rules = [
{
matches = [
{
device.name = "~alsa_card.*"
}
]
actions = {
update-props = {
api.alsa.soft-mixer = true
}
}
}
and restart wireplumber
systemctl --user restart wireplumber
you might want to make the device.name match more granular by using the exact name as listed by 'pactl list cards' or so
Last edited by V1del (2025-07-08 09:19:24)
Offline
Thank you very much! This fixed my issue!
Pipewire adjusts an aggregation of all distinct mixer controls, if master is only a toggle and doesn't properly react to that pipewire doesn't inherently "know" that.
The simplest to fix that is to ignore the HW mixer exists at all and let software volumes dictate what you need to do. You can create a config file in /etc/wireplumber/wireplumber.conf.d/10-softvol.conf (or so)
monitor.alsa.rules = [ { matches = [ { device.name = "~alsa_card.*" } ] actions = { update-props = { api.alsa.soft-mixer = true } } }
and restart wireplumber
systemctl --user restart wireplumber
you might want to make the device.name match more granular by using the exact name as listed by 'pactl list cards' or so
Offline