You are not logged in.

#1 2026-05-13 06:17:37

Surtrz
Member
Registered: 2026-04-23
Posts: 48

[SOLVED] limit on volume pavucontrol

There a is a limit on my volume 105% in arch linux hyprland.I noticed it when I switched to lua since hyprland version 0.55.0 is in lua.I use pavucontrol.This problem does not happen in hyprland.conf version 0.54.0 and the volume has no limit. the recent chnages I made to my waybar is downloading waybar-git.But I still dont get why the volume is limited

hyprland.lua volume binds

hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { repeat_key = true, locked = true })
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { repeat_key = true, locked = true })
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"), { repeat_key = true, locked = true })

Last edited by Surtrz (2026-05-14 03:00:16)

Offline

#2 2026-05-13 07:24:09

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,647

Re: [SOLVED] limit on volume pavucontrol

I use pavucontrol.

The hyprland.lua says wpctl…

Any hyprland version update will not cause changes in wpctl (or pavucontrol), you've either also updated wireplumber (or pavucontrol) or are talking about some limitation of the indicator widget.

What are the actual symptoms *exactly* (notably something you hear or something you see) and can you overdrive the volume using wpctl (or pavucontrol) manually?

Offline

#3 2026-05-13 07:43:30

Surtrz
Member
Registered: 2026-04-23
Posts: 48

Re: [SOLVED] limit on volume pavucontrol

this can increase volume above 105% to any and it has no limit

wpctl set-volume @DEFAULT_SINK@ 1.20

the keybinds can only set max volume to

wpctl set-volume @DEFAULT_SINK@ 1.05

it looks like I press fn+f3 till it reaches 105%
then it like glitches and shows 115% then I keep increasing the volume it jumps back to 100%

Offline

#4 2026-05-13 07:55:21

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,647

Re: [SOLVED] limit on volume pavucontrol

And can manual

wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+

?

Offline

#5 2026-05-13 08:15:16

Surtrz
Member
Registered: 2026-04-23
Posts: 48

Re: [SOLVED] limit on volume pavucontrol

yes
it increases volume by 5%

Offline

#6 2026-05-13 12:32:15

tekstryder
Member
Registered: 2013-02-14
Posts: 521

Re: [SOLVED] limit on volume pavucontrol

Offline

#7 2026-05-13 14:30:28

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,647

Re: [SOLVED] limit on volume pavucontrol

a) the manual "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" allows you to increase the volume to 130% ?
b) do you raise the volume with isolated key strikes or by holding the key on autorepeat?
c) does this also occur when using some random other shortcut, eg. win+up or win+n?
d) please post your entire hyprland config

Offline

#8 2026-05-13 16:38:29

Surtrz
Member
Registered: 2026-04-23
Posts: 48

Re: [SOLVED] limit on volume pavucontrol

a) yes
b) autorepeat
c) this does not happen when I use win/mainmod+N.But the the key which does not work in hyprland.lua works in hyprland.conf.
hyprland.conf is the previous syntax of hyprland window manager in hyprlang.Now the language is lua
d) I can post my hyprland.lua which has my entire currently used keybinds.The entire config is over 370 lines which has nothing to do with binds executing commands.

---------------------
---- KEYBINDINGS ----
---------------------

local mainMod = "SUPER" -- Sets "Windows" key as main modifier

-- Example binds, see [url]https://wiki.hypr.land/Configuring/Basics/Binds/[/url] for more
hl.bind(mainMod .. " + Q", hl.dsp.exec_cmd(terminal))
local closeWindowBind = hl.bind(mainMod .. " + C", hl.dsp.window.close())
hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch 'hl.dsp.exit()'"))
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager))
hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
hl.bind(mainMod .. " + P", hl.dsp.window.pseudo())
hl.bind(mainMod .. " + J", hl.dsp.layout("togglesplit"))    -- dwindle only
hl.bind(mainMod .. " + A", hl.dsp.exec_cmd("sh -c 'pkill waybar; waybar'"))
hl.bind(mainMod .. " + W", hl.dsp.exec_cmd("~/.config/hypr/scripts/wallselect.sh"))

-- Move focus with mainMod + arrow keys
hl.bind(mainMod .. " + left",  hl.dsp.focus({ direction = "left" }))
hl.bind(mainMod .. " + right", hl.dsp.focus({ direction = "right" }))
hl.bind(mainMod .. " + up",    hl.dsp.focus({ direction = "up" }))
hl.bind(mainMod .. " + down",  hl.dsp.focus({ direction = "down" }))

