MacにHDMIで接続した外部ディスプレイの色味がおかしいのを直す
MacBook Pro 13-inch 2020 CatalinaにUSB-Cハブ[1]経由で外部ディスプレイ[2]を接続したら、デスクトップは映るものの紫色の色味が強く、微妙な気持ちになった。どうやらHDMI出力がRGBでなくYCbCrになってしまっているから、らしいがやはり普通の色味で使いたい。
USB-C経由で接続すると正常に動作することが多い、という情報も得られたがUSB-Cポートがただでさえ少ない13-inchモデルなので、どうしてもHDMI経由で使いたい。さらに調べると有志が書いたRubyスクリプトを使うことで強制的に色味を修正できるような情報を得た。
- Download this script: https://gist.github.com/adaugherity/7435890
- Place the patch-edid.rb file into the /Users/ directory
- Run this command in Terminal:
ruby /Users/patch-edid.rb
- Move the output file named "DisplayProductID-d084" from /Users/~username/ to the /Users/ directory
- Reboot your Mac in Recovery Mode by pressing Command+R as soon as you see the Apple logo after rebooting
- Open Terminal in Recovery Mode
- Run this command in Terminal:
cp /Volumes/Macintosh\ HD/Users/DisplayProductID-d084 /Volumes/Macintosh\ HD/System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-10ac
手順は若干修正する必要があって、2.でRubyスクリプトを配置する際にはroot権限が要るのでsudo cp
などで移動する。/Users 配下なのだから当たり前だが。3.の実行もsudo ruby
にする必要があるかどうかを忘れたが必要だと思う。
また、リカバリーモードで起動したあとはまずディスクユーティリティでMacintosh HDをマウントしないとターミナルから /Volumes/Macintosh\ HD にアクセスできない。
加えて、手順にはDisplayProductID-d084やDisplayVendorID-10acと書いてあるが、これはディスプレイによって末尾の4桁のIDが変わるのだと思う(自身の環境では変わった)。なのでRubyスクリプトが出力したファイルを適切なIDのディレクトリに配置しないといけない。
上記にある手順を若干修正しつつ試してみたら、正常な色味で外部ディスプレイを使えるようになった。余計なHDMI to USB-Cケーブルを買わなくて済んだ(買う寸前だった)。
-
使ったUSB-Cハブはこれ https://www.amazon.co.jp/gp/product/B08GS8P929/ ↩︎
-
LGのE2441VXというディスプレイで2008年頃?に購入したものでかなり古い ↩︎
Discussion