世界を動かす技術を、日本語で。

新しいApple Silicon M4およびM5の4K外部ディスプレイにおけるHiDPI制限

2026年3月30日原文(smcleod.net)

概要

  • Apple Silicon M4およびM5世代から、外部4Kディスプレイでフル解像度HiDPI(3840x2160@2x)が利用不可
  • 最高HiDPIモードは3360x1890(6720x3780バッキングストア)に制限
  • ハードウェア制限ではなく、ソフトウェア側のモード生成ロジックの変更が原因
  • 各種回避策(EDID/Plist/IOKit/WindowServer再起動等)は無効
  • Appleによる修正やユーザー向けオプション追加が必要

Apple Silicon M4/M5での4K外部ディスプレイHiDPI制限の概要

  • Apple Silicon M4/M5世代 以降、外部4Kディスプレイで フル解像度HiDPI(3840x2160@2x) が選択不可
  • 最大HiDPIモード3360x1890(6720x3780バッキングストア) に制限され、従来のM2/M3世代では制限なし
  • ハードウェア制限ではなく、DCP(Display Coprocessor)上の仕様は M2 Max/M5 Maxで同一
  • WindowServerのモードリスト がM5 Maxでは制限されているため、ユーザーは
    • 4K実解像度で文字がぼやける(HiDPI無効)
    • 3.3K(3360x1890)HiDPIで作業領域が大幅減少 いずれかを選択せざるを得ない状況

各種回避策の検証と結果

  • display override plist(scale-resolutions) を設置しても M5 Maxでは効果なし
    • M2 Maxでは3840x2160 HiDPIが有効になるが、M5 MaxではWindowServerがモードを列挙しない
  • EDIDパッチ(ソフトウェア上書き) も効果なし
    • 4095x4095等の非現実的なタイミングでは失敗
    • waydabber(BetterDisplay開発者)はM4で8Kネイティブを偽装し8Kフレームバッファを実現した例あり
      • ただし実際の4Kパネルでは8K信号を受けられないため、現実的な回避策にはならない
  • モニターEEPROMへのEDID書き込み も不可
    • LG 32UN880のEEPROMはread-only、またはDDC書き込みが失敗
  • IOKit Registry Override(DisplayHints等) も不可
    • AppleDisplayCrossbarドライバがユーザースペースからの書き換えを拒否
  • WindowServerキャッシュ削除・再起動 も効果なし
    • killall WindowServerでは再起動せず、フルリブートでもモード追加不可
  • 接続ディスプレイ数削減 も影響なし
    • 2台接続でもモードリストは変わらず
  • HDMI接続への切り替え も未検証だが、帯域がDP1.4より低く、改善は見込めない
  • SkyLight Private API(SLConfigureDisplayWithDisplayMode) もバリデーションで弾かれる
    • DCP由来のモードリスト外のモードは適用不可

技術的な制限の本質

  • DCPの報告値(MaxW, MaxH, MaxActivePixelRate等)は M2 Max/M5 Maxで同一
  • WindowServerのモードリスト のみが異なり、 M5 Maxでは3360x1890 HiDPIまで
  • ソフトウェアEDID上書きでネイティブ解像度を偽装 すればスケーリング上限を引き上げ可能だが、ディスプレイが対応できないため実用的でない
  • M2/M3世代 :ネイティブ解像度の2.0倍までHiDPI生成(3840x2160→7680x4320バッキングストア)
  • M4/M5世代 :1.75倍程度に制限(3840x2160→6720x3780バッキングストア)

原因・仕様変更の考察

  • BetterDisplay開発者 waydabber の見解
    • M4世代以降、 WindowServerがフレームバッファサイズを動的に制限
    • 将来的なディスプレイ追加を想定し、リソース節約のためHiDPI上限を低減
    • 例外的に他のディスプレイが全く接続されていない場合などは高解像度が選べる可能性もあるが、通常は制限あり

今後の対応策・要望

  • Appleによる修正 が必要
    • モード生成ロジックのスケーリング上限引き上げ
    • ユーザー向けHiDPI解像度強制オプションの提供
  • Apple Feedback(FB22365722) にて要望提出済み
  • 5Kや8Kパネル ではネイティブ解像度が高いため、この制限に該当しない可能性

診断コマンド例(抜粋)

  • DCPレート制限・ネイティブキャップ確認
    • ioreg -l -w0 | grep -o '"MaxActivePixelRate"=[0-9]*\|"MaxW"=[0-9]*\|"MaxH"=[0-9]*' | paste - - - | sort -u
  • ディスプレイモード一覧取得(HiDPI含む)
    • BetterDisplayやSwitchResX等でCGSGetNumberOfDisplayModes利用
  • DisplayHintsやConnectionMapping確認
    • ioreg -l -w0 | grep -B5 -A2 'MaxActivePixelRate' | grep -v EventLog
    • ioreg -l -w0 | grep "ConnectionMapping"

まとめ

  • M4/M5世代Apple Silicon搭載Mac では、 外部4KディスプレイでフルHiDPI(3840x2160@2x)事実上不可能
  • ソフトウェア的な仕様変更 による制限であり、現時点でユーザーが現実的に回避する方法は存在しない
  • Appleによる公式な対応 がなければ、HiDPIと作業領域の両立は困難

Hackerたちの意見

作者さん、こんな大変な問題に取り組んでくれて本当にお疲れ様。ケースを考慮してもらうために、ここまでしないといけないのは残念だね。

