Omarchy: Fix HDMI First-Notification Clipping in mako
If your notifications use sound but the first one after idle is silent (or cut off), while the second and third are fine, this is usually not a mako bug.
In most setups, it is HDMI audio sink auto-suspend.
Why it happens
With PipeWire + WirePlumber, idle outputs can be suspended to save power. HDMI sinks are especially noticeable here.
When a short notification sound plays after idle:
- The sink wakes up.
- The stream starts immediately.
- The beginning of the sound can be clipped during wake-up.
That is why repeated notifications a few seconds apart sound normal: the sink is already awake.
Confirm this is your issue
Check your default sink:
pactl info | grep "Default Sink"
List sinks:
wpctl status
If your default sink is HDMI and first-hit clipping matches your symptoms, disable suspend for that sink.
Fix: disable suspend timeout for your HDMI sink
Create a WirePlumber override:
mkdir -p ~/.config/wireplumber/wireplumber.conf.d
cat > ~/.config/wireplumber/wireplumber.conf.d/51-disable-hdmi-suspend.conf <<'CONF'
monitor.alsa.rules = [
{
matches = [
{
node.name = "alsa_output.pci-0000_01_00.1.hdmi-stereo"
}
]
actions = {
update-props = {
session.suspend-timeout-seconds = 0
}
}
}
]
CONF
Restart user audio services:
systemctl --user restart wireplumber pipewire pipewire-pulse
Verify:
wpctl inspect @DEFAULT_AUDIO_SINK@ | grep session.suspend-timeout-seconds
Expected:
session.suspend-timeout-seconds = "0"
Notes
- Replace
node.namewith your actual sink name if different. - You can get exact node names from
wpctl inspect <sink-id>. - If you still hear clipping, verify the fix applied to the active default sink and confirm
session.suspend-timeout-seconds = "0"on that sink.
For the base notification-sound setup in mako, see:
comments