-- Switch workspaces with mainMod + [0-9]
-- Move active window to a workspace with mainMod + SHIFT + [0-9]
for i = 1, 10 do
    local key = i % 10 -- 10 maps to key 0
    hl.bind(mainMod .. " + " .. key,             hl.dsp.focus({ workspace = i}))
    hl.bind(mainMod .. " + SHIFT + " .. key,     hl.dsp.window.move({ workspace = i }))
end

-- Example special workspace (scratchpad)
hl.bind(mainMod .. " + S",         hl.dsp.workspace.toggle_special("magic"))
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.window.move({ workspace = "special:magic" }))

-- Scroll through existing workspaces with mainMod + scroll
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
hl.bind(mainMod .. " + mouse_up",   hl.dsp.focus({ workspace = "e-1" }))

-- Move/resize windows with mainMod + LMB/RMB and dragging
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(),   { mouse = true })
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })

-- Laptop multimedia keys for volume and LCD brightness
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"),      { locked = true, repeating = true })
hl.bind("XF86AudioMute",        hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"),     { locked = true, repeating = true })
hl.bind("XF86AudioMicMute",     hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"),   { locked = true, repeating = true })
hl.bind("XF86MonBrightnessUp",  hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"),                  { locked = true, repeating = true })
hl.bind("XF86MonBrightnessDown",hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"),                  { locked = true, repeating = true })

-- Requires playerctl
hl.bind("XF86AudioNext",  hl.dsp.exec_cmd("playerctl next"),       { locked = true })
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
hl.bind("XF86AudioPlay",  hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
hl.bind("XF86AudioPrev",  hl.dsp.exec_cmd("playerctl previous"),   { locked = true })


-- Screenshot and App Launcher
hl.bind("Print", hl.dsp.exec_cmd('grim -g "$(slurp)" - | satty --filename -'))
hl.bind("End", hl.dsp.exec_cmd("rofi -show drun"))

-- Brightness control
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl set 5%-"), { repeat_key = true, locked = true })
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl set 5%+"), { repeat_key = true, locked = true })

-- Volume control
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { repeat_key = true, locked = true })
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { repeat_key = true, locked = true })
hl.bind(mainMod .. " + N", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"), { repeat_key = true, locked = true })

Offline

#9 2026-05-13 17:20:14

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,194

Re: [SOLVED] limit on volume pavucontrol

wpctl has an -l option to set the upper bound you're currently not using, what happens if you pass that as an additional parameter? I don't really see why it would be hyprlands dispatchers job to limit this and I'd find an inference based on the actual button used very strange.

Offline

#10 2026-05-13 18:17:35

Surtrz
Member
Registered: 2026-04-23
Posts: 48

Re: [SOLVED] limit on volume pavucontrol

I already tried -l and it did not work

Last edited by Surtrz (2026-05-13 18:18:21)

Offline

#11 2026-05-13 20:02:07

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,647

Re: [SOLVED] limit on volume pavucontrol

The entire config is over 370 lines

I'll use my big-boy glasses, you can use the 1st link below to upload the file. But first look at this:

hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"),      { locked = true, repeating = true })
hl.bind("XF86AudioMute",        hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"),     { locked = true, repeating = true })
hl.bind("XF86AudioMicMute",     hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"),   { locked = true, repeating = true })
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { repeat_key = true, locked = true })
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { repeat_key = true, locked = true })

1. you're binding XF86AudioLowerVolume twice
2. unlike your OP says you ARE limiting the volume

hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })

specifically to "1" which is 100%

lmg, you asked an LLM to generate the config for you? Or was it provided by the youtuber your likeshareandsubscribed?
https://bbs.archlinux.org/viewtopic.php?id=313520
This is why.

Offline

#12 2026-05-14 02:56:46

Surtrz
Member
Registered: 2026-04-23
Posts: 48

Re: [SOLVED] limit on volume pavucontrol

the latest line I add will be the current settings for hyprland even if I use XF86AudioLowerVolume twice.
I did not use LLM or AI I did it by myself just hours after update because there were no youtube vedeos for this.There no hyprland youtubers which shows twinkering with volume
I was able to fix it by changing the line from this

hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })

to this

hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 3 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })

I did not know what -l does.Now I can use my kebinds properly.

Offline

Board footer

Powered by FluxBB