M2 Proで57インチのG9ウルトラワイドモニターにPIP/PBPを使おうと、地獄を見たよ。結局、電源付きHDMIドングル、DisplayLinkケーブル、DisplayPortを使って、BetterDisplay経由で3つの仮想モニターを設定した。BDでMacの制限を超える解像度を許可したのがうまくいった理由。OPには同情するよ。5120x1440 @ lodpiは最悪だった。ちょっとぼやけてたけど、UIサイズは完璧だった。でも最終的には、HDR付きの10240x2880 @ 120Hzで安定したから、スレッドのタイトルを見たときは本当に笑っちゃった。かわいそうな人だね。

ありがとう、週末の大半をキーボードに頭をぶつけながら、何が起こっているのか、使えるワークアラウンドがあるかを探してたよ(見つからなかったけど)。

この投稿を見て、似たような問題を調査したことを思い出した。全然分からなかったけど。ClaudeやGPTを使ってこういうハードウェアの問題を調べるのは早くて簡単だね。次に試すコマンドを教えてくれて、次々に進めていくと、似たような要約が得られる。著者がこのディスプレイについて何も知らなかったのも驚かないよ。

新しいM4が外部の4Kモニターで「ぼやけて」見えたとき、頭がおかしくなりそうだったよ。古いMacBookの設定を再現しようとしたけど、全然ダメだった。Appleが自社のディスプレイ以外ではわざとこうしてるのかな?

ちょっと細かいことを言うけど、MacOSの解像度やスケーリングの扱いが他のOS(Windows 11を含む)と比べておかしいのは、Appleハードウェアを使う上での最大の不満の一つなんだ。数年前、IntelベースのMacで非Appleディスプレイを「正しく」見せるためにすごく苦労したのを覚えてる。Windowsのノートパソコンは全然問題なく処理できてたのに。ハードウェアの制限と、Thunderboltドック経由で利用可能な解像度やリフレッシュレートに対処するための選択肢がなかったのが原因だった。正直、これをやっと修正してくれることを願ってる。また、サブピクセルテキストレンダリングオプションも復活してほしいな。

これは普通のレティナ設定じゃないよ。フレームバッファが画面解像度よりもずっと大きくて、縮小されるというかなり変わった設定なんだ。以前はうまくいってたのに今はダメってのは本当に残念だけど、ほとんどの人がこれを望んでないから、Appleが気にしないのも納得だね。

なんでこれがダウンボートされたのか分からないけど、これはかなり異常な構成だと思う。実際のディスプレイに対して、各方向で2倍のピクセルを持つフレームバッファにレンダリングして、結局それを各方向で2倍に縮小する意味って何?

それって単に2倍のスーパサンプリングじゃない?「完璧」なアンチエイリアスを求めるなら、それが最低限必要じゃない?

正直言って、そこそこの統合GPUを搭載したエントリーレベルのWindowsノートパソコンがこれを苦労せずに処理できるのはちょっと恥ずかしいよ。Appleは自分たちの優先順位を決める自由があるけど、クリエイティブプラットフォームの頂点とされているもので、最も進んだ消費者向けプロセッサの一つを搭載しているのに、少し違う解像度を扱えないのは残念だね。

私の場合、標準のLG UltraFine 4Kモニターを、標準の16インチM5 MacBook Proに標準のThunderbolt(USB-C経由)で接続してるんだけど、これのどこが普通じゃないのか分からない。別のモニターやM5 MacBook Proでも確認済みだよ。

俺たちプロレタリアがサードパーティのモニターでテキストをそこそこ見やすくするためにやらなきゃいけないことだよ。俺のLG DualUps(確か140ppiくらいだったと思う)は、スケーリング解像度の2倍で動かして、実質的にピクセルが2倍になった109ppiくらいにしてる。これがUIがそこそこ見やすくなる唯一のピクセル密度なんだ。18:16の2304 x なんかを2倍でレンダリングして、2倍にスケールダウンしてる。だから、Macを内蔵ディスプレイや純正ディスプレイで「もっとスペース」解像度にすると、パフォーマンスに影響が出るって言われるのは、そのOSがテキストを読めないくらいのエイリアスのぼやけにしないで、もっとスペースを確保するためにやることだから。実際には「見かけ上」の解像度をピクセルダブルにして、スケールダウンすることで、サブピクセルのアンチエイリアス効果を少し得られるんだ。Appleはしばらく前にサブピクセルアンチエイリアスを取り除いて、今はこれが普通になってる。俺は4Kのポータブルディスプレイ(超高密度だけど、まだ「レティナ」218には届かない)をモニターアームで使ってて、君が言うように1080pで2倍で動かしてる。まあまあ見えるけど、全体的にちょっと小さい。4Kディスプレイを持ってて、フル4Kを使いたいなら、全てをひどく見せるか、GPUのサイクルとメモリを無駄にして8Kフレームバッファをレンダリングして4Kにスケールダウンするかの選択肢しかない。今、俺はテレビ(1080p、ここからコメントを書いてる)でこれに悩まされてる。リビングに繋いでる普通のLinux/WindowsゲーミングPCはRMA待ちでDRAMなしだから、テキストサイズや他のものを独立してスケールできないMac Miniを使ってる。1600x900で動かさなきゃいけなくて、それでもどのウェブサイトも読みやすくするためにスケールしなきゃならない。テキストスケーリングは、正直言ってmacOSではクソだよ。Tim Cookが意図した通りにMacを使ってるなら、内蔵ディスプレイかAppleの高い外部ディスプレイを使って、218ppiに適した距離で座ってないとダメなんだ。

Hacker Newsで議論の続きを見る