13inch MacBookPro Retina で解像度 1920×1200 を HiDPI モードで使う方法
mac OS Sierra に対応した内容で新たに記事を書きました。そちらを参照してください。
OS X で画面サイズを拡張する系のソフトウェアに QuickRes というものがあります。 ちょっと画面を広く使いたいなーというときに、WUXGA(1920 x 1200) なディスプレイで擬似的に WQXGA (2560 x 1600) 表示するなどして便利に使っています。 先日 13 インチ MacBookPro Retina を使い始め、そのマシンにも QuickRes をインストールしてみました。ところが、 HiDPI モードで 1920 x 1200 が選択できないようでした。
HiDPI ではなく Standard モードでは選択できるのですが、表示される画像がボケてしまうので、できれば HiDPI モードで使いたいところ。 一時期 15 インチ MacBookPro Retina を使っていた時があるのですが、その際はメニューの中に 1920 x 1200 の項目がありました。 13 インチでは使えないのかなと思い調べてみたところ、 OS のディスプレイ認識まわりのファイルの書き換えで選択が可能になるようでしたので、試してみました。
環境
- MacBookPro Retina 13 inch Mid 2014
- OS X Yosemite 10.10.1
お約束
システムで使われるファイルの書き換えを行います。下記の内容を試す際は自己責任でお願いします。
ディスプレイ認識に関するファイルを書き換える
調べたところ、 OS X のディスプレイ認識に関係するファイルを書き換えることで、 HiDPI モードで 1920 x 1200 を選択できるようになるみたいです。 目的のファイルは次のディレクトリに存在します。
/System/Library/Displays/Overrides
このディレクトリには DisplayVendorID-*** ディレクトリの中に DisplayProductID-*** ファイルが保存されているという構成になっています。各ファイルは plist 形式になっているようです。
どのファイルを書き換えれば良い?
これらのファイルは、ディスプレイの製造会社と製品ごとに分けられているようです。 それぞれ DisplayVendorID, DisplayProductID の2つの識別子が割り当てられています。 自分の使っているマシンの識別子を特定し、対応するディレクトリ/ファイルの中身を書き換えていくことになります。 自分のマシンの DisplayVendorID, DisplayProductID を知るには、 terminal で次のコマンドを実行することで調べることができます。
ioreg -lw0 | grep IODisplayPrefsKey
上記コマンドを実行すると、下のような結果が出てくるかと思います。 注目するのは実行結果の一番最後です。
| | | | | | "IODisplayPrefsKey" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@0/display0/AppleBacklightDisplay-610-a020"
AppleBacklightDisplay-610-a020 と表示されています。この “AppleBacklightDisplay” にハイフンで続く英数字が、それぞれ順に DisplayVendorID, DisplayProductID となります。
上記例の場合、書き換えるべきファイルは
/System/library/Displays/Overrides/DisplayVendorID-610/DisplayProductID-a020
ということになります!
1920 x 1200 (HiDPI) を追加する
書き換えを行うファイルがわかったので、バックアップをとったうえで書き換えを行ってみます。
cp /System/Library/Displays/Overrides/DisplayVendorID-610/DisplayProductID-a020 ~/DisplayProductID-a020.original
sudo vim /System/Library/Displays/Overrides/DisplayVendorID-610/DisplayProductID-a020
<data> ~~ </data> と書かれた謎の文字列が並んでいます。 その一番最後に次の内容を追記します。参考にしたサイト曰く、これが HiDPI で 1920 x 1200 を使うためのデータなんだそうです。
<data>AAAPAAAACWAAAAAB</data>
書き換えが終わったら Mac を reboot します。
reboot 後、再び QuickRes のメニューを見てみると…
HiDPI のメニューの中に 1920 x 1200 が表示されました!
環境設定で変更できる画面サイズも変わる模様
OS X では次のようなコマンドを打つことで、現在設定されている解像度を調べることができます。
% osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 1920, 1200 # この場合解像度は 1920 x 1200
上記コマンドを使い、環境設定で変更できる解像度が何であるかを調べてみました。 デフォルト (ファイル書き換えを行う前)では、ディスプレイの設定で選択できる解像度は Larger Text から More Space まで次のようになっているようです。
- 1024 x 640 Larget Text
- 1280 x 800 Best (Retina)
- 1440 x 900
- 1680 x 1050 More Space
上で記述したファイルの書き換えを行ったあとは、環境設定で選択できる解像度は次のようになりました。
- 1280 x 800
- 1440 x 900 Best (Retina)
- 1680 x 1050
- 1920 x 1200 More Space
選択できる解像度の範囲が変わりました。 HiDPI モードでの使用だけであれば、 QuickRes のような画面サイズ拡張系アプリは使わなくても良いかもしれませんね。
参考サイト
Previous Post
Next Post