MacBook Air 2020 の画面を 1920 x 1200 へ変更する


はじめに

  • 最近、MacBook Air 2020 を購入しました!
  • 私は、MacBook Air と FullHD の外部ディスプレイを使う場合が多いです。
  • 外部ディスプレイは、MacBook Air の上側に配置します。
  • その場合、MacBook Air と 外部ディスプレイの横幅が 1920 になっていると、使いやすいです。
  • 今回、MacBook Air 2020 で 1920 x 1200 を設定する方法を確認しました。
  • macOS Catalina で確認しました。
  • また、macOS Big Sur では、ファイルの編集が出来ないので、変更出来ませんでした。

手順

DisplayVendorID

  • DisplayVendorID を確認します。
  • 1552 でした。
% ioreg -lw0 | grep DisplayVendorID
    | |   | | |       "DisplayVendorID" = 1552

DisplayProductID

  • DisplayProductID を確認します
  • 41027 でした。
% ioreg -lw0 | grep DisplayProductID
    | |   | | |       "DisplayProductID" = 41027

16進数へ変換

  • DisplayVendorID と DisplayVendorID の16進数を確認します。
  • 1552610
  • 41027a043
% printf '%x %x\n' 1552 41027
610 a043

IODisplayPrefsKey

  • IODisplayPrefsKey と上記の16進数と一致するか確認します。
% ioreg -lw0 | grep IODisplayPrefsKey
    | |   | | |       "IODisplayPrefsKey" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@0/display0/AppleBacklightDisplay-610-a043"

System Integrity Protection の確認

  • 状態を確認します。enabled のはずです。
  • 再起動します。再起動時は、command + R で起動します。
% csrutil status
System Integrity Protection status: enabled.

System Integrity Protection の変更

  • ターミナルを起動します。
  • disabled へ変更します。変更後、再起動します。
% csrutil disable

mount 状態の変更

  • 通常では、設定ファイルを変更できません。
  • 以下で、変更を実施します。
$ sudo mount -uw /

1920 x 1200 の base64 値を取得

  • 以下で、base64 の値を確認します。
  • 参考に 2560 x 1600 の場合も記載します。私は、確認していません。
% printf '%08x%08x00\n' $((1920*2)) $((1200*2)) | xxd -r -p | base64
AAAPAAAACWAA

% printf '%08x%08x00\n' $((2560*2)) $((1600*2)) | xxd -r -p | base64
AAAUAAAADIAA

設定ファイルの変更

  • 1920 x 1200 の AAAPAAAACWAA<array> の配下へ追記します。
  • 設定フォルダやファイルは、610a043 を含むものが対象です。
% sudo vim /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-610/DisplayProductID-a043
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>DisplayVendorID</key>
        <integer>1552</integer>
        <key>DisplayProductID</key>
        <integer>41027</integer>
    <key>DisplayProductName</key>
    <string>Color LCD</string>
    <key>DisplayLeakage</key>
    <real>0.419</real>
    <key>DisplayLowestLevel</key>
    <real>2</real>
    <key>DisplayLowestMeasured</key>
    <real>0.4323</real>
    <key>DisplayBacklight</key>
    <real>400.00</real>
    <key>DisplayDarkReflection</key>
    <real>1.00</real>
    <key>DisplayBrightReflection</key>
    <real>405.00</real>
    <key>IOGFlags</key>
    <integer>4</integer>                
    <key>scale-resolutions</key>
    <array>
        <data>AAAPAAAACWAA</data>
        <data>AAANIAAACDQA</data>       
        <data>AAALQAAABwgA</data>       
        <data>AAAKAAAABkAA</data>       
        <data>AAAIAAAABQAA</data>       
        <data>AAAKAAAABkAAAAABACAAAA==</data>   
        <data>AAAKAAAABaAAAAABACAAAA==</data>   
        <data>AAAHgAAABLAAAAABACAAAA==</data>   
        <data>AAAHgAAABDgAAAABACAAAA==</data>   
        <data>AAAFAAAAAtAAAAABACAAAA==</data>   
        <data>AAAGcgAABBoAAAAB</data>       
        <data>AAAFoAAAA4QAAAAB</data>       
        <data>AAAFAAAAAyAAAAAB</data>       
        <data>AAAEgAAAAtAAAAAB</data>       
        <data>AAAEAAAAAwAAAAAB</data>       
        <data>AAADSAAAAg0AAAAB</data>       
        <data>AAADIAAAAlgAAAAB</data>       
        <data>AAACgAAAAeAAAAAB</data>       
        <data>AAANIAAACDQAAAAJAKAAAA==</data>   
        <data>AAALQAAABwgAAAAJAKAAAA==</data>   
        <data>AAAKAAAABkAAAAAJAKAAAA==</data>   
        <data>AAAIAAAABQAAAAAJAKAAAA==</data>   
        <data>AAAKAAAABaAAAAAJAKAAAA==</data>   
        <data>AAAGcgAABBoAAAAJAKAAAA==</data>   
        <data>AAAHgAAABLAAAAAJAKAAAA==</data>   
        <data>AAAHgAAABDgAAAAJACAAAA==</data>   
        <data>AAAFAAAAAtAAAAAJACAAAA==</data>   
    </array>
    <key>target-default-ppmm</key>
    <real>10.0699301</real>
</dict>
</plist>

System Integrity Protection の変更

  • 上記の逆の手順で enabled へ戻します。

ディスプレイ設定

  • 以下の様に 1920 x 1200 が追加されます。

おわりに

  • MacBook Air 2020 で 1920 x 1200 の画面を利用できるようにしました。
  • おそらく、MacBook Pro でも同様の作業で変更できます。
  • 自己責任でお願いします!!!