২০০৯ সাল থেকে আমার আইম্যাকের সাথে একই সমস্যা ছিল, আমার দ্বিতীয় প্রদর্শনটি ফায়ারওয়্যার থেকে ভিজিএ অ্যাডাপ্টারের মাধ্যমে সংযুক্ত। আমি এই সমস্যাগুলি সমাধান করার জন্য সবকিছু চেষ্টা করেছিলাম, এনবুরাম পুনরায় চালু করার পরে পুনরায় কাজ করার চেষ্টা করে তবে পরের বার মনিটরটি আবার সমস্যা 'স্লিপ' করে। আমি যখন রেজুলেশনটি ম্যানুয়ালি সেট করার চেষ্টা করেছি তখন আমার রেজোলিউশন (1920x1080) তালিকাভুক্ত করা হয়নি, এমনকি আরও রেজোলিউশনগুলি দেখানোর জন্য 'বিকল্প' কীটি ধারণ করার পরেও।
আমি এন্টেয়াস শোয়ার্জের এই পোস্টটির সমাধান এম্বেডভন.টনে পেয়েছি (তাঁর কোডটির লিংকটি দেখুন, আমি 2 টিরও বেশি লিঙ্ক পোস্ট করতে পারি না) এটি সমস্যাটি সংশোধন করার জন্য সরাসরি উদ্দেশ্য করা হয়নি, তবে এটি আমার সাথেই ঘটে।
ডিসপ্লেটি কেবল আরজিবিকে সমর্থন করে বলে ওএস এক্সকে জানানোর জন্য ডিসপ্লেটির ইডিআইডি ডেটা ওভাররাইড করে সমস্যার সমাধান করা যেতে পারে। এটি "আইরেগ-এল" দিয়ে ইডিআইডি পড়ে, আপত্তিকর বিটগুলিকে সংশোধন করে (উইকিপিডিয়া নিবন্ধে স্পেসিফিকেশনটি দেখুন), এবং ওএস এক্সের জন্য ডিসপ্লে কনফিগার ওভাররাইড ফাইল তৈরি করে এটি করা যেতে পারে
তারপরে এই ওভাররাইড ফাইলটি তৈরি করতে তিনি একটি রুবি স্ক্রিপ্ট সরবরাহ করেছিলেন:
#!/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
'রুবি প্যাচ-এডিড.আরবি' দিয়ে টার্মিনালে এই স্ক্রিপ্টটি কার্যকর করা "ডিসপ্লে এক্সএক্সএক্সএক্স" নামে একটি ফোল্ডার তৈরি করে
অন্তর্ভুক্ত ফোল্ডারটিকে / সিস্টেম / লাইব্রেরি / প্রদর্শন / ওভাররাইডগুলিতে সরান। পুনরায় বুট করার পরে, মনিটরের দেখানো উচিত যে আরজিবি রঙগুলি ব্যবহৃত হয়েছে।
রিবুট করার পরে রেজুলেশনটি সঠিক ছিল না, তবে আমি প্রদর্শন সেটিংসে সঠিকটি সেট করতে সক্ষম হয়েছি।
~/Library/Application Support/Preferences/com.apple.desktop.plist
আপডেট হচ্ছে না। তবে আমি নিশ্চিত নই যে এটি কোথায় সংরক্ষণ করা হচ্ছে ts