Navigate / search

Force RGB mode in Mac OS X to fix the picture quality of an external monitor

I recently bought a MacBook Pro (with ‘Retina’ screen), but when I hooked it up to my Dell U2410 monitor via HDMI cable I was shocked by the poor picture quality. The contrast was all wrong and text was misshapen. No amount of calibration in the monitor or software would fix it.

Short answer: OS X thinks my monitor is a TV, and is using the YCbCr colour space rather than RGB. I had to override an EDID setting to force the RGB colour space, and it is now working correctly.

Long answer: I haven’t owned a Mac for a while and had forgotten how difficult much of the “Apple community” can be when it comes to anything that can’t be adjusted in System Preferences. Googling for problems with external monitors on MacBooks found dozens of threads on official and unofficial Apple forums, all full of people with the same problem. The most common response was to blame the monitor, despite assurances from the stricken users that the monitor worked beautifully in Linux and Windows, even on the same machine under Boot Camp.

“You just haven’t calibrated it!”, “You are just too used to Retina now!”, “You just need to buy a Thunderbolt display!” Apple people also like to solve problems by throwing more money at it. (I realise that owning a Mac makes me an Apple person, too. Hypocritical self-loather?)

My lucky break was reading that the current colour space was “YCbCr” when I was browsing the monitor’s settings menu. I was sure that it was using RGB when hooked up to my PC, so I started searching instead for forcing RGB mode in OS X. It didn’t appear to be available out-of-the-box, but I have had some experience in overriding EDID settings for similar purposes so I searched instead for that.

I found this thread on the EmbDev.net forums. Mr Schwarz, thanks very much. Your thread and script was incredibly helpful and informative. It was written to fix problems connecting an external monitor via DisplayPort, but it fixed my HDMI issue just the same. I’ve summarised the required steps below.

My last word is to wonder what Apple is playing at. It seems that this problem has been reported by a lot of people for a long time, and I expect it would require a fairly simple software update. Do they just not care about those using third-party components, or are they actively attempting to force people on to Thunderbolt displays?

How to force RGB in Mac OS X

  1. Download the patch-edid.rb script from the forums thread above and put it in your home directory.
  2. Connect only the external monitor(s) in question (I closed my MacBook lid, for example). The script will make override files for any connected monitor.
  3. Type “ruby patch-edid.rb” in Terminal.
  4. A new folder will be created in your home directory. Move it into the “/System/Library/Displays/Overrides” folder. If Finder tells you that you are overwriting an existing folder, consider backing it up first.
  5. Restart your computer, enjoy your monitor.

To undo the changes, either delete the folder you had copied to the Overrides folder (if it didn’t already exist) or replace it with the folder you had backed up.

Updates

I’m not running OS X any more, but if you’re having trouble with any of these steps, please have a look through the comments below (and note that there are multiple pages). Many questions have been answered with helpful tips from others.

Update, 27 Oct 2013: If you’ve applied this fix before, the OS X Mavericks update will overwrite it. I’ve successfully re-applied the fix by following exactly the same steps, and other commenters below have done so, too.

Update, 13 Nov 2013: Andrew comments below that he has modified the script to add some useful new features, and provides a link to his GitHub for those wishing to use it instead.

Update, 28 Nov 2013: If the process appears to work but doesn’t seem to make a difference, consider Tom’s comments below. Depending on your monitor an extra tweak may be required.

Update, 26 May 2014: If you have had trouble with limited resolutions being available after the fix, check out Ibrahim’s comments here.

Comments

Kitty Bessie
Reply

I thought I would have to do this, but I didn’t. Instead I used the big fancy dual cable Mini Display Port to DVI Adaptor (purchased by my company when the MPB was bought recently and didn’t work on my 24) to connect to my Dell P2314H as it worked fine, and used my partner’s spare basic single cable Mini Display Port to DVI adaptor to connect my Dell U2413, which was the one that didn’t work originally on the bigger, fancier MDP to DVI. So now, without having to rewrite anything, I have my dual monitors up and running and looking sweet! So, if you don’t want to fiddle around for hours with the code, ask around and try a few different cables and connectors that people have lying around in their desks and cupboards. Worked for me, might work for you too! :)

Conrad Rodas
Reply

Thank you for your file. Unfortunately it didn’t work for me.

I have a MacPro (new model) with Thunderbolt to HDMI and a Dell 2711.
This setup worked with 10.9 Mavericks. I had to press “Alt” while
pressing “scaled” in preferences in order to get 2556×1440 as an option.
As soon as I upgraded to 10.10 (currently on 10.10.3 beta) the
resolution went away and the highest I can reach is 1920×1080.

