MacBook Pro の外部ディスプレイの色味がおかしいときの対策

タイトルが長い。

2020/02/08 追記

  • DisplayPort を諦めて HDMI 出力にしたら正常な出力になった。しかし、これケーブルにもよる印象がある。
  • うまくいっているケーブルは Anker の USB-C to HDMI
    • これ

  • HDMI でうまくいく場合は、下に書いた XML の設定と組み合わせると不調の原因になる。XML による設定の上書きを解除してから試すと良い。

まとめ

  • MacBook Pro の外部ディスプレイ出力は DisplayPortで HDMI I問わず (DPだけかも) 色味がおかしくなることがある。
  • 直すには xml を作って特定の場所に置く必要がある
  • /System 以下の場所なので、Catalina (正確には El Capitan 以降すべて)ではリカバリーモードのターミナルを起動して設置するのがよい。
  • ただしリカバリーモードのターミナルは強力な権限をもっているので、注意して作業を行うこと。この対処方法でなんらかの不利益がおきたとしても補償できません。

状況

MacBook Pro 13inch 2017 から Philips の 328P6VJEB/11 という 32インチ 4k 対応のディスプレイに、usb-c → displayport 変換ケーブルで接続している。4k 解像度を 60Hz で表示できているが、色味がおかしい。色味がおかしいといいうのは全体に白っぽく、階調がやたら狭い。どういういことが起きるかと言うと薄い水色のような明るい色がほぼ白に見えてしまう。輝度が高すぎるような感じにも見えるがディスプレイ側で輝度を最低にしても暗くなるだけで改善しない。

対応方法

RGB で出力すべきところが、YCbCr で出力されているのが問題らしく、これを訂正する。他サイトの解説では System Integrity Protection (SIP) の解除が必要と書いてある場合もあるが、リカバリーモードを使うことで SIP の解除は不要。

    $ cd #/Useres/<YOUR_ID> で作業する前提
    $ curl -O https://gist.githubusercontent.com/ejdyksen/8302862/raw/5a1b27ff53ef738d5a977d2a06bb6575935b5914/patch-edid.rb
    $ ruby patch-edid.rb # DisplayVendorID-XXXX みたいなディレクトリができる
  • MacBook を再起動してすぐに Ctrl-R を押しっぱなしにして、リンゴマークが出たら指をはなす。この手順でリカバリーモードに入る。
  • リカバリーモードは画面上部のメニューからターミナルを開けるのでターミナルを開く。このターミナルは強い権限をもつので操作には十分注意すること。
  • 開いたターミナルで、先程作成した xmlディレクトリごと移動する
    $ cp -r  /Volumes/Macintosh\ HD/System/Library/Displays/Contents/Resources/Overrides/DisplayProductID-XXXX /Volumes/Macintosh\ HD/Users/<YOUR_ID>/DisplayProductID-XXXX.back # すでに存在する場合のバックアップ。存在しないなら不要
    $ cp -r /Volumes/Macintosh\ HD/Users/<YOUR_ID>/DisplayProductID-XXXX /Volumes/Macintosh\ HD/System/Library/Displays/Contents/Resources/Overrides/
    $ exit

参考文献

ここにいたる物語

もともとこの Philips のディスプレイ 328P6VJEB/11 を買ったのは数年前で、当時も MacBook Pro 2013 あたりをつなごうとして挫折したのであった。当時は 4k@60Hz を出す方法が微妙で、うまく行っても不安定だったりして結局 Windows マシンにつないで利用していた。そんな折にふと手元にある MacBook 2018 で接続してみたところ動作は安定しているが色味がとんでもないということに気づいた。価格コムの当該ディスプレイの口コミにもこの問題が話されており、概ねそのスレッドを読めば問題が把握できる。ケーブルのせいにミスリードされている気もしてちょっともったいない。とはいえ、本当にケーブルの問題で、DP接続をあきらめHDMIにすれば解決する場合もあるのかもしれず一概に間違いということはできないだろう。その後出力を RGB に直すべく関連情報を漁っていると、ファイルの移動に SIP の解除が必要とか不要とか最近の OSX の仕様変更に関係する問題が出てきて、最終的にはSIPを解除しない上のような手順がみつかった。しかしこれが2013年から解決していない問題というのはなかなかつらい。OS Updateで直るという報告もないわけではないのだが。

そして解決しても今度はアンチエイリアスの効かない世界が待っており、4k ならバラ色だぜとは行かないのがまた悲しい。かつて OS Xwindows とちがってフォントにアンチエイリアスが効くのが売りだったのに。最近の AppleRetina 前提でアンチエイリアスを切るように変更をしてきているように見え、これに従うならば最新の Pro Display XDR (税込み 582,780円)を買うしか外部ディスプレイの道はない。と思ったけどLG UltraFine 5K Display (税込み159,280円) みたいな 27インチ5kという手もあるか。24インチ4kでは200ppi に届かないから iMac は21.5 インチ4kなんだね。そして MacBook のディスプレイは ppi が高いだけじゃなくて色域も広くて結構良いディスプレイなんで、これに遜色ない外部ディスプレイを手に入れようとするとなかなか存在しないということもよくわかった。MacBook 高いよと思いつつ、ディスプレイのために買っているんだと思えば少しは許せるかもしれない。

などと無駄にディスプレイに詳しくなる週末であった。