Mac Os X System Library Displays Overrides

Create display override file to force Mac OS X to use RGB mode for Display.

Mac Os X Operating System

Mac
About.md
DisplayProductID-4065

I have a Dell P4317Q monitor and it only displays colours correctly when it receives the signal as an RGB signal instead of YPbPr signal that is transmitted to this monitor by Mac OS X by default In order to achieve correct colour display functionality on the Dell P4317Q, forced RGB mode has to be implemented as per this instruction.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPEplist PUBLIC '-//Apple//DTD PLIST 1.0//EN' 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'>
<plistversion='1.0'>
<dict>
<key>DisplayProductName</key>
<string>Dell U3011 (RGB 4:4:4 Only)</string>
<key>IODisplayEDID</key>
<data>AP///////wAQrGVATDNCQgIXAQS1QCh4Io2FrU81sSUOUFSlSwBxT4EAgYCp
QNEA0UABAQEB4mgAoKBALmAwIDYAgZEhAAAaAAAA/wBQSDVOWTMxR0JCM0wK
AAAA/ABERUxMIFUzMDExCiAgAAAA/QAxVh1xHAAKICAgICAgABI=
</data>
<key>DisplayVendorID</key>
<integer>4268</integer>
<key>DisplayProductID</key>
<integer>16485</integer>
</dict>
</plist>
DisplayProductID-4080
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPEplist PUBLIC '-//Apple//DTD PLIST 1.0//EN' 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'>
<plistversion='1.0'>
<dict>
<key>DisplayProductName</key>
<string>Dell U2713HM (RGB 4:4:4 Only)</string>
<key>IODisplayEDID</key>
<data>AP///////wAQrIBATFEyQSsWAQSlPCJ4Iku1p1ZLoyUKUFSlSwCBALMA0QBx
T6lAgYABAQEBVl4AoKCgKVAwIDUAVVAhAAAaAAAA/wBHSzBLRDJBTUEyUUwK
AAAA/ABERUxMIFUyNzEzSE0KAAAA/QAxVh1xHgEKICAgICAgAKE=
</data>
<key>DisplayVendorID</key>
<integer>4268</integer>
<key>DisplayProductID</key>
<integer>16512</integer>
</dict>
</plist>

Mac Os X Download

patch-edit.rb
#!/usr/bin/ruby
# Create display override file to force Mac OS X to use RGB mode for Display
# see http://embdev.net/topic/284710
require'base64'
data=`ioreg -l -d0 -r -c AppleDisplay`
edid_hex=data.match(/IODisplayEDID.*?<([a-z0-9]+)>/i)[1]
vendorid=data.match(/DisplayVendorID.*?([0-9]+)/i)[1].to_i
productid=data.match(/DisplayProductID.*?([0-9]+)/i)[1].to_i
puts'found display: vendorid #{vendorid}, productid #{productid}, EDID:n#{edid_hex}'
bytes=edid_hex.scan(/../).map{|x|Integer('0x#{x}')}.flatten
puts'Setting color support to RGB 4:4:4 only'
bytes[24] &= ~(0b11000)
puts'Number of extension blocks: #{bytes[126]}'
puts'removing extension block'
bytes=bytes[0..127]
bytes[126]=0
bytes[127]=(0x100-(bytes[0..126].reduce(:+) % 256)) % 256
puts
puts'Recalculated checksum: 0x%x' % bytes[127]
puts'new EDID:n#{bytes.map{|b|'%02X'%b}.join}'
Dir.mkdir('DisplayVendorID-%x' % vendorid)rescuenil
f=File.open('DisplayVendorID-%x/DisplayProductID-%x' % [vendorid,productid],'w')
f.write'<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE plist PUBLIC '-//Apple//DTD PLIST 1.0//EN' 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'>
<plist version='1.0'>'
f.write'
<dict>
<key>DisplayProductName</key>
<string>Display with forced RGB mode (EDID override)</string>
<key>IODisplayEDID</key>
<data>#{Base64.encode64(bytes.pack('C*'))}</data>
<key>DisplayVendorID</key>
<integer>#{vendorid}</integer>
<key>DisplayProductID</key>
<integer>#{productid}</integer>
</dict>
</plist>'
f.close

commented Apr 13, 2015

OS X Yosemite 10.10.2

commented Apr 13, 2015

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
Mac Os X System Library Displays Overrides

X System Hunting Clothes

Mac os x system library displays overrides downloadProblem:

Mac Os X Information

MacOSX doesn't allow all your screen resolutions if you don't have a display from Apple. For me, it would only allow me to run my iiyama 19' CRT at 75Hz, such that I could still see a little flickering. In MacOS 9, I didn't have this Problem. This was making me mad for as long as I have MacOSX installed.

Mac Os X System Library Displays Overrides In Horizon

Solution:

X System Scent Control

In /System -> Library -> Displays -> Overrides, I found some folders named 'DisplayVendorID-[hex-number];' these contain XML files named 'DisplayProductID-[hex-number].' These files contain the information the system uses to determine wich resolutions to allow. All you have to do is create your own display definition. The problem is, you have to find out what DisplayVendorID and DisplayProductID your display is registered as. If you have the Developer Tools installed, you can use 'IORegistryExplorer' to find out. The path for me was IOService:/Root -> PowerMac3,5 -> MacRISC2Pe -> NVDA,DisplayB@1 -> .Display_NV-01108000 -> display0 -> AppleDisplay (I have a GeForce4 MX video card). [robg adds: I changed the '/' into ' -> ' so the lines would break.]
With the DisplayVendorID and DisplayProductID I found there, I created my own Display definition. I just copied this one: 'DisplayVendorID-756e6b6e/DisplayProductID-9210' (this must be the definitions for a 'Studio Display 21' by Apple) to a path containing the DisplayVendorID and DisplayProductID I found in the IORegistry. For the filename, the values must be in hex, and of course you have to be root to do that. Then I opened the new file and changed the values with key 'DisplayProductID' and 'DisplayVendorID' to the same values (but this time they must be base10 notation - not hex).
After restarting the computer, the OS now thinks it has an Apple Studio Display 21 attached and lets me set my Display to many more resolutions and refresh rates!
But WARNING!: As we all know playing around with display resolutions may be a dangerous thing! So if your old CRT goes up in flames ... or just black forever - I don't want to be held responsible!
[robg adds: Please heed the warning, as you really could potentially do bad things to your monitor with this hint! If you do manage to select an invalid screen resolution, you may be able to restore OS X functionality (if you didn't fry the monitor) with this hint. Also, a safer approach might be to try the method listed in this hint, and/or use the SwitchRes X application mentioned in the comments to that hint.]