मुझे 2009 से एक iMac के साथ एक समान समस्या थी, मेरा दूसरा प्रदर्शन एक फायरप्लेस-टू-वीजीए एडाप्टर के माध्यम से जुड़ा हुआ है। मैं इस मुद्दे को ठीक करने के लिए सब कुछ करने की कोशिश की, nvram रीसेट एक रिबूट के बाद काम किया, लेकिन अगली बार मॉनिटर 'सो' समस्या फिर से उत्पन्न हुई। जब मैंने रिज़ॉल्यूशन को मैन्युअल रूप से सेट करने का प्रयास किया तो मेरा रिज़ॉल्यूशन (1920x1080) सूचीबद्ध नहीं था, तब भी जब अधिक रिज़ॉल्यूशन दिखाने के लिए 'विकल्प' कुंजी को दबाए रखा गया था।
मुझे इस पोस्ट पर एंड्रियास श्वार्ज़ द्वारा embdev.net पर एक समाधान मिला (उनके कोड में लिंक को देखें, मैं 2 से अधिक लिंक पोस्ट नहीं कर सकता) यह सीधे समस्या को ठीक करने का इरादा नहीं था, लेकिन यह मेरे साथ है।
OS X को बताने के लिए डिस्प्ले के EDID डेटा को ओवरराइड करके समस्या का समाधान किया जा सकता है कि डिस्प्ले केवल RGB को सपोर्ट करता है। EDID को "ioreg -l" के साथ पढ़ा जा सकता है, आपत्तिजनक बिट्स को संशोधित कर सकते हैं (विकिपीडिया लेख में विनिर्देश देखें), और OS X के लिए डिस्प्ले कॉन्फिगर ओवरराइड फ़ाइल बना सकते हैं।
फिर उन्होंने इस ओवरराइड फ़ाइल को बनाने के लिए एक रूबी स्क्रिप्ट प्रदान की:
#!/usr/bin/ruby
# Create display override file to force Mac OS X to use RGB mode for Display
# see http://embdev.net/topic/284710
#
# Update 2013-06-24: added -w0 option to prevent truncated lines
require 'base64'
data=`ioreg -l -w0 -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) rescue nil
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
'रूबी पैच-एडिड.ब्र' के साथ टर्मिनल में इस स्क्रिप्ट को निष्पादित करना "DisplayXXX" नामक एक फ़ोल्डर बनाता है
निहित फ़ोल्डर को / सिस्टम / लाइब्रेरी / डिस्प्ले / ओवरराइड में स्थानांतरित करें। रिबूट के बाद, मॉनिटर को दिखाना चाहिए कि आरजीबी रंगों का उपयोग किया जाता है।
रिबूट करने के बाद रिज़ॉल्यूशन सही नहीं था, लेकिन मैं डिस्प्ले सेटिंग्स में सही सेट करने में सक्षम था।
~/Library/Application Support/Preferences/com.apple.desktop.plist
अपडेट नहीं हो रही है। लेकिन मुझे यकीन नहीं है कि अगर यह कहाँ जमा हो रहा है।