I downloaded all 3 scrips, even the alternative. I put the Ruby file in
my home folder, run the script, create the new folder with the new text
file with I name DisplayProductID-a055, restart my computer and nothing.
I still only see 1920×1080 as my highest resolution possible. I am putting it
in the correct folder System<Library<Displays<Overrides

What can I be doing wrong?

Please please help!

Thank,

Teryl Boothe
Reply

thanks a ton. This worked on a Acer K272HUL, retina MacBook Pro.

Pissed Mac User
Reply

This doesn’t work for me. I am running OSX Mavericks with a Dell 2407WFP and after running the Ruby script, replacing in Overrides, also doing the font smoothing with -2, my screen still looks blurry. Very frustrating when this display worked perfectly with an older MBP (non-Retina, 10.8) and also works perfectly with Linux. I’m going Thunderbolt to DVI-D, I guess I’ll try other combinations … Thunderbolt to VGA … HDMI to VGA … this is just stupid.

John
Reply

The patch-edid Ruby script worked perfectly for me and my dual Dell 2413 monitors. Because I have a new (spring 2014) MacBook Pro (with retina display), I have one monitor connected via HDMI and the other via Thunderbolt / Display port. The problem affected only the monitor connected via HDMI.

I played the swap game trying to isolate the problem (swapped cables, swapped monitors, swapped MacBooks) … eventually proving that it ONLY occurs with a Dell U2413 monitor connected via HDMI to a new MacBook running Mavericks. The problem does not occur with a) an old MacBook, or b) connection via Display Port, or c) using a Dell U2410 monitor.

Thanks again!

–John

Nazar M
Reply

Thank YOU!!!!! SO MUCH!!! Worked on my Dell U2713H – amazing!

Jordan Harrop
Reply

Hello,

Does anyone know how to force RGB on an iMac. I have an HP DreamColor Monitor, but unlike a laptop, I can not seem to shut off the main monitor to the iMac for the override to work.

Thanks,
Jordan

Griff
Reply

Great work everyone, but especially to Andrew for making it foolproof for non-coders like me!

John
Reply

I hit the same problem again today with a brand new-out-of-the-box Mac Mini running OS X Server 10.9.5 and a Dell U2413 connected via HDMI. I ran patch-edit, moved the DisplayProductID to the Override folder, rebooted and presto chango! Thanks again Andrew!

(I also submitted this problem and the fix to Apple, asking them to fix it in the OS so that we don’t have to patch every machine …)

–John

Nisse
Reply

Thanks! Works perfectly with Macbook Pro Retina, mid 2014 with OS X 10.9.5 and Acer B296CL display

Dave
Reply

I’m using a HP 2509m with a mid-2014 retina macbook pro and this worked great for me, thanks!

Colin
Reply

Thank you very much! I used Andrew’s modified script and proceeded through all the steps while my MacBook’s lid was closed. After the fix was applied, I re-opened my lid and the external screen momentarily flashed black signifying the MacBook’s connection.

When I checked the color space on the monitor’s control panel it was RGB. I didn’t have to do a restart, but I assume that’s because the display’s override files were reloaded when the lid was opened.

For reference, I used this on a Dell S2340L (HDMI) and a MacBook Pro Mid 2012 running OSX 10.10 Public Beta 4.

Teryl Boothe
Reply

Update: I loaded Yosemite Beta 4 onto my rMBP and lost the resolution. Found the directory created by the script under Mavericks and, after a couple of tries, got it moved into the Overrides subdirectory. Got my nice resolution back.

Danilo
Reply

Also I have the same problem.
MBP (mid 2010) – MiniDisplayPort to HDMI – 1080p – Tv Haier 22 “Full HD 200Hz LE22m600.
The resolution is correct (1920×1080 60Hz) but the colors and fonts are bad.
Applying the patch nothing has changed ….
Today I try with the modified version.

Gaurav Varshney
Reply

Great solution it worked for my HP 2509 monitor. Thanks a lot!!!

Nick Mowinski
Reply

Danilo, I’ve had the same issue with a TV (Bravia 40D3000, see page 5), however I suspect, that unless it’s an actual monitor the chances of getting the correct EDID is slim to none. Nobody here seems to have success here beyond dedicated PC monitors.

I’ve essentially given up, but Google this issue occasionally in the faint hope that Apple get their finger out of their collective arse and fix this.

Sadly, this is still the number one hit when I search.

Brady
Reply

I don’t know if anyone can help me with this however…. I stupidly came on here thought I knew what I was doing. So I copied that long ass command this into terminal and pressed enter. Now my second monitor is really laggy and grainy. Is there a reverse command so I can get it back to normal?

