サイトアイコン Boot macOS

NVIDIA GeForce KeplerをMontereyで動かす

NVIDIAのKeplerアーキテクチャは、macOSで長らくサポートされていましたが、とうとうMontereyからサポートされなくなりました。でもBig Sur以前のドライバをインストールすれば動きます。

Keplerが動かない

久しぶりに古いKeplerアーキテクチャのグラボ、GTX 770を使ってみたところ、macOSで動かなくなってました。低解像度で表示はされますが、グラフィックス加速が効いてなくて、動きがギクシャクします。試したのは、ASRock Z690 + Intel 12700K + macOS Monterey 12.0.1の構成です。調べたところMontereyからKeplerのサポートが終了しているようです。ちなみにこれまでmacOSで動くとされていたKeplerのグラボは、以下です。Montereyから、これらが動かなくなったようです。(正確にはMonterey beta 6まではドライバがあったらしいです)

ちなみに、NVIDIA自体も2021年10月の最新ドライバでKeplerのサポートを終了したそうです。なのでmacOSのKeplerサポート終了は、仕方のないことでしょう。

 NVIDIAは12日(現地時間)、同社のビデオカード向けドライバ「GeForce Game Ready Driver バージョン496.13」を公開した。
NVIDIA、Kepler世代GPUやWindows 8.1以前のサポートを終了 - PC Watch

kextが無い

なのでMontreyにはKeplerをサポートする拡張ファイルが無くなりました。Keplerは、macOSでサポートされていたNVIDIA唯一のアーキテクチャだったので、これでNVIDIA製品が完全にサポートされなくなりました。

kextが無くなったことを確認するために、macOS 11.2.1 Big Sur (20D74)の/S/L/Eの中身を調べてみました。NVDAで始まるファイルとして、以下が見つかります。

同様にGeForceで始まるファイルとして以下がありました。

一方で、macOS 12.0.1 Monterey (21A559)にはこれらが存在していません。

古いKextを使う

Kextが無くなってしまったのなら、古いmacOSから持って来れば良いです。ただ、システムに必須のディレクトリは保護されていて、手作業でkextを持ってくるのは面倒です。なので、それを自動化してくれるツールがありました。

Install Nvidia binaries files on Snapshot disk for macOS Monterey 12 - chris1111/Geforce-Kepler-patcher
Releases · chris1111/Geforce-Kepler-patcher - GitHub

前述の9個のkextとbundleをインストールしてくれます。

ただし、システムファイル用のディレクトリに手を加えるのでSIP (System Integrity Protection) を無効にする必要があります。通常は、

csrutil status

で確認できるように、SIPが有効になってます。Macの実機だと、リカバリーモードで起動してcsrutilコマンドでSIPを解除するのですが、hackintoshならconfig.plistで変更できます。NVRAM/Add/7C436110-AB2A-4BBB-A880-FE41995C9F82/csr-active-configの値(大抵は00000000のはずです)をEF0F0000に変更します。この数値はGeforce Kepler patcherで指示されます。

Runボタンを押すと、インストールが開始されます。インストール先のボリュームを指定して、その中のDATAになっているAPFSのボリュームを指定するステップを経て、インストール終了です。

csr-active-configの値は、kext類をインストールした後もそのままにしておく必要があるようです。SIPを有効に戻してしまうと、起動しなくなりました。また起動ボリュームの名前が、Monterey-DISKに変更されます。

動きました

再起動すると、高解像度の画面で表示されていました。macOSで認識されているようです。Geekbench 5も動くようになりました。でもOpenCLのテストはなぜか途中で中断します。Metalのテストは最後まで動きます。スコアは以下のようでした。

古いGPUですからこんなものでしょうか。M1 Maxの1/10くらいです。

まとめ

NVIDIA GeForce KeplerはMontereyからサポート外になってました。古いmacOSのkextをインストールすることで使えるようになります。古いカードですのでそれなりの性能でした。

モバイルバージョンを終了