2009 년부터 iMac과 비슷한 문제가 있었는데, 두 번째 디스플레이는 firewire-to-VGA 어댑터를 통해 연결되었습니다. 나는이 문제를 해결하기 위해 모든 것을 시도했지만 재부팅 후 nvram을 재설정했지만 모니터가 다음에 '슬립'할 때 문제가 다시 발생했습니다. 해상도를 수동으로 설정하려고 할 때 더 많은 해상도를 표시하기 위해 '옵션'키를 누른 경우에도 내 해상도 (1920x1080)가 나열되지 않았습니다.
Andreas Schwarz가 embdev.net 에서이 게시물에 대한 해결책을 찾았습니다 (코드에있는 링크 참조, 2 개 이상의 링크를 게시 할 수 없음).이 문제를 직접 수정하기위한 것이 아니지만 나에게 해당됩니다.
OS X에 디스플레이가 RGB 만 지원한다는 것을 알리기 위해 디스플레이의 EDID 데이터를 재정의하면 문제를 해결할 수 있습니다. "ioreg -l"로 EDID를 읽고 문제가되는 비트를 수정하고 (Wikipedia 기사의 스펙 참조) 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
터미널에서 'ruby patch-edid.rb'를 사용하여이 스크립트를 실행하면 "DisplayXXX"라는 폴더가 생성됩니다.
포함 된 폴더를 / System / Library / Displays / Overrides로 이동하십시오. 재부팅 후 모니터에 RGB 색상이 사용되었음을 표시해야합니다.
재부팅 후 해상도가 올바르지 않지만 디스플레이 설정에서 올바른 해상도를 설정할 수있었습니다.
~/Library/Application Support/Preferences/com.apple.desktop.plist
이 업데이트되지 않는다는 것입니다. 그러나 그것이 저장되는 위치가 확실하지 않습니다.