mirror of
https://github.com/MonitorControl/MonitorControl.git
synced 2026-05-15 14:15:55 -06:00
[GH-ISSUE #1807] Add Alternate Volume curves #995
Labels
No labels
Status: Abandoned
arm64
beta
beta
bug
done
duplicate
enhancement
feedback needed from reporter
in progress
invalid
investigating
known Issue
monitor Issue
pull-request
translation
unable to reproduce
unreleased
x86
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/MonitorControl#995
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @yaksher on GitHub (Sep 30, 2025).
Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/1807
Before opening the issue, have you...?
Is your feature request related to a problem? Please describe
I have a problem with volume control on my monitor where the bottom 3rd of volume control is inaudibly quite and the top third is far too loud. The same monitor with the same speakers behaves how I'd like on Windows.
I believe the issue is that Windows controls volume linearly and the monitor is adding the logarithm to the amplitude before feeding it into the speakers which makes volume change in decibels (log amplitude) rather than amplitude while MonitorControl is applying its own logarithm to volume and then the monitor adds a logarithm so the amplitude ends up being the double logarithm of volume slider.
(Or maybe I got something backwards somewhere in there, but the point remains: I think MonitorControl is either applying a logarithm where it shouldn't be or not applying a logarithm where it should be or maybe it even needs to be applying an exponential somewhere. I'm unsure exactly.)
Describe the solution you'd like
A per-monitor toggle to add or disable (depending on which is the current default) logarithmic scaling of amplitude as a function of the volume slider setting to account for internal processing doing so.
Describe alternatives you've considered
An alternative would be automatic detection of the behavior of the monitor, but I don't know if this is realistic/possible and seems like a lot more work than a user-facing toggle. Another alternative is programmable volume curves, but this seems like an excessive amount of customization for an interface where there is more or less a correct answer (the final amplitude should respond to the volume control as a fixed number of decibels per step; the question is just how to make that happen accounting for any post-processing the monitor itself (or even speakers, but I think in this case the speakers are on an AUX port, which means analog audio which should be a linear response)).
Anything else?
For context:
Software: MonitorControl version 4.3.3 on MacOS Tahoe 26.0 (behavior was the same on earlier versions of both MonitorControl and MacOS)
Hardware: M3 Max Macbook Pro, Samsung Odyssey G7 monitor connected via HDMI with hardware DDC enabled, and Creative T100 2.0 speakers connected via AUX to the monitor.
@waydabber commented on GitHub (Sep 30, 2025):
You can use BetterDisplay and change the volume curve/skew to fix this or change the max DDC volume under the display's Settings tab under DDC controls configuration. Windows does not use DDC at all to change the volume, it's just using a software mixer to change the digital output audio level.