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.
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.
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 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.
While doing a lot of testing on how the [Dual-Cable workaround (https://gist.github.com/GetVladimir/ed6b7daa09b1092608fee82fd0559098) 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.
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
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







Every time the UUID change, the fix need to be applied.
Does the UUID change at all after screen sleep?
Inte doesn't change, but I run directly from HDMI.
As long as I connect the same device my UUID stays the same and the fix works.