バージョンを誤魔化してNVIDIAドライバを入れる

これはMojaveでNvidiaのドライバを動かす方法ではありません。Mojave対応ドライバが待ち望まれている時節柄紛らわしい記事ですみません。この方法でWebドライバがMojaveで動かなくはないらしいですが、性能が全く出ないらしいです。

経緯

MojaveではNvidiaドライバが動かないので、Nvidiaを搭載したマシンはHigh Sierraで使っていました。先日、それにうっかりPublic Beta版のセキュリティアップデートを当ててしまいました。これです。

通常盤のアップデートだと勘違いしました。ベータ版配布をoffにしておくべきでした。

アップデートしたことでmacOSのビルトが上がりました。17G4005です。

配布されているWebドライバの最新版は17G3025用なのでバージョンチェックで動かなくなってしまいました。そこで、17G3025用のドライバを、無理やり17G4005にインストールして動かすことにしました。

バージョン違いのドライバをインストールする

17G3025用のドライバ(こんなアイコンです)

をダウンロードサイト

から入手しても、バージョンが違うと、そもそもインストールできません。そこで17G3025用ドライバのパッケージを開いて、設定を変更します。まずは、パッケージユーティリティを使って展開します。

pkgutil --expand (pkgへのパス) (展開先ディレクトリ)

例えば

pkgutil --expand WebDriver-387.10.10.10.40.108.pkg exp

とします。こうするとexpというディレクトリに内容が展開されます。この中に、Distributionという名前のテキストファイルがあります。これを開いて、インストールチェックをしているところ

function InstallationCheck()
{
if (!validateSoftware()) return false;

return true;
}

をコメントアウトします。

function InstallationCheck()
{
//if (!validateSoftware()) return false;

return true;
}

もしくは、後ろの方にvalidateSoftware()関数の定義がありますので、そこのビルト番号を書き換えても良いです。つまり、

function validateSoftware()
{
var supportedOSVer = "10.13.6";
var supportedOSBuildVer = "17G3025";

というところを、

function validateSoftware()
{
var supportedOSVer = "10.13.6";
var supportedOSBuildVer = "17G4005";

とします。

次に、以下のコマンドでパッケージし直します。

pkgutil --flatten exp webdriver.pkg

これは上の例でexpという名前のフォルダを作った場合です。このパッケージを使ってWebドライバをインストールします。

バージョン違いのドライバを動かす

インストールはできましたが、バージョンが合わないのでドライバが動きません。Not compatibleというメッセージが出てしまいます。そこでパッチを当てます。

ドライバにパッチを当てるためのスクリプトが、benjamin.dobellさんによって配布されていまう。以下のコマンドで入手できます。

curl -O https://raw.githubusercontent.com/Benjamin-Dobell/nvidia-update/master/nvidia-update.sh

こうしてできたnvidia-update.shを実行可能にして起動します。

chmod a+x nvidia-update.sh
./nvidia-update.sh

最初の質問(ダウンロードするか?)にはN、次の質問(パッチを当てるか?)にはYとタイプします。そして再起動します。無事動くようになりました。

ここまで、SIPは有効のままでも問題なく作業を進められました。

11件のコメント

  1. コメント失礼します。
    ターミナルで pkgutil –expand WebDriver-387.10.10.10.40.108.pkg exp と実行すると
    Could not open package for expansion: WebDriver-387.10.10.10.40.108.pkg
    となり、開けません。対処方を教ええていただけませんか?
    ※WebDriver-387.10.10.10.40.108.pkg をダウンロードしました。
    hackintosh 本体は 17G66
    GTX 960

  2. WebDriver-387.10.10.10.40.108.pkgをダウンロードして確認しました。pkgutilコマンドは動きました。ちなみに–expandオプションの頭は、–(ハイフン2つ)です。

  3. 返信が遅くなり申し訳ございません。
    指摘どうりにやってみても、できませんでした。
    他に方法はありますかね?

  4. pkgutilが動かないという状況なのですよね。どのurlからどのpkgを落として、pkgutilを試したのか教えていただけますか。こちらでもやってみます。

  5. 返信ありがとうございます、
    公式サイトでダウンロードし、コマンドを打ったら、could not your open for expansion nvidia driver のバージョン名
    になり開ませんでした。

  6. 訂正
    could not your open for expansion nvidia driver のバージョン名
    ではなく
    Could not open package for expansion: WebDriver-387.10.10.10.40.108.pkg
    です。すみません

  7. mac os high sierra を最新のバージョン(ビルド番号17g11023)にしたら
    それに対応したバージョンがあり、インストールしました。
    しかし、nvda_drv=1 を boot args に入力して起動し
    wifiマークの横にnvidiaのマークが表示されていてそれをクリックして
    default macOS Graphics Driver がチェックされてるのを、nvidia web driver をクリックして 再起動したらnvidiaのマークを押して見てみると、default macOS Graphics Driver にチェックされ
    再度同じ作業を繰り返しても、同じ現象が起こります。
    これは何が問題なのでしょうか?
    毎度すみません。

  8. Cloverの最近のバージョンでは、確かnvda_drv=1 はもはや効かなくなって、config.plistのSystemParametersのセクションに、以下のように書くことになっていたと思います。NvidiaもHigh Sierraも長らく使っていないので記憶が定かではありませんが。

      <key>SystemParameters</key>
      <dict>
        <key>InjectKexts</key>
        <string>YES</string>
        <key>NvidiaWeb</key>
        <true/>
      </dict>
    
    1. ご返信ありがとうございます。
      指摘されたどうりに書き加えたらうまくいけました!
      今まで助言をくださり本当にありがとうございました!

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です