[GH-ISSUE #1043] Dell U3419W brightness not always reaching 0 or 100% #624

Closed
opened 2026-05-05 06:23:30 -06:00 by gitea-mirror · 3 comments
Owner

Originally created by @wrobelda on GitHub (May 19, 2022).
Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/1043

Before opening the issue, have you...?

Describe the issue

I have a U3419W and MonitorControl seems to be working fine with it, except that its ability to bring the brightness all the way down to 0 or 100% seems random.

What I noticed is that whenever it happens that the brightness doesn't reach the min/max, I can bring it back a step up/down, which will actually have an opposite effect, i.e. instead of making it tad brighter/darker, it will do the opposite — which can be confirmed both visually and via the OSD. Once that's done I can then further reduce/max out the brightness until the actual 0 or 100%.

So what seems to be happening is that the monitor somehow misses (some) of the DDC messages requesting brightness value while I am holding the brightness up/down keys and stops somewhere in-between.

In that case I am wondering if there's an option to somehow space out (delay) those requests, such that the monitor has a chance to apply all of the values, or to have it send the final (least recently requested) value once again, after a delay.

Expected behavior

Brightness should reach 0 or 100% each time requested so.

Anything else?

I have not tried with other tools, but am about to, so will report back.

EDIT:

./m1ddc set luminance 100                                                                        
./m1ddc set luminance 0

Works every time, which would confirm my speculation that it is the repeated DDC message flooding while continuously holding the shortcut that throws the monitor off.

Environment Information (please complete the following information)

- macOS version: 12.4
- Mac model: Air M1 Late 2020
- MonitorControl version: 4.0.2
- Monitor(s): Dell U3419W
- Monitor Cable(s)/Connection(s): USB-C/Thunderbolt
- Apple Silicon/M1 (yes or no): yes
Originally created by @wrobelda on GitHub (May 19, 2022). Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/1043 ### Before opening the issue, have you...? - [X] Searched for existing issues - [X] Read through [the Monitor-Troubleshooting Wiki](https://github.com/MonitorControl/MonitorControl/wiki/Monitor-Troubleshooting) - [X] Updated MonitorControl to the latest version (if applicable) ### Describe the issue I have a U3419W and MonitorControl seems to be working fine with it, except that its ability to bring the brightness all the way down to 0 or 100% seems random. What I noticed is that whenever it happens that the brightness doesn't reach the min/max, I can bring it back a step up/down, which will actually have an opposite effect, i.e. instead of making it tad brighter/darker, it will do the opposite — which can be confirmed both visually and via the OSD. Once that's done I can then further reduce/max out the brightness until the actual 0 or 100%. So what seems to be happening is that the monitor somehow misses (some) of the DDC messages requesting brightness value while I am holding the brightness up/down keys and stops somewhere in-between. In that case I am wondering if there's an option to somehow space out (delay) those requests, such that the monitor has a chance to apply all of the values, or to have it send the final (least recently requested) value once again, after a delay. ### Expected behavior Brightness should reach 0 or 100% each time requested so. ### Anything else? I have not tried with other tools, but am about to, so will report back. EDIT: ``` ./m1ddc set luminance 100 ./m1ddc set luminance 0 ``` Works every time, which would confirm my speculation that it is the repeated DDC message flooding while continuously holding the shortcut that throws the monitor off. ### Environment Information (please complete the following information) ```markdown - macOS version: 12.4 - Mac model: Air M1 Late 2020 - MonitorControl version: 4.0.2 - Monitor(s): Dell U3419W - Monitor Cable(s)/Connection(s): USB-C/Thunderbolt - Apple Silicon/M1 (yes or no): yes ```
gitea-mirror 2026-05-05 06:23:30 -06:00
Author
Owner

@waydabber commented on GitHub (May 24, 2022):

Hi @wrobelda,

Sorry for the delayed answer. You might want to try disabling Enable smooth brightness transitions under Preferences/General - that might reduce the number of DDC requests sent (the smoothing algorithm will flood the display with interim requests even if you are trying to change the brightness in one step).

The number of retries, wait times etc can be changed but only programmatically at this time. If you are interested, I can let you know where you can change it in the code and then you can build a custom app for yourself in XCode and experiment with what works and what doesn't! :)

<!-- gh-comment-id:1135706522 --> @waydabber commented on GitHub (May 24, 2022): Hi @wrobelda, Sorry for the delayed answer. You might want to try disabling `Enable smooth brightness transitions` under Preferences/General - that might reduce the number of DDC requests sent (the smoothing algorithm will flood the display with interim requests even if you are trying to change the brightness in one step). The number of retries, wait times etc can be changed but only programmatically at this time. If you are interested, I can let you know where you can change it in the code and then you can build a custom app for yourself in XCode and experiment with what works and what doesn't! :)
Author
Owner

@wrobelda commented on GitHub (May 24, 2022):

Sorry for the delayed answer. You might want to try disabling Enable smooth brightness transitions

Actually, had that disabled already, since the monitor does smooth transitions by itself.

If you are interested, I can let you know where you can change it in the code and then you can build a custom app for yourself in XCode and experiment with what works and what doesn't! :)

Sure, why not, I can play around it and come back with some feedback. Thanks in advance!

<!-- gh-comment-id:1136106585 --> @wrobelda commented on GitHub (May 24, 2022): > Sorry for the delayed answer. You might want to try disabling `Enable smooth brightness transitions` Actually, had that disabled already, since the monitor does smooth transitions by itself. > If you are interested, I can let you know where you can change it in the code and then you can build a custom app for yourself in XCode and experiment with what works and what doesn't! :) Sure, why not, I can play around it and come back with some feedback. Thanks in advance!
Author
Owner

@waydabber commented on GitHub (May 24, 2022):

The easiest thing to do would be to simply duplicate or triplicate this line in order to send the command more than once:

c3c42f9316/MonitorControl/Model/OtherDisplay.swift (L413)

You can also try to add some wait times between them - for example usleep(1000000) will wait for 1 second (super long, but you can try to decrease the number to the point that is still stable for you). If you figure out the right mix of setup, you can always create a version of the app that is fine tuned to your setup.

<!-- gh-comment-id:1136152321 --> @waydabber commented on GitHub (May 24, 2022): The easiest thing to do would be to simply duplicate or triplicate this line in order to send the command more than once: https://github.com/MonitorControl/MonitorControl/blob/c3c42f9316b466893eb9b008e96e564881ad3374/MonitorControl/Model/OtherDisplay.swift#L413 You can also try to add some wait times between them - for example `usleep(1000000)` will wait for 1 second (super long, but you can try to decrease the number to the point that is still stable for you). If you figure out the right mix of setup, you can always create a version of the app that is fine tuned to your setup.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/MonitorControl#624
No description provided.