NVIDIAのKeplerアーキテクチャは、macOSで長らくサポートされていましたが、とうとうMontereyからサポートされなくなりました。でもBig Sur以前のドライバをインストールすれば動きます。
Table of Contents
Keplerが動かない
久しぶりに古いKeplerアーキテクチャのグラボ、GTX 770を使ってみたところ、macOSで動かなくなってました。低解像度で表示はされますが、グラフィックス加速が効いてなくて、動きがギクシャクします。試したのは、ASRock Z690 + Intel 12700K + macOS Monterey 12.0.1の構成です。調べたところMontereyからKeplerのサポートが終了しているようです。ちなみにこれまでmacOSで動くとされていたKeplerのグラボは、以下です。Montereyから、これらが動かなくなったようです。(正確にはMonterey beta 6まではドライバがあったらしいです)
- GTX Titan (GK 110 Maxwell core)
- GTX Titan Black (GK 110 Maxwell core)
- GTX Titan Z
- GTX 780/Ti
- GTX 770
- GTX 760/Ti
- GT 740
- GT 730 (GK208 variant)
- GT 720
- GT 710
- GTX 690
- GTX 680
- GTX 670
- GTX 660Ti
- GTX 660(MUST BE RUNNING A GK 104 core, NOT GK 106)
- GTX 650(GK 107 core)
- GT 640(Kepler edition, GK 107/208 core)
- GT 630(Kepler edition, GK 107/208 core)
- Quadro 410
- Quadro K420
- Quadro K600
- Quadro K2000/D
- Quadro K4000/D
- Quadro K4200
- Quadro K5000
- Quadro K5200
- Quadro K6000
ちなみに、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で始まるファイルとして、以下が見つかります。
- /System/Library/Extensions/NVDAGF100Hal.kext
- /System/Library/Extensions/NVDAGK100Hal.kext
- /System/Library/Extensions/NVDAResman.kext
- /System/Library/Extensions/NVDAStartup.kext
同様にGeForceで始まるファイルとして以下がありました。
- /System/Library/Extensions/GeForce.kext
- /System/Library/Extensions/GeForceAIRPlugin.bundle
- /System/Library/Extensions/GeForceGLDriver.bundle
- /System/Library/Extensions/GeForceMTLDriver.bundle
- /System/Library/Extensions/GeForceVADriver.bundle
一方で、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をインストールすることで使えるようになります。古いカードですのでそれなりの性能でした。