BetterDisplay
                                
                                 BetterDisplay copied to clipboard
                                
                                    BetterDisplay copied to clipboard
                            
                            
                            
                        Feature: Force RGB color space
With the new option to convert displays to HiDPI without mirroring would it be possible add an option to force an RGB color space?
Certain monitors default to YPbPr resulting in blurry text and inaccurate colors, the current workaround for this is: https://gist.github.com/GetVladimir/c89a26df1806001543bef4c8d90cc2f8
It seems pretty hit and miss at times however, especially when using multiple monitors and trying to identify the correct monitor to change (and persisting the change on restart).
Yes, I was aware of the issue as I had to use this workaround with my other LG display on earlier Monterey versions and also wrote a quick tutorial about it on macrumors back in the day - https://forums.macrumors.com/threads/mbp-m1-and-lg-27uk850-w-washed-out-colors.2270452/post-30262233
I guess I could add a feature to automate this. I honestly thought this is not a problem anymore but apparently it is.
I can confirm this is very much still a problem on M1 macbook, USB-C <-> DisplayPort cable and a certain 1440p LG monitor.
This is definitely still an issue on the M1 Pro as well through both the built in HDMI port and a USB-C -> HDMI adapter.
There are now some scripts based on GetVladimir's work, can you have a look? This would definitely be a feature I'd be willing to pay for.
Certainly, the feature can be added to the app (it's simple property list processing/editing, should be straightforward to do in Swift). I am planning to implement it, but want to finish all the DDC stuff first. Sorry about the rather slow progress. 😮💨
That's great to hear. FYI, there is a 30 page thread about RGB mode on MacRumors forum, I guess you'd have a lot of customers if this becomes a 1-click story.
Certainly, the feature can be added to the app (it's simple property list processing/editing, should be straightforward to do in Swift). I am planning to implement it, but want to finish all the DDC stuff first. Sorry about the rather slow progress. 😮💨
You're doing great. Keep up the great work!
I also still have this issue with my M1 Mac mini and Dell U3014 with USBC to miniDP cable
Just a quick question regarding this. If I have configuration override enabled for a monitor and I do the RGB fix manually in the plist file, I have found that when my machine goes to sleep and then wakes up the RGB setting is lost. Is this to do with the override or some other setting that is removing the RGB?
The override should not affect his. It might be that a different layout is activated for some reason upon wake. Did you apply the RGB settings to all relevant entries in the plist file? You can also try doing it all over again (delete all plist files and set up a new one). If you have a notebook, you'll need to create a layout both for clamshell and non-clamshell mode and apply the forced RGB settings to both.
I used the sudowork m1 fix rgb script...It works on monterrey on my macmini m1 and lg c1 but when I choose hdr in display options to watch hdr content I can't go back to rgb mode without running the script again and rebooting....is there a way to automate switching between the two modes?
@law94air - honestly I don't know, I'll spend some more time on this in the future, but it's just not an area I am working on. Upon switching to HDR it seems like the display layout is changed and the data in the config file is overwritten.
btw, you can get the supported modes (how macOS interprets the EDID and how it sets up color encodings) in the IO Registry tree. Run the following command in Terminal:
ioreg -r -t -c AppleCLCD2 | grep TimingElements > timings.txt
if you open the timings.txt created, you'll see what is the Pixel Encoding, EOTF, color depth data and other info for each interpreted mode.
@law94air - honestly I don't know, I'll spend some more time on this in the future, but it's just not an area I am working on. Upon switching to HDR it seems like the display layout is changed and the data in the config file is overwritten.
btw, you can get the supported modes (how macOS interprets the EDID and how it sets up color encodings) in the IO Registry tree. Run the following command in Terminal:
ioreg -r -t -c AppleCLCD2 | grep TimingElements > timings.txtif you open the timings.txt created, you'll see what is the Pixel Encoding, EOTF, color depth data and other info for each interpreted mode.
Great thank you.. Will try out the commands
I am not sure I'll add this feature but a probably better solution is to simply disable YCrCb in the display's EDID so only RGB remains as an option:
You should be able to this:
- Export the EDID via the app:
 
- Edit and save the EDID binary with an EDID editor (like the free AW EDID Editor):
 
 
- Upload and apply the altered EDID via the app:
 
I am not sure if this works (I don't currently have a display with the issue) but technically it should.