いぬと積みゲがとまらない

「ゲームは かならず プレイしてください! もっているだけじゃダメですよ!」

「nvlddmkm イベントID:0」のエラーでゲームが落ちる話

nvlddmkmのエラーについて

最近PCを買い替えて、グラボがRTX4070になった。
するとゲームプレイ中に、暗転してゲームが落ちるようになった。起きるタイミングはランダム。

イベントログにはnvlddmkmのエラーが大量に並んでいる。

ゲーム側のエラーとしては「Fatal D3D error」のポップアップが出る。
同様の症状について多くの人が悩んでいるようで、情報は調べると結構出てくるのだが、
自分の場合はネット上であまり見かけなかった解決方法で直ったので、それを書きたい。

nvlddmkm.sys のアクセス許可を変更

C:\Windows\System32\DriverStore\FileRepository\
→ここの「nv_dispi.inf_amd64」で始まるフォルダに「nvlddmkm.sys」があるので、
プロパティからユーザーのアクセス許可権限に「フルコントロール」を追加
エクスプローラーでnvlddmkm.sysを検索すると2個出てきたけど、更新日付が新しい方の権限を変えた)

参考:reddit

これで3日ほど様子見たが、エラーが起きなくなった。
それまで毎日、ゲーム中に必ず起きていたエラーが一回も出ていないので、直ったと判断している。
頻度が減っただけかもしれない。いずれにせよ効果はあった。
ダウンクロックなど、別のアプローチで解消されたという報告はいろいろあるので、
エラー出なくなるなら何でも良いんだけど、アクセス許可だけで解決するなら一番お手軽だと思う。

PC構成やゲームが違うと解決しないかもしれない。
一応、関係ありそうなとこでいうと以下のような構成です。

ていうか、今回はBTOで買ったので全く同じ構成の人がそれなりにいると思うんだけど……
(そして購入当初から起きている)
まあ、ゲームプレイ中しか起きないから、同じもの買ってたとしてもこの現象に出くわさない人もいるか。
redditの参考にしたスレッドでは、この問題に詳しそうなおじさんが「アクセス許可の設定で解消すればラッキーだけど、このエラーが起きるようになると通常は直らない」と言っていて、完全には安心できなそう。

以下、解決までの経緯をメモ。

イベントログ見たところで、Error occurred on GPUID: 100 と言われても
何がどうエラーなのか全く読み取れないので、考えられる対処法を手当たり次第に試すしかない。
自分の環境では、以下を試してみたがどれも効果なかった。

  • 電源プランを高パフォーマンスに設定
  • NVIDIA コントロールパネルにて電源管理モードを「パフォーマンス最大化を優先」に設定
  • Windows Update 最新(オプションで関係ありそうなもの含む)
  • グラボドライバ更新 (536.99)

この件の情報収集をしている時、最新のドライバが536.67で、不具合報告が多くて更新するのを躊躇していた。
本来であればまず最初に試した方が良いかと思う。(もうすでにnvlddmkmのエラーが起きる環境ならば)
悪化する可能性もなきにしもあらずなので、それを恐れて他の解決策を探していた。
結局、グラボのドライバも最新にしてみたがダメだった。

nvlddmkm.sysのアクセス許可の件がダメなら、次はダウンクロックかPowerLimitを制限する方法を試すところで、解決した。

つまり、自分の環境ではWindowsとグラボドライバは最新にしているので、その上でnvlddmkm.sysのアクセス許可設定が必要かもしれない。
その辺はよく分からない。あるドライバまでは起きなかったのが分かっているならば、まずロールバックして様子見た方が良いと思う。
自分の場合はNVIDIAから入手できる一番古いドライバでも起きた。

アイドル時に無駄に電力消費するのもなと思って、電源プラン設定から「プロセッサの電源管理」の最小は30くらいにしている。
また、同様の理由で「パフォーマンス最大化を優先」にもしていない。何もしていない時でも常にクロックが定格で固定されているのが気になったので。