LoginSignup
19
14

More than 5 years have passed since last update.

MacBook ProのRetinaディスプレイでパリッとした疑似「高」解像度を得るには

Last updated at Posted at 2018-08-14

MacBook Pro 13" をデスクトップ画面広めで作業したいときはDisplay MenuやEasyResなどの解像度変更アプリをインストールすることで1920x1200以上の解像度を得られます。2560x1600ならばdot by dotでくっきりですが自分には文字などが少し小さいので眼が疲れます。2560x1600以下の解像度だと標準(1x)のスケーリングが働いてぼやけてどうにも眠たいです。これをパリッさせるべくHiDPIモード(2x)の好みの解像度を追加します。サポートされていない解像度なので自己責任で。

SIPを無効

詳細は割愛します。設定ファイルの書き換え作業が終わったら有効に戻しましょう。

# csrutil enable --without fs

Display IDの確認

編集対象の設定ファイルを知るためにDisplay IDを調べます。Macbook Pro 13" 2018はこんな感じです。

$ ioreg -lw0 | grep DisplayVendorID
    | |   | | |       "DisplayVendorID" = 1552
$ ioreg -lw0 | grep DisplayProductID
    | |   | | |       "DisplayProductID" = 41022

16進数にします。

$ printf '%x %x\n' 1552 41022
610 a03e

疑似解像度を追加

先程の16進数をたよりに編集するファイルを探しあてます。

$ cd /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-610/
$ sudo cp -a DisplayProductID-a03e{,.bak}
$ sudo vi DisplayProductID-a03e

自分が追加した解像度はこれ。


        <key>scale-resolutions</key>
        <array>
                <data>AAASAAAAC0AA</data>        <!-- 2304x1440(HiDPI) -->
                <data>AAAQAAAACgAA</data>        <!-- 2048x1280(HiDPI) -->
                <data>AAAPAAAACWAA</data>        <!-- 1920x1200(HiDPI) -->
                <data>AAANIAAACDQA</data>
                <data>AAALQAAABwgA</data>
                <data>AAAKAAAABkAA</data>
                <data>AAAIAAAABQAA</data>
                <data>AAAKAAAABkAAAAABACAAAA==</data>
                <data>AAAKAAAABaAAAAABACAAAA==</data>

あとはOSを再起動すれば解像度変更アプリで追加した項目が選択できます。

また上記のように1920x1200(HiDPI)を追加すると System Preferences -> Displays -> More Space がそれになります。Larger Textなどの他の項目も15インチモデルと同じ設定になります。

Screen Shot 2018-08-14 at 19.18.20.png

変更前 変更後
Larger Text 1024 x 640 1280 x 800
Default 1280 x 800 1440 x 900
1440 x 900 1680 x 1050
More Space 1680 x 1050 1920 x 1200

今現在の解像度を確認するコマンドは

$ osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 1920, 1200

HiDPIな疑似解像度のデータを得る

設定ファイルで用いる解像度のデータを得るには16進ダンプしたものをBASE64に変換します。HiDPIモードは縦横の数値をそれぞれ2倍します。

$ printf '%08x%08x00\n' $((2304*2)) $((1440*2)) | xxd -r -p | base64
AAASAAAAC0AA

2016年より前のMacだとこっちかもしれません。

$ printf '%08x%08x00000001\n' $((2304*2)) $((1440*2)) | xxd -r -p | base64
AAASAAAAC0AAAAAB

参考

Enabling 1920 x 1200 HiDPI Resolution on the 13" Retina MacBook Pro
HOWTO: 2880x1800 Without Scaling in OS X

19
14
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
14