Skip to content

Instantly share code, notes, and snippets.

@GetVladimir
Last active November 15, 2024 14:00
Show Gist options
  • Save GetVladimir/c89a26df1806001543bef4c8d90cc2f8 to your computer and use it in GitHub Desktop.
Save GetVladimir/c89a26df1806001543bef4c8d90cc2f8 to your computer and use it in GitHub Desktop.
Force RGB Color on M1 Mac

Force RGB Color on M1 Mac

How to Force RGB Color Output instead of YPbPr on your M1 Apple Silicon Mac for an External Monitor.

This step-by-step video tutorial will guide you through the procedure of forcing RGB color output on your M1 Mac.

Force RGB Color on M1 Mac

Here is the direct link to the video tutorial: https://www.youtube.com/watch?v=Z1EqH3fd0V4

The video also has Closed Captions (Subtitles) that you can enable, to make it easier to follow if needed.



Please note that you're doing any changes on your own risk.

Terminal commands used in the video

Here are each of the Terminal commands mentioned in the tutorial, so that you can just copy and paste them:

open /Library/Preferences

plutil -convert xml1

plutil -convert binary1

plutil -lint



The step-by-step procedure on how to force RGB Color Output on M1 and M2 based Macs with Terminal commands

  1. Open Terminal and use this command to make Finder select the displays plist file:
    open -R /Library/Preferences/com.apple.windowserver.displays.plist

  2. Drag and drop the com.apple.windowserver.displays.plist file to Desktop manually. Don't use the cp command, as it won't add your current user with writing privileges.

  3. Convert the file to XML:
    plutil -convert xml1 ~/Desktop/com.apple.windowserver.displays.plist

  4. Open the converted file with the default plain text editor (avoid using the built-in TextEdit app if possible, since it might modify the file and make it unreadable by the system)
    open -t ~/Desktop/com.apple.windowserver.displays.plist
    or
    open -a CotEditor.app ~/Desktop/com.apple.windowserver.displays.plist

  5. Copy and paste the missing LinkDesription Key under the current display (check the screenshot below for an example of how it should look like):

				<key>LinkDescription</key>
				<dict>
					<key>BitDepth</key>
					<integer>8</integer>
					<key>EOTF</key>
					<integer>0</integer>
					<key>PixelEncoding</key>
					<integer>0</integer>
					<key>Range</key>
					<integer>1</integer>
				</dict>
  1. Save the file and then convert it to binary again:
    plutil -convert binary1 ~/Desktop/com.apple.windowserver.displays.plist

  2. Check if the plist file is valid:
    plutil -lint ~/Desktop/com.apple.windowserver.displays.plist

  3. Open the /Library/Preferences/ folder again:
    open /Library/Preferences/

  4. Drag and drop the updated com.apple.windowserver.displays.plist file from Desktop to the Library folder manually. Don't use the cp command, as it won't add your current user with writing privileges.

  5. Right Click on the com.apple.windowserver.displays.plist file in the Library folder and click on Get Info

  6. Check the boxes for Stationery and Locked.

  7. Reboot the Mac.

That's it!



(Alternative) Terminal commands to force RGB Color Output on M1 and M2 based Macs and workaround for losing RGB color after waking up from sleep

  1. Open Terminal

  2. Paste the following commands to edit the User's displays plist file com.apple.windowserver.displays.[UUID].plist using the built-in PlistBuddy function in macOS:

