MacBook Air/Pro 13" Retinaの仮想画面解像度を1920x1200 Hi-DPIにする (Big Sur対応版)
macOS Big Sur Developer PreviewをMacBook Proに入れて使っているのですが、いつもの画面解像度FHD切り替えをやろうと思ってちょっとだけハマりました。SIPがあることと、それによってシステムファイルが保護されているので、今までの手法が使えませんでした。
これまでからちょっとだけ改訂して、メモ代わりに以下の手順を残しておきます。
ディスプレイのベンダIDとプロダクトIDを取得するのはいつもどおり。
$ sudo ioreg -lw0 | grep DisplayVendorID
おそらく、文字列に混じって "DisplayVendorID" = 1552 などの値が返ってくるはずです。次に、同様にしてディスプレイのプロダクトIDを取得します。
$ sudo ioreg -lw0 | grep DisplayProductID
これも、同じように 41025 などの値が取得できるはずです。
これらの数値を、『計算機』アプリなどを利用して16進数に変換してください。以下の例では、1552 を変換して 0x610、41025 を変換して 0xa041 だったものとして操作を進めます。適宜置き換えてください。
ここからが今までとちょっとだけ違います。
$ sudo mkdir -p /Library/Displays/Contents/Resources/Overrides/DisplayVendorID-**610**
$ sudo cp -r /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-**610**/DisplayProductID-**a041** /Library/Displays/Contents/Resources/Overrides/DisplayVendorID-**610**/DisplayProductID-**a041**
ここで、システムデフォルトの設定をライブラリへコピーしています。次に、このファイルを編集します。
$ sudo vi ./DisplayVendorID-**610**/DisplayProductID-**a041**
このファイル内から <key>scale-resolutions</key> の行を探して、<array> の次の行へ以下の文字列を挿入します。
<data>AAAPAAAACWAAAAAB</data>
この値を保存してから再起動し、今度はJibapps社の『Displays』というアプリ(※App Storeにもあります)を使って画面解像度を切り替えてあげれば完了です。Catalinaあたりから、システム環境設定では切り替えられなくなってしまいました。