Mocha Gromurph
Reply

Just updated to newly released Yosemite.. and it overrode the rgb fix. Fortunately I remembered that I’d done it and the ruby script described above still works.

psbrubaker
Reply

Upgrading to OSX Yosemite caused my display to revert back. Tried running the script again and it does not create and override file. Any idea what to do?

psbrubaker
Reply

Found the override file… got it fixed.

thohow
Reply

I have the same trouble after upgrading to OS X Yosemite. My previous setting for my Monitor LG 29EA73 worked fine with the script under the OS X Mavericks. Now it´s all gone. Can anyone give me some advice which script to run and how to do it under Yosemite? Thanks

SL
Reply

Still works for Yosemite. Same script as above. Look in the home folder for the file created.

ludwig70
Reply

It seems to me that Yosemite now recognizes my Philips 272C4, and I don’t need the script anymore.
That’s the way it should be. I hope this will be the case with all other (your) monitors in the near future.

Christan Fergus
Reply

For Mavericks this worked perfectly right away. Upgrading to Yosemite erased the script, but on reinstallation I haven’t been able to get it to work for my Asus PA248. Any ideas? I also tried replacing and renaming the script to an existing script…but nothin’.

Christan Fergus
Reply

Got it to work the third time. To start over each time, I replaced the Overrides folder with my back up, and started the entire process over again. Finally, by the third try, it worked. Most likely user-error.

Philipp
Reply

My Dell U2412M still looks like sh*t. The script hepled a little, but it still doesn’t look crisp at all. No matter how it’s connected (VGA, DP, DVI). I tried different screen (Asus VW266H) via HDMI and it was soo much better.

Brian Schell
Reply

Just wanted to mention that I have a brand new Mac Mini *Late 2014… the stores just got them in yesterday) and an HP2509m monitor. I had the blurry font problem, and this script fixed it instantly. Thanks to whoever came up with this, but I';m having a hard time understanding why Apple hasn’t fixed the problem since it’s obvisouly been going on for so long.

reiiz
Reply

Worked on 2012 iMac with the new OS X Yosemite + Dell U2410. Thanks once again!

Caleb Liau
Reply

Hello, I’m using a retina macbook pro 13′ late 2012 with intel HD graphics 4000, running Yosemite, 10.10 hook to a DELL 3007WFP with dual link DVI to mini display port cable. Ran patch-edid.rb, replace the folder in system, reboot but it doesn’t work. :(

Pat
Reply

Thanks, I installed the script and now I can use full 2560×1440 on my new Asus K272HUL. I am using via HDMI on my 15″ MBP Retina late 2013.

Yas
Reply

Patch was working fine until the yosemite update. Tried process again and did not work. Any ideas as to what I can do? Screen looks terrible. Not crisp at all. The screen I’m using is a Dell U2413.

Any help will be very much appreciated.

Dembo
Reply

As expected I lost the RGB on an Acer K272HULbmiidp connected via HDMI when I moved from Mavericks to Yosemite. Re-ran the Ruby script (the improved version that correctly names the display), put the folder into the right folder as instructed, rebooted and… it work like charm.

I really find it quite embarrassing for Apple that you have to jump through so many hoops to get things up and running but at least it is working as expected.

_Susanin_
Reply

Installed Yosemite. I have 2 Pavilion 23xi and MacMini. First connected via miniport-DVI no problem. Second monitor via HDMI, had problems. Used this script no problem. Works great. Make sure to disconnect dvi one during running script.

Eduardo
Reply

Hey there guys!
I have the same issue, but my problem is so dumb I’m even ashamed to ask.
Have done all the stuff, but I can’t find the Display folder in my Library. Simply no folder with that name.
Running on a Mac Air with Yosemite. Anyone?

Nick Mowinski
Reply

Still running Mavericks here, but try System/Library, not your home folder or the top level library.

Eduardo
Reply

Ok, thanks Nick! It’s working now with this profile, but the fonts are kinda pixelated. Any idea on how to improve it?
Anyway, it’s much better now!

Nick Mowinski
Reply

I never got it to work sadly so can’t help you much more, but off the top of my head, make sure your running at the native res, ensure that display contrast in accessibility is set to normal, play with your font smoothing settings etc.

Glad you got the RGB issue nailed though. :-)

Francesco
Reply

Help me, macbook pro retina 13″, i put the file in my folder, i run the terminal it says “command not found”.
Sorry for my bad English :)

Francesco
Reply

