Ideal Reality

パソコンのある生活を良くするためのサイト

macOSで利用できる擬似解像度を追加する

MacではRetina Displayの搭載されたモデルで適切な表示を行うために、擬似的な解像度でレンダリングを行ってから実際のディスプレイ解像度にスケールする機能があります。

標準で選べるのは5種類ですが、キーボードのOption(Alt)を押しながら「変更」に切り替えることでより多くの解像度を選ぶことができます。

選べる解像度が増える

また、以下のようなサードパーティーのアプリを利用することで更に多くの解像度に変更できます。

avibrazil/RDM

Easily set Mac Retina display to higher unsupported resolutions - avibrazil/RDM

ただし、それでも欲しい擬似解像度が必ずあるとは限りません。そこで、利用できる擬似解像度の追加をします。

Contents
スポンサーリンク

環境

今回、自宅のiMacをMacbook Airから遠隔操作しやすいよう、iMacで1680x1050(HiDPI)の擬似解像度を使えるようにします。

  • モデル
    • iMac (Retina 5K, 27-inch, 2019)
  • OS
    • macOS Catalina 10.15.6
  • 追加する解像度
    • 1680x1050(HiDPI) = 3360x2100

この記事ではiMacの内蔵Retinaディスプレイを例に説明しますが、同様の方法でMacbookや外部ディスプレイでもできるはずです。

SIPの無効化

今回、解像度を追加するためにシステムファイルをいじるので、SIP(rootless)を無効化しないといけません。 Command + Rを押しながらMacの電源を入れて、リカバリ環境が起動したらターミナルを開いてcsrutil disableを実行してください。 詳しくは検索すればすぐに出てくるので、ここでは書きません。

スポンサーリンク

ディスプレイファイルの編集

システムボリュームを書き込み可能にする

この作業はMojave以前のバージョンでは不要です。Catalinaからシステムファイルがユーザーファイルとは別のreadonlyなボリュームに移されたので、そのままでは書き込みできません。 以下のコマンドでシステムファイルを書き込めるようにシステムボリュームをマウントし直してください。

sudo mount -uw /

編集するファイルを探す

解像度の一覧が定義されているファイルは/System/Library/Displays/Contents/Resources/Overrides/以下にあるのですが、Vendor IDとProduct IDでファイルが分かれています。 Vendor IDとProduct IDはシステム環境設定ディスプレイカラー[変更したいディスプレイのプロファイル]プロファイルを開くmmodと辿っていくと分かります。

これをもとに編集するべきファイルを探してください。 今回のiMac 5K 2019では/System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-610/DisplayProductID-ae27を編集すればいいことが分かります。

解像度を追加する

まずは以下のようなコマンドで目的のファイルをスーパーユーザーで開きます。

cd /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-610/
sudo nano DisplayProductID-ae27

そうすると、<key>scale-resolutions</key>という記載のすぐ下に<data>AAAPAAAACHAAAAABACAAAA==</data>というようなデータが並んでいると思います。 この<data> ~ </data>ひとつひとつが定義されている解像度であり、この末尾に目的の解像度を追加すればOK。

目的の解像度のデータが何なのかってのは以下のディスプレイファイルを生成するツールを使えば分かります。

Scaled Resolutions for your MacBooks external monitor | by Comsysto Reply

少しややこしいのですが、入力する解像度はポイントではなくピクセル単位になります。つまり、1680x1050(HiDPI)の解像度にしたかったら、倍の3360x2100を入力してHiDPIにチェックを入れるということ。HiDPIでないならそのまま入力すればいいのですが、そうじゃなければ注意してください。

これを<data> ~ </data>の最後に追加するとこんな感じになるはず。

あとは保存して再起動してください。そうすればRDMから選べるようになってるはずです。

SIPの有効化

無事解像度が追加できたなら、SIPを再度有効化してください。再度リカバリー環境で起動し、ターミナルからcsrutil enableで有効化できます。

うまくいかない時は

テキストエディタやFinderがファイルに拡張属性を追加してしまうと認識しなくなります。ls -l@で拡張属性がついていないか確認し、もし拡張属性がついているならxattrコマンドで削除してください。

まとめ

今までiMacで設定できる16:10の解像度が低解像度の1920x1200のみで、Macbook Airから画面共有で繋ぐ時はこれを使っていたのですが、今回擬似解像度を追加したので画面共有でもMacbook AirのRetinaディスプレイを活用できるようになり、みやすくなりました。 ちょっとハードル高めで面倒ですが、困ってたら試してみる価値はあると思います。

スポンサーリンク

参考

bbhardin/A-Guide-to-MacOS-Scaled-Resolutions

Contribute to bbhardin/A-Guide-to-MacOS-Scaled-Resolutions development by creating an account on GitHub.

スポンサーリンク

コメント

投稿されたコメントはありません

名前

メールアドレス(任意)

コメント

関連する投稿

Core i9 iMac 2019の消費電力とベンチマーク

iMacの容量を外付けSSDを使って増やした話

iMac 5K 2019 VESAモデル届きました

Core i9 iMacのターボブーストの挙動