見出し画像

MacOSでNVIDIAのeGPU

このページはgithubの「macOS-eGPU.sh」の翻訳です。
自己責任でお願い致します。

macOS-eGPU.sh

バージョン:v 1.6

すべてのユーザーへ:このスクリプトは、新しいNVIDIAドライバがリリースされるまで更新されません(10.14.xまたは10.15.x用)。
新しいセキュリティパッチでシステムを更新する場合は、
bash< (curl-s https://raw.githubusercontent.com/learex/macOS-eGPU/master/macOS-eGPU.sh)--beta--nvidiaDriver 387.10.10.40 .105--iopcieTunneledPatch) コマンドを使用します。

新しい機能やセキュリティの改善などのアップデートが進行中ですが、作業時間が限られているため、完成までには長い時間がかかります。

序文


・README.mdを全部読んでください。
・必要な機能:無料でご利用いただけます。
・好きなように星で評価をつけてください。
・寄付はお好きに。

目的

お使いのMacをNVIDIAおよびAMDのeGPUと互換性のあるものにします。macOS High Sierra上で動作します。

目次

要求項目
使い方
  ・重要な情報
  ・ステップ バイ ステップ ガイド
パラメータ
  ・基本
  ・パッケージ
  ・詳細設定
パラメータを使用した例
仮スクリプト/@goalqueの説明書を使ったが、どうしよう?
問題
  ・既知の問題
  ・不明な問題
変更ログ
今後の機能
謝辞

要求項目

・MacOS 10.13.X≤10.13 .6 (17G65)
・NVIDIAまたはAMDグラフィックスカード
・eGPUエンクロージャ(T 82およびT 83コントローラをサポート)
・Mac(TB 1/2/3をサポート)
・バックアップ(必須)
・十分に無効化されたSIP
 ※それ以外の場合、スクリプトは命令で中断されます。
・macOSターミナル(iTermは動作しません)

使い方

(重要)アンインストール/インストール/パッチ適用の段階でスクリプトを中断しないでください。システムが損傷します。

重要な情報:
・NVIDIA eGPUはホットプラグされていないと、カーネルパニックが発生します。まず完全にシャットダウンする。

・MacBook Pro(2016以上)には、ふたを開けると自動的に電源が入る機能があります。
これは、電源装置を備えたeGPUエンクロージャーに干渉します。
MacBook Proを正しく切断してシャットダウンするには、eGPU電源がシャットダウンしたときに再起動してプラグを抜きます。
その後、完全にシャットダウンします。
sudo nvram AutoBoot=%00
を実行すると、スリープ状態の解除(すべてのmacOSおよびeGPUエンクロージャで動作しない)を無効にできる場合があります。再度有効にするには、
sudo nvram AutoBoot=%03
を実行します。

・eGPUを使用していない場合は、スクリプトによってセットアップに関する質問が表示されることがあります。

・10.13 .6以降では、eGPU情報の自動フェッチがサポートされないことがあるため、次の準備をしてください。
■eGPUブランド(NVIDIA/AMD)
■T82/T83チップ
※後者は、eGPUを接続してSysteminformationアプリを開き、Hardware->Thunderboltに移動して 「unsupported (サポートされていない) 」 という単語を検索することで確認できます。
未サポートとは、T 82チップセットが搭載されていることを意味します。正しく認識されている場合は、T 83チップセットが搭載されています。

・それ以外の場合は、処理中にeGPUを接続するように求められることがあります。
スクリプトがeGPUを要求した場合にのみeGPUを接続し、スクリプトが再度要求した場合にはeGPUを削除することが最も重要です。スクリプトが明示的に要求しなかった場合は、接続または切断を行わないでください。システムを損傷する危険があります。
この場合、スクリプトはT82ロック解除が必要であると判断し、ロック解除するためにスクリプトを1回実行してから、再起動します。この場合、スクリプトは必要なすべての情報を収集できません。

ステップバイステップガイド

①MacOS Sierra (10.12) 以前でeGPUを使用している場合は、使用しているすべてのeGPUソリューションを削除してください。まだ実行していない場合は、この手順をスキップします。

②システムをバックアップします。

③SIPを無効にします。これを行うには、リカバリモード(ブート中にcommand+R)で起動し、ターミナルウィンドウ(ユーティリティ->ターミナル)を開いて、次のコマンドを実行します。

csrutil disable; reboot


④正常に起動し、ログインします。

⑤不要な周辺機器をすべて取り外します。特にeGPUは必ず!

⑥作業内容を保存します。このスクリプトは、実行中のすべてのプログラムを強制終了します。

⑦ターミナルアプリケーションを開きます。スクリプトはiTermをサポートしていません。

⑧実行:

bash <(curl -s https://raw.githubusercontent.com/learex/macOS-eGPU/master/macOS-eGPU.sh)

パラメータを使用してスクリプトをカスタマイズする必要はありません。スクリプトは、システムに何が必要かを判断します。
この台本の指示に従ってください。
このスクリプトを既に使用している場合は、macos-egpuコマンドを使用してアクセスを高速化できます。オフラインスクリプトは、インターネットアクセスで実行すると自動的に更新されます。

※#shシェルは上記の構文をサポートしていません。#bashシェルが必要です。

パラメーター

bash <(curl -s https://raw.githubusercontent.com/learex/macOS-eGPU/master/macOS-eGPU.sh)

2回目の使用時:

macos-egpu

パラメータはオプションです。何も指定しない場合は、スクリプトが自動的に何を行うかを決定します。

基本

--install | -i

eGPUソフトウェアをインストール/更新するようにスクリプトに指示します。インターネットが必要な場合があります
installパラメータは、Macのパラメータ(インストールされているソフトウェア、インストールされているパッチ、macOSのバージョンなど。)と最新のソフトウェアバージョンをフェッチするようにスクリプトに指示します。次に、相互参照し、実行する必要があることを推定します。これには、以下のすべてのパッケージが含まれます。これは、新しいシステムまたは更新されたシステムで最も効果的です。不正なシステムの控除は制限されます。MacOS10.12以前ではきちんと変更されないことに注意してください。このようなソフトウェアを使用したことがある場合は、自分でアンインストールする必要があります。控除項目を上書きするには、次の#Packageパラメータを使用します。


--uninstall | -U

eGPUソフトウェアをアンインストールするようにスクリプトに指示します。
uninstallパラメーターは、eGPUソフトウェアを検索して完全にアンインストールするようスクリプトに指示します。MacOS10.12以前ではきちんと変更されないことに注意してください。このようなソフトウェアを使用したことがある場合は、自分でアンインストールする必要があります。アンインストールされないのは、shortコマンドだけです。これもアンインストールするには、sudo rm/usr/local/bin/macos-egpuを実行します。控除項目を上書きするには、次の#Packageパラメータを使用します。


--checkSystem | -C

システム情報を収集するようにスクリプトに指示します。check systemコマンドは、eGPUソフトウェアに関する基本情報と基本システム情報を出力します。

--checkSystemFull

使用可能なすべてのシステム情報を収集するようにスクリプトに指示します。check full systemコマンドは、eGPUソフトウェアに関するすべての情報とシステム情報を出力します。


パッケージ

--nvidiaDriver [revision] | -n [revision]

NVIDIAドライバが動作するように指定します。
NVIDIAドライバパラメータは、NVIDIAドライバのインストールまたはアンインストールを実行するようにスクリプトに指示します。現在インストールされているNVIDIAドライバをアップデート後に使用する必要があるとスクリプトが判断した場合は、パッチが適用されます。オプションで、カスタムドライバリビジョンを指定することもできます。必要に応じて、指定したリビジョンに自動的にパッチが適用されます。


--amdLegacyDriver | -a

AMDレガシードライバにアクセスすることを指定します。
Driver by @goalque
AMDレガシードライバパラメータは、古いAMDグラフィックカードをmacOS 10.13.Xと互換にするようにスクリプトに指示します。
次のものがあります。

・Polaris - RX: 460, 560 | Radeon Pro: WX5100, WX4100
・Fiji - R9: Fury X, Fury, Nano
・Hawaii - R9: 390X, 390, 290X, 290
・Tonga - R9: 380X, 380, 285
・Pitcairn - R9: 370X, 270X, 270 | R7: 370, 265 | FirePro: W7000
・Tahiti - R9: 280x, 280 | HD: 7970, 7870, 7850


--nvidiaEGPUsupport | -e

NVIDIA eGPUサポートが動作するよう指定します。
kext by @yifanlu
NVIDIA eGPUサポートパラメータは、NVIDIA eGPUと互換性のあるNVIDIAドライバを作成するようにスクリプトに指示します。したがって、NVIDIAドライバを適用するには、NVIDIAドライバをインストールする必要があります。
このコマンドは、10.13 .5≤専用です。
MacOS 10.13 .4/10.13 .5では、追加パッチが必要です。
--unlockNvidiaを参照してください。


--deactivateNvidiaDGPU | -d

まだ入手できません。AMD eGPUユーザー専用。
patch by @mac_editor


--unlockThunderboltV12 | -V

eGPU.パッチを使用するために、thunderboltバージョン1および2のロックを@mac_editor,@fricoricoによって解除することを指定します。
unlock thunderbolt v 1, v 2パラメータは、バージョン1または2のthunderboltポートを持つ古いMacをeGPUで使用できるようにするようにスクリプトに指示します。NVIDIAユーザの場合は、macOS 10.13 .4/10.13 .5でのみ必要です。AMDユーザの場合は、macOS 10.13 .6≤で必要です。


--thunderboltDaemon | -A

thunderboltを適用することを指定します。
thunderboltデーモンパラメータは、thunderbolt引数を含む起動デーモンを作成するようにスクリプトに指示します。これらの引数はブートのたびにリセットされるため、これらを最新に保つにはデーモンが必要です。これは、NVIDIA dGPUおよびマルチeGPU設定に役立ちます。


--unlockNvidia | -N

NVIDIA eGPUサポートをロック解除することを指定します。@fr 34 kによるpatch by @fr34k, @goalque
unlock NVIDIAパラメータは、MacがNVIDIA eGPUと互換性を持つようにスクリプトに指示します。
これはmacOS 10.13.4とmacOS 10.13.5でのみ必要です。AMDグラフィックスカード (外付け) では、問題やクラッシュの原因になる可能性があります。


--iopcieTunneledPatch | -l

NVIDIA eGPUサポートをロック解除することを指定します。
patch by @goalque
IOPCITunnelled Patchは、NVIDIA eGPUと互換性のあるMacを作成するようスクリプトに指示します。
これはmacOS 10.3 .6以降でのみ必要です。これにより、AMDグラフィックスカード (外付け) で問題やクラッシュが発生する場合があります。


--unlockT82 | -T

T82チップセットのロックを解除することを指定します。
unlock T82パラメータは、MacがT82 eGPUエンクロージャと互換性を持つようにスクリプトに指示します。これはeGPUエンクロージャに限定されませんが、T82チップセットを搭載したすべてのthunderboltエンクロージャが動作します。


--cudaDriver | -c

CUDAドライバにタッチするように指定します。
CUDAドライバパラメータは、CUDAドライバのインストールまたはアンインストールを実行するようにスクリプトに指示します。CUDAドライバはNVIDIAドライバに依存しており、NVIDIAドライバなしではインストールできないことに注意してください。ツールキットとサンプルはドライバに依存します。これらをアンインストールすると、スクリプトによってツールキットとサンプルもアンインストールされます。


--cudaDeveloperDriver | -D

CUDA開発者ドライバにタッチするように指定します。
CUDA開発者ドライバパラメータは、CUDA開発者ドライバのインストールまたはアンインストールを実行するようにスクリプトに指示します。CUDAドライバはNVIDIAドライバに依存しており、NVIDIAドライバなしではインストールできないことに注意してください。ツールキットとサンプルは、開発者/ドライバに依存します。これらをアンインストールすると、スクリプトによってツールキットとサンプルもアンインストールされます。
理論的には--cudaDriverと同じです。


--cudaToolkit | -t

CUDAツールキットにタッチすることを指定します。
CUDAツールキットパラメータは、CUDAツールキットのインストールまたはアンインストールを実行するようにスクリプトに指示します。サンプルはツールキットに依存し、ツールキット自体はドライバに依存することに注意してください。ツールキットをアンインストールすると、スクリプトによってサンプルもアンインストールされます。ツールキットをインストールすると、スクリプトによってドライバもインストールされます。


--cudaSamples | -s

CUDAサンプルに触れることを指定します。
CUDA samplesパラメータは、CUDAサンプルのインストールまたはアンインストールを実行するようにスクリプトに指示します。サンプルは、ツールキットとドライバによって異なります。サンプルをインストールすると、スクリプトによってドライバとツールキットもインストールされます。


詳細設定


--fullInstall | -F

すべての#Packagesを選択します。問題が発生する可能性があります。#Packagesの説明も読んでください。


--forceReinstall | -R

スクリプトがすでにインストールされているソフトウェアを再インストールするように指定します。
強制再インストールパラメータは、すでに最新であるかどうかに関係なく、すべてのソフトウェアを再インストールするようにスクリプトに指示します。これは、控除やその他のインストールには影響しません。


--forceNewest | -f

スクリプトが最新のソフトウェアのみをインストールするように指定します。
force newsパラメータは、安定したソフトウェアよりも新しいソフトウェアを優先するようにスクリプトに指示します。これにより、問題が解決または発生する場合があります。


--useForce | -o

その力を用いることを明記する。
まれに、インストールされているソフトウェアの存在がスクリプトで検出されない場合があります。これは、インストールの失敗が原因である可能性があります。forceを使用すると、アンインストールのセキュリティチェックがスキップされます。従って、十分注意して使用してください。
パッケージ名および--uninstallと一緒に使用する必要があります。


--forceCacheRebuild | -E

キャッシュを再構築することを指定します。
強制キャッシュ再構築フラグは、kext、system、およびdyldキャッシュを再構築します。このオプションを他のオプションと組み合わせることはできません。


--noReboot | -r

何らかの処理が行われた場合でも、再起動を実行しないことを指定します。


--acceptLicenseTerms

ライセンス条項が受け入れられたかどうかの質問には自動的に 「はい」 と答え、その後スキップすることを指定します。


--skipWarnings | -k

スクリプトの最初の警告をスキップするように指定します。


--beta

サポートされていないバージョンのmacOSが使用されていることを指定します。
betaフラグは、スクリプト要件のチェックを削除します。したがって、ベータテスターには便利です。しかし、これらのバージョンは経験豊富なユーザーによるチェックを受けていないため、システムを損傷するリスクが非常に高い。
注意してバックアップして使用してください。


--help | -h

ヘルプドキュメントを印刷します。


パラメータを使用した例

bash <(curl -s https://raw.githubusercontent.com/learex/macOS-eGPU/master/macOS-eGPU.sh) --install --nvidiaDriver 387.10.10.10.30.106
macos-egpu --install --nvidiaDriver 387.10.10.10.30.106


※以下バージョン情報・チェンジログなどは省略しました。

この記事が気に入ったらサポートをしてみませんか?