update: i’ve the new folder but i can’t find “Displays” folder :(

Francesco
Reply

update II: i paste the file into override folders but it doesn’t work, now pc doesn’t find external displays :/

Eduardo
Reply

Francesco, I found the folder Displays in the Library (but there are in fact two folders called Library in Mac. Click the Terminal icon until the options appear (long click), click the “Go to Folder…” option and then type /system/ and you’ll find the Displays folder there.
Another thing. After running the script, you gotta paste the file into the Override folder and erase (or backup to the desktop) the file that was there previously. It worked for me, though I’m still facing some pixelated fonts.

Francesco
Reply

Wait, i’ve done everything but it doesn’t work.
In Override folder there are many folders so when i paste the folder created by the script, I have to erase all folders previously?

Eduardo
Reply

No, not at all – don’t erase all the folders! In my case, there was already a folder with the name the script created with another file on it. I just moved that file to my desktop and replaced with the new one, keeping the folder.
Today I found out that it must be a balance between your display AND the mac configs. I spent some time adjusting the display configurations (white balance, blur, etc, etc) and now the image is perfect!

It is worth giving it a try!

Francesco
Reply

It doesn’t work :( anyone explain me how to do step by step? It’s incredible i did everything and it doesn’t work :/ i ran the patch, put the file into the display folder but it still doesn’t work

jarnail
Reply

Thank you. It worked on HP Pavilion 23xi with Macbook Pro Late 2011.

John Hightower
Reply

i tried it. Macbook pro mid 2010 with samsung 32″ monitor.

What it did was wipe out the speakers in the monitor. Now i have no sound and an annoying 2″ square box with a speaker diagram with an X through it migrating around the screen.

No difference to screen appearance I can detect. I can’t find the display folder or the override folder.

John Hightower
Reply

Update – of sorts: This morning I have sound back, I’m not aware of changing anything. I did finally manage to find the systems library and overrides folder and get the new display folder pushed in there. The sound was still out after doing that, but it has returned this am. The display is noted as being forced RGB, I don’t really notice much improvement. I have continued to mess with the color display calibration and I’m getting closer to a tolerable color mix.

First thing this morning the screen started flashing. Every few seconds it would flash. I rebooted and it’s been fine since.

Pedro Ferreira
Reply

I have the PHILIPS 298P4 monitor and i can’t find a way to use the full resolution of the display,
i’ve tried these steps, but had no success.

ps: i’m using the HDMI cable, but i’ve already ordered an Mini DisplayPort to DisplayPort cable that
i’m waiting to arrive and test it.

Anyone could help me to achieve 2560×1080 on my monitor, please?

MBP 13″ Retina late 2012 / running Yosemite 10.10
Intel HD Graphics 4000 1024 MB

Adam
Reply

hello, i have a problem i downloaded the patch, i have it on my desktop, and then when i go to terminal, and type: ruby patch-edid.rb and hit enter, this is what i get :/

Last login: Sun Nov 16 14:30:16 on ttys000
MacBook-Pro-uzivatela-Adam:~ Winstead$ ruby patch-edid.rb
ruby: No such file or directory — patch-edid.rb (LoadError)
MacBook-Pro-uzivatela-Adam:~ Winstead$

im very new to mac, i dont know what to do, i have it on my desktop but it says no such file or directory, so i dotn know what to do,

i would much appreciate for any kind of advice! ty everyone

Francesco
Reply

take the patch e place it into your user folder, go to the spotlight and search macintosh hd, then go to users -> your folder.
Try again :)

Panos Spiliotis
Reply

Hello, I recently bought a DELL 2713HM to use on my MacBookPro 2011 (Yosemite 10.10.1) connected through a Mini Display to Display cable. The problem is that the colours are off, washed out. The best color profile I have found is ‘Apple RGB’, although it’s still not right.

I downloaded and run the ruby script and placed the files in the /System/Library/Displays/Overrides, and rebooted by these new profiles that appeared (Dell U2713HM EDID override) are just as bad as the original.

Is there a way to fix this? Has anyone got the same problem?

Ethan
Reply

I have a new iMac 27-in Retina 5K and am extending my monitor onto a Dell U2711. It looks like crap. Will this solution work here?

Chris
Reply

I’ve tried running this script, but no folder is created. When running it in verbose mode, I get these errors.

Exception `LoadError’ at /Users/MyUser/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/site_ruby/2.0.0/rubygems.rb:1216 – cannot load such file — rubygems/defaults/operating_system
Exception `LoadError’ at /Users/MyUser/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/site_ruby/2.0.0/rubygems.rb:1225 – cannot load such file — rubygems/defaults/ruby

I’ve got both of those gems installed though, so I’m not sure why I get that.

Phil
Reply

Worked like a charm! :-) Thanks. This was driving me crazy!

Leave a Reply