- Mac Os X Operating System
- Mac Os X Download
- X System Hunting Clothes
- Mac Os X Information
- Mac Os X System Library Displays Overrides In Horizon
- X System Scent Control
Mac Os X Operating System
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> |
<?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
#!/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
X System Hunting Clothes
Problem: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.]