[GH-ISSUE #1164] Display settings not maintained #683

Closed
opened 2026-05-05 06:30:02 -06:00 by gitea-mirror · 2 comments
Owner

Originally created by @xkam1x on GitHub (Sep 2, 2022).
Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/1164

Before opening the issue, have you...?

  • Searched for existing issues
  • Looked through the wiki
  • Updated MonitorControl to the latest version (if applicable)

Describe the bug

I have optimised the following display settings (combined dimming switchover point, DDC min, DDC max and scale mapping curve for DDC) to have the same apparent bright on both internal and external displays. These settings along with 'screen to control' set to 'change for all screens' gives best user experience in my opinion.

Unfortunately the display settings keep changing on their own and brightness behaviour is unexpected. Mostly happens when computer restarts.

Steps to reproduce

Restart computer.

Expected behavior

Every time the computer restarts the settings should be loaded back as they were set last time.

Anything else?

I have done some digging and found that Displays > Identifier also changes. Internal display is always Identifier 1 but the external display has taken values 2, 3, 4, 5 and 6.

I have also installed Better Display and logged the display info. All display identification information stays same except 'CGDD ID' and sometimes 'tag' and 'configuration ID'.

I have also logged display UUID using ColorSync Utility and the display UUID reported does not change.

Screenshot 2022-09-02 at 18 48 19 Screenshot 2022-09-02 at 19 00 31

Environment Information (please complete the following information)

- macOS version: Monterrey 12.5.1
- Mac model: Apple Silicone MacBook Pro 16 M1 Max 
- MonitorControl version: 4.1.0
- Monitor(s): LG 27UL500
- Apple Silicon/M1 (yes or no): Yes
Originally created by @xkam1x on GitHub (Sep 2, 2022). Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/1164 ### Before opening the issue, have you...? - [X] Searched for existing issues - [X] Looked through [the wiki](https://github.com/MonitorControl/MonitorControl/wiki) - [X] Updated MonitorControl to the latest version (if applicable) ### Describe the bug I have optimised the following display settings (combined dimming switchover point, DDC min, DDC max and scale mapping curve for DDC) to have the same apparent bright on both internal and external displays. These settings along with 'screen to control' set to 'change for all screens' gives best user experience in my opinion. Unfortunately the display settings keep changing on their own and brightness behaviour is unexpected. Mostly happens when computer restarts. ### Steps to reproduce Restart computer. ### Expected behavior Every time the computer restarts the settings should be loaded back as they were set last time. ### Anything else? I have done some digging and found that Displays > Identifier also changes. Internal display is always Identifier 1 but the external display has taken values 2, 3, 4, 5 and 6. I have also installed Better Display and logged the display info. All display identification information stays same except 'CGDD ID' and sometimes 'tag' and 'configuration ID'. I have also logged display UUID using ColorSync Utility and the display UUID reported does not change. <img width="1491" alt="Screenshot 2022-09-02 at 18 48 19" src="https://user-images.githubusercontent.com/26964742/188218324-1efbcc99-5286-43e9-bbdb-26e3c6490bf3.png"> <img width="1560" alt="Screenshot 2022-09-02 at 19 00 31" src="https://user-images.githubusercontent.com/26964742/188218348-d9c579b6-9ea9-4553-9d78-fc54cec2187f.png"> ### Environment Information (please complete the following information) ```markdown - macOS version: Monterrey 12.5.1 - Mac model: Apple Silicone MacBook Pro 16 M1 Max - MonitorControl version: 4.1.0 - Monitor(s): LG 27UL500 - Apple Silicon/M1 (yes or no): Yes ```
gitea-mirror 2026-05-05 06:30:02 -06:00
Author
Owner

@waydabber commented on GitHub (Sep 3, 2022):

Hmm. Yes, this is an issue. BetterDisplay retains display settings properly I assume. The two apps use a different way to store configuration data. BD ties them to the UUID by default while MonitorControl ties them to serial+vendor+model+CGDirectDisplayID (on natively connected screens). The latter is clearly problematic on M1 Pro/Max/Ultra chips as the CGDirectDisplayID can indeed change (this was not the case on entry level M1s when that part of the code was written, it was always tied to the port the display was connected, but that was because these macs could support 2 displays only in a fixed manner - one via USB-C, the other as built-in screen or HDMI).

MonitorControl should change to use UUID but that will break the stored configuration for every user out there. Still, it is inevitable.

If you have BetterDisplay, the (or an) upcoming version should contain DDC customization settings similar to MonitorControl, so if BD works ortherwise, you can use that. Or you can change the relevant code of MC and build a custom version of the app for yourself in XCode - if you are interested, I can tell you what to change in order to make it work.

<!-- gh-comment-id:1236055766 --> @waydabber commented on GitHub (Sep 3, 2022): Hmm. Yes, this is an issue. BetterDisplay retains display settings properly I assume. The two apps use a different way to store configuration data. BD ties them to the UUID by default while MonitorControl ties them to serial+vendor+model+CGDirectDisplayID (on natively connected screens). The latter is clearly problematic on M1 Pro/Max/Ultra chips as the CGDirectDisplayID can indeed change (this was not the case on entry level M1s when that part of the code was written, it was always tied to the port the display was connected, but that was because these macs could support 2 displays only in a fixed manner - one via USB-C, the other as built-in screen or HDMI). MonitorControl should change to use UUID but that will break the stored configuration for every user out there. Still, it is inevitable. If you have BetterDisplay, the (or an) upcoming version should contain DDC customization settings similar to MonitorControl, so if BD works ortherwise, you can use that. Or you can change the relevant code of MC and build a custom version of the app for yourself in XCode - if you are interested, I can tell you what to change in order to make it work.
Author
Owner

@stale[bot] commented on GitHub (Sep 3, 2023):

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require attention? This issue may be closed if no further activity occurs. Thank you for your contributions.

<!-- gh-comment-id:1704144030 --> @stale[bot] commented on GitHub (Sep 3, 2023): Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require attention? This issue may be closed if no further activity occurs. Thank you for your contributions.
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#683
No description provided.