/usr/libexec/PlistBuddy -c "add DisplaySets:Configs:DisplayConfig:DisplayConfig:DisplayConfig:LinkDescription:BitDepth integer" ~/Library/Preferences/ByHost/com.apple.windowserver.displays.*.plist
/usr/libexec/PlistBuddy -c "set DisplaySets:Configs:DisplayConfig:DisplayConfig:DisplayConfig:LinkDescription:BitDepth 8" ~/Library/Preferences/ByHost/com.apple.windowserver.displays.*.plist
/usr/libexec/PlistBuddy -c "add DisplaySets:Configs:DisplayConfig:DisplayConfig:DisplayConfig:LinkDescription:EOTF integer" ~/Library/Preferences/ByHost/com.apple.windowserver.displays.*.plist
/usr/libexec/PlistBuddy -c "add DisplaySets:Configs:DisplayConfig:DisplayConfig:DisplayConfig:LinkDescription:PixelEncoding integer" ~/Library/Preferences/ByHost/com.apple.windowserver.displays.*.plist
/usr/libexec/PlistBuddy -c "add DisplaySets:Configs:DisplayConfig:DisplayConfig:DisplayConfig:LinkDescription:Range integer" ~/Library/Preferences/ByHost/com.apple.windowserver.displays.*.plist
  1. Reboot your Mac

(Workaround) If your Mac loses RGB color after waking up from sleep mode, either Reboot your Mac (recommended) or use this Terminal command to stop the WindowServer and login again (not recommended):

sudo killall -HUP WindowServer



End result

The end result is having your M1 mac output RGB color to your external monitor instead of YPbPr, potentially making the colors more accurate and the text a bit more crisp, even on older 1080p monitors.

Hopefully this tutorial would be useful to someone.

Please feel free to ask in the comment section if you have any questions regarding this procedure.



Background

While doing a lot of testing on how the Dual-Cable workaround makes RGB to work on M1, I've discovered what changes it makes to macOS, and managed to create a more streamlined workaround without the need to use a second cable.

To make things easier, I've created a step-by-step video tutorial of the whole procedure that should force RGB color output on your M1 Mac connected to an external monitor, and works on an HDMI-to-HDMI cable connection.

Credits

Big thanks goes to the amazing community and all their help over the years to solve issues like this:
https://gist.github.com/ejdyksen/8302862
https://gist.github.com/adaugherity/7435890

Useful Sources

Apple Open Source Project Files for Displays and Graphics
https://opensource.apple.com/source/IOKitUser/IOKitUser-1445.60.1/graphics.subproj/IODisplayLib.c
https://opensource.apple.com/source/IOGraphics/IOGraphics-517.17/IOGraphicsFamily/IOFramebuffer.cpp.auto.html

How to Edit and Convert binary plist files
http://hints.macworld.com/article.php?story=20050803111126899
https://apple.stackexchange.com/questions/155393/how-to-beautify-binary-dict-files
https://discussions.apple.com/thread/1768480

How to Edit plist files using defaults and PlistBuddy
https://ss64.com/osx/defaults.html
https://github.com/mathiasbynens/dotfiles/blob/master/.macos

Apps based on this method

@sudowork has created an awesome script written in Phyton that automates the steps and checks for duplicate files.
You can find more info about it here: https://github.com/sudowork/fix_m1_rgb

@dangh has created an alernative script for fishshell.
You can find more info about it here: https://github.com/dangh/force-rgb.fish

@GetVladimir I've also created a Shortcut to Force RGB Color Output using the built-in Shortcuts app.
You can find how to create the Shortcut here: https://gist.github.com/GetVladimir/c89a26df1806001543bef4c8d90cc2f8?permalink_comment_id=4531552#gistcomment-4531552

@entropyconquers has created a script based on this method written in Phyton that automates the steps, makes a backup and checks for duplicate files.
You can find more info about it here: https://github.com/entropyconquers/Force-RGB-Color-on-M1-M2-Mac-Script

Additional notes

Multiple PixelEncoding and Range keys in the same plist file
Note that there might be multiple instances of the PixelEncoding and Range keys in the same file, one for each output of your monitor and for different AirPlay devices. You might need to update the integer on each one to get RGB color output on all displays.

Getting RGB color only before login
There might be multiple duplicate plist files with the same name in different locations.

Make sure that you only have the main modified file in:
/Library/Preferences

Then make a backup and remove duplicate displays plist files from these locations (if any):
~/Library/Preferences
or
/Users/username/Library/Preferences
and
/Users/username/Library/Preferences/ByHost


Please note that you'll need to have administrator privileges in order to modify the file in /Library/Preferences. Thanks goes to @keegandent and @StrategicalIT for pointing this out.

Updates regarding macOS Monterey

USB-C to DisplayPort
From what I've seen, it seems that macOS Monterey 12.0.1 finally outputs RGB color by default on some monitors when using USB-C to DisplayPort cable on M1 Apple Silicone Macs.

You might need to make a backup and delete these 2 files:
/Library/Preferences/com.apple.windowserver.displays.plist
and
/Users/yourname/Library/Preferences/ByHost/com.apple.windowserver.displays.[UDID].plist

Restart your Mac and it should properly output RGB color on the monitor on the next boot.

HDMI to HDMI
The situation with HDMI seems to got a bit more complicated. Now the whole section for the LinkDescription might be missing from the com.apple.windowserver.displays.plist on a clean install and doesn't seem to be recreated when rotating the screen either.

Luckily, the solution still works, but you might need to manually add this whole section in the displays plist file:

					<key>LinkDescription</key>
					<dict>
						<key>BitDepth</key>
						<integer>8</integer>
						<key>EOTF</key>
						<integer>0</integer>
						<key>PixelEncoding</key>
						<integer>0</integer>
						<key>Range</key>
						<integer>1</integer>
					</dict>



The section usually goes right under the CurrentInfo key, and it should look something like this:

pixelencoding

This should get your RGB color output working on M1 Mac mini, even when connected with HDMI to HDMI cable.

Multiple monitors when one them is using HDMI to HDMI
Additional thanks goes to @somogyi-ede who tested this with multiple monitors and confirmed that the LinkDescription key needs to be added under each monitor instance in order for all of them to receive RGB color output. Link to the comment

Updates regarding macOS 13 Ventura

USB-C to DisplayPort
The macOS 13 Ventura beta seems to outputs RGB color by default on some monitors when using USB-C to DisplayPort cable on M1 Apple Silicone Macs.

You might need to make a backup and delete these 2 files:
/Library/Preferences/com.apple.windowserver.displays.plist
and
/Users/yourname/Library/Preferences/ByHost/com.apple.windowserver.displays.[UDID].plist

Restart your Mac and it should properly output RGB color on the monitor on the next boot.

HDMI to HDMI
Similar as macOS Monterey, the situation with HDMI on macOS Venturs seems a bit more complicated. Usually the whole section for the LinkDescription might be missing from the com.apple.windowserver.displays.plist on a clean install and doesn't seem to be recreated when rotating the screen either.

Luckily, the solution still works, and you still need to manually add this whole section in the displays plist file:

					<key>LinkDescription</key>
					<dict>
						<key>BitDepth</key>
						<integer>8</integer>
						<key>EOTF</key>
						<integer>0</integer>
						<key>PixelEncoding</key>
						<integer>0</integer>
						<key>Range</key>
						<integer>1</integer>
					</dict>



The section usually goes right under the CurrentInfo key, and it should look something like this:

pixelencoding

This should get your RGB color output working on M1 Mac mini, even when connected with HDMI to HDMI cable.

(Optional) Lock the plist file and set it as stationary
After the macOS Ventura 13.3 update, the plist file seems to get overwritten on reboot.

After you make the edits in the file, you can try setting the file /Library/Preferences/com.apple.windowserver.displays.plist as Stationery pad and Locked, so that it doesn't get overwritten on every reboot

Stationery Pad Locked

To do this, right click on the plist file, click on Get Info and check the boxes next to Stationery pad and Locked

This requires further testing and might cause some issues, like not being able to remember new resolutions or display settings. Please note that you're making any changes at your own risk.

Updates regarding macOS 14 Sonoma Beta

USB-C to DisplayPort
The macOS 14 Sonoma seems to outputs RGB color by default when using USB-C to DisplayPort cable.

HDMI to HDMI
The macOS 14 Sonoma seems to outputs YCbCr color by default when using HDMI to HDMI cable.

  • Forcing RGB Color Output still seems to work with the original procedure of modifying the plist files

  • Modifying the display plist files still works with the alternative version

  • After the plist files are modified, putting the Mac to sleep and waking it, it seem to keep the RGB Color output (this seems to be fixed at least on a M1 Mac mini)

If you have any additional questions, please feel free to contact me.

@andreilica
Copy link

andreilica commented Apr 21, 2023

Hello @GetVladimir ! I have tried all of the methods suggested here (edit /Library/Preferences/ file, also ran those commands using the plist tool) and also in the comments (including EDID editing using BetterDisplay) and I cannot get my monitor to receive RGB signal at all (only YCbCr). System: MacBook Air M1 13", Display: Dell U2722D, connected the display to the laptop through HDMI using the Anker 555 (8 in 1) hub which supports 4k@60Hz on the HDMI Port. Am I missing something? What should I try to do next?

@GetVladimir
Copy link
Author

@andreilica thank you for your comment and I'm sorry to hear that.

Please try it with a direct connection between the MacBook and the monitor, with USB-C to DisplayPort cable if possible.

If that works, it might mean that the HDMI on the hub is not capable of outputting RGB color

@Strate
Copy link

Strate commented Apr 21, 2023

@andreilica hello, i've ran into same issues. Restarting monitor with power button helped. I use WavLink thunderbolt docking station

@andreilica
Copy link

@GetVladimir I currently don't have that type of cable available. The HUB is outputting RGB color to this monitor when hooked up to a Windows PC with USB-C Thunderbolt, so I don't think it's a hub issue. @Strate I have tried that multiple times after running the plist commands or editing the /Library/Preferences/ file with no success.

@GetVladimir
Copy link
Author

GetVladimir commented Apr 21, 2023

@andreilica thank you for the info that it works on a Windows PC. That means there might be a chance yet to make it work.

Please try again one more time by deleting both plist files and removing any other changes that you've done.

Then only apply the steps here: https://gist.github.com/GetVladimir/c89a26df1806001543bef4c8d90cc2f8#alternative-terminal-commands-to-force-rgb-color-output-on-m1-and-m2-based-macs-and-workaround-for-losing-rgb-color-after-waking-up-from-sleep

There is one catch though. In macOS 13.3.1, the plist files seem to be ignored when waking up from sleep. It only works after reboot.

If the hub does something similar to the connection like waking up from sleep every time is connected, macOS will not recognize it properly and output YCbCr color, even if you did everything correctly.

A temporary workaround might be to reboot the Mac after connecting the hub.

A more permanent solution would be either to use a separate USB-C to DisplayPort cable only for the monitor, or a future macOS update to fix the issue.

@andreilica
Copy link

andreilica commented Apr 21, 2023

After deleting the files, the commands won't work anymore as it doesn't find any file inside ByHost:
image

If I make any changes to the display settings the file appears and the commands can run. But after I run them and I restart, still no change. My display still shows YCbCr :(.

@GetVladimir
Copy link
Author

@andreilica thank you for the update.

It seems that the M1 just doesn't play nice with this hub, at least on this version of macOS.

The other suggestion I can make is to try with the USB-C to DisplayPort cable if possible

@csergiu
Copy link

csergiu commented Apr 25, 2023

So currently on Ventura 13.3.1 there is no way to get the monitor to stay in RGB after resuming from sleep? 😞

My setup: MBP 14" M1 w/ Dell P3421W w/ USB-C <-> USB-C

@GetVladimir
Copy link
Author

GetVladimir commented Apr 25, 2023

@csergiu yes, you'll need to reboot to fix it or prevent it to go to sleep.

Although, from the details of your specific setup, you can try using an USB-C to DisplayPort instead of USB-C to USB-C cable. That might fix the issue

@zhxst
Copy link

zhxst commented May 6, 2023

My MacBook is M1 and my external display was fine on Monterey. Updated to Ventura 13.3.1(a) yesterday and the display was ruined. The black turned into purple and the white turned into some kind of yellow. After some dig I found here.
So here is the result, the solution partially worked, but only in the login screen. After logged in, the external screen go black for half second, and it's purple and yellow again.
I use a hub and HDMI cable. Does things goes worse with the (a) patch? I don't know.
I don't know if it is because my display doesn't support YPbPr or Ventura changed something.

Thank you for your kindness and this article. At least I can confirm it's a YPbPr issue, and there is still hope to solve it.


BetterDisplay to force RGB works. Thanks to @traderdude123
Finally the screen not purple and yellow any more!

  • The options to get and set EDID is in the bottom of the menu with the gear button. Find your monitor under the Display tab.
  • Retrieve EDID Data and Export EDID binary.
  • Do edit the EDID binary with AW EDID Editor. It's free.
  • In the Version & Revision page, change Revision to 4.
  • Then you can turn off any YCrCb option in Feature Support page.
  • Check CEA Extension sector and turn off any YCrCb option.
  • Save the file.
  • Upload EDID Binary and Apply EDID.
  • remember to uncheck the Restore factory EDID on quit.

Does anybody know what does BetterDisplay do when upload and apply the EDID? Maybe there is a way to make it automatic.

@GetVladimir
Copy link
Author

@zhxst thank you for your comment.

You can try the new alternative method to fix RGB color output after login: https://gist.github.com/GetVladimir/c89a26df1806001543bef4c8d90cc2f8#alternative-terminal-commands-to-force-rgb-color-output-on-m1-and-m2-based-macs-and-workaround-for-losing-rgb-color-after-waking-up-from-sleep

The issues usually started with the later Ventura updates, but the (a) doesn't seem to make any difference.

@zhxst
Copy link

zhxst commented May 6, 2023

@zhxst thank you for your comment.

You can try the new alternative method to fix RGB color output after login: https://gist.github.com/GetVladimir/c89a26df1806001543bef4c8d90cc2f8#alternative-terminal-commands-to-force-rgb-color-output-on-m1-and-m2-based-macs-and-workaround-for-losing-rgb-color-after-waking-up-from-sleep

The issues usually started with the later Ventura updates, but the (a) doesn't seem to make any difference.

The alternative method doesn't work on MacBook, because the first display is the internal one.
Manually modified files under ~/Library/Preferences, and it worked. Thank you @GetVladimir

@GetVladimir
Copy link
Author

@zhxst Awesome! Thank you for the update and I'm glad to hear that you got RGB color output working

@traderdude123
Copy link

@zhxst

you don't need to keep running the BD to force RGB. To make sure that RGB change is permanent.Do the below steps.

  1. Make sure the interface is DisplayPort, even if you connecting using hdmi-hdmi or usbc-hdmi. It does not matter.

image

  1. After making all the EDID changes. Enable and then disable HDR in the macOS display settings. This will add the required entries in windowserver plist file to keep the RGB change permanent.

You can then uninstall BD if you don't use it.

These two steps make sure that RGB change is permanent with out BD requiring it apply the EDID every time you reboot.

Let me know how it goes.

@LetrixZ
Copy link

LetrixZ commented May 7, 2023

I have a strange problem on my G27Q with DP through a dock.
Using ForceRGB works always fine for 60 Hz.
But when using 120 Hz, I lose RGB (SD 170M-A appears on the top list) after disconnecting the display. If I switch back to 60 Hz, it outputs RGB again but to use 120 Hz again, I have to re-apply ForceRGB (or just restart, probably).
Is there any solution to this? I would like to use 120 Hz on macOS.

I bought a USB-C to DP cable to try. It should arrive on monday.

@GetVladimir
Copy link
Author

@LetrixZ Thank you for your comment and the details. Glad to hear that you got RGB color output working at 60 Hz.

You can try modifying the display plist file and set it to 120 Hz there, so that you don't need to reconnect the display and lose the RGB.

The DisplayPort cable that you ordered is very likely to work without any further modifications needed

@LetrixZ
Copy link

LetrixZ commented May 8, 2023

It works great!
1440p 120 Hz with RGB output always. 144 Hz not though.

It also now shows a variable (48-144 Hz) refresh rate option but is doesn't ouput RGB anymore with it.
image

The only problem now is that I have used the two ports :S. More to connect and disconnect.

@GetVladimir
Copy link
Author

@LetrixZ thank you so much for the update and I'm glad that it works!

If you like, you can write the specific cable model that you used as a reference

@LetrixZ
Copy link

LetrixZ commented May 8, 2023

It's a generic cable.
Here is a photo of the bag it came in and the pictures in the product listing: https://imgur.com/a/HaaKLU0

@GetVladimir
Copy link
Author

@LetrixZ great, thanks for posting it. Good to know

@LetrixZ
Copy link

LetrixZ commented May 9, 2023

@GetVladimir, out of curiosity, would a DP to HDMI adapter affect any of this? I would like to free my only DP port.

@GetVladimir
Copy link
Author

GetVladimir commented May 9, 2023

@LetrixZ I'm not sure how well that would work, as it might require an active conversion of the signal. This could introduce latency and other issues, so I can't really recommend it unless you really just want to test it

@lb2112
Copy link

lb2112 commented May 18, 2023

Has anyone been able to get RGB mode working with an M1 MacBook Air (2020) and the newer range of Dell Ultrasharp monitors, e.g. the U2723QE or U3223QE over USB-C (DP-alt/PD) with USB-C Prioritization set to High Data Speed? I am using Ventura 13.3.1 (a).

The .plist editing solution here does not seem to work. Setting the USB-C Prioritization to High Resolution does give RGB, but then all USB peripherals and the integrated GbE input all drop back USB 2.0 speeds. No good.

A USB-C to DP cable does give RGB also, but the whole point was to use the single USB-C cable with PD/DP-alt/USB hub features. I am using this cable - https://www.officeworks.com.au/shop/officeworks/p/comsol-100w-usb-c-thunderbolt-3-cable-20gbps-2m-black-coctb3200 - so there should be no bandwidth issues. I have tried other USB-C cable (Dell supplied ones) and they give the same result.

I recently sold my 14" M1 Pro MBP and it just worked in RGB mode with the same monitor, cable and USB-C Prioritization set to High Data Speed. I did start with that MBP from Monterey 12 with a Dell U2720Q and had to do the .plist editing solution mentioned here to force RGB from YPbPr and it did work for me and seemed to stick eventually. Once I sold the U2720Q to upgrade to the Dell U3223QE, the 14" M1 Pro just worked in RGB straight away, no .plist workaround needed.

Now I've switched to an M1 MacBook Air, I am back to square one. Any got any ideas?

@GetVladimir
Copy link
Author

@lb2112 thank you for your comment. That is interesting to know.

So basically the M1 Pro had RGB color output when selecting High Data Speed prioritization, but the standard M1 doesn't, all else being the same?

@GetVladimir
Copy link
Author

GetVladimir commented May 18, 2023

Update: 2023-05-18 and macOS Ventura 13.4

Just wanted to update regarding macOS Ventura 13.4. I've tested the update and the RGB color output issue is not fixed.

Also, the issue with reverting from RGB color to YCbCr after sleep/wake is not fixed either.

At this point in the Ventura cycle, it doesn't seem like Apple will address or fix any of the issues.

The procedure to Force RGB Color Output and the Alternative methods in the original post still work.

@traderdude123
Copy link

@GetVladimir

I finally got fed up with rebooting to force RGB every time and bought the Betterdisplay and now even after sleep/wake , I get RGB. Also I m able to fine tune the EDID settings like audio, resolutions..etc.

How is it that BetterDisplay is able to fix these issues while apple can't. I have now given up hope with Apple and just get the BD utilitlty for 17$ and move on with our lives.

I m on the latest 13.4.

@GetVladimir
Copy link
Author

@traderdude123 thank you for the info.

It seems there are a lot of bugs that haven't been fixed in macOS, iOS and tvOS for years now. RGB color output is just one of them

@lb2112
Copy link

lb2112 commented May 20, 2023

@lb2112 thank you for your comment. That is interesting to know.

So basically the M1 Pro had RGB color output when selecting High Data Speed prioritization, but the standard M1 doesn't, all else being the same?

Hi Vlad, thanks for your response. Yes, the M1 Pro would give RGB output on the same Dell U3223QE monitor and cable as the standard M1 would not, all else being "mostly" the same. The M1 Pro (14" MBP) started with Monterey 12 and a Dell U2720Q. With that combo, the .plist editing trick did work and got it switched from YPbPr to RGB. When I swapped to the Dell U3223QE and upgraded the M1 Pro to Ventura 13, RGB stayed so I didn't need to do .plist edit again.

Now I've started from scratch with an M1 MacBook Air and Ventura 13 out of the box, the .plist edit doesn't work.

@lb2112
Copy link

lb2112 commented May 20, 2023

@GetVladimir

I finally got fed up with rebooting to force RGB every time and bought the Betterdisplay and now even after sleep/wake , I get RGB. Also I m able to fine tune the EDID settings like audio, resolutions..etc.

How is it that BetterDisplay is able to fix these issues while apple can't. I have now given up hope with Apple and just get the BD utilitlty for 17$ and move on with our lives.

I m on the latest 13.4.

@traderdude123 - how do you edit the EDID to force RGB with BetterDisplay? I tried the free version but could't find it. Is it only on the Pro version?

@traderdude123
Copy link

@lb2112

you will need BetterDisplay Utility and AW EDID Editor. Download these two utilities and install. Once installed.

  1. Extract the EDID of you current connected monitor using the BetterDisplay Tool. How to extract is quite simple. Extract the EDID file with .bin extension. let's call this file : Monitor.bin.
  2. Open AW EDID Editor and open the Monitor.bin file. Once opened, you should find references to RGB and YCBCR options. The references will be different for different monitors/TV. Switch off/Turn off all references to YCBCR and Keep on RGB.
  3. Note only remove or turn off references to YCBCR and do not delete any sections of the EDID. Once modification of EDID is done. Save to a separate file. Lets call this file: Modified_EDID_Monitor.bin.
  4. Open BetterDisplay Utility again, there is an option to upload the EDID. Upload the Modified_EDID_Monitor.bin and hit apply. No need to reboot.
  5. your monitor should now switch to RGB.
  6. Make sure to run BetterDisplay at startup. It will apply the EDID on startups/reboots/sleep/wakeups.

I suggest you buy the Better Display utility, because there is no free way to force the RGB as of now. There is an alternate free way to do all the above , but it's too much hassle to just switch and force RGB. Hence the recommendation to just buy the utility.

Apple is too busy doing important things like making new emojis and if they find sometime they will give options/feature to control our external monitors. but I wouldn't hold my breath as providing such a feature or options is a conflict of interest for them. As a result of this, we will need to depend on third party developers if we intend to use non-Apple external monitors with Macs.

Also , don't bother contacting apple regarding this issue. They are completely clueless that people use non Apple external monitors. They somehow believe people only buy Apple Monitors with Mac minis. I don't know which world they are living in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment