2014年7月22日火曜日

APUベースのコンピュータで遭遇するVIDEO_TDR_FAILUREの簡単な対処法。

おはようございます。
さて、今日はAPUベースのコンピュータで遭遇するVIDEO_TDR_FAILUREの簡単な対処法について説明します。


冒頭のクラッシュ画面は合成画像です。今でもxpをインターネットに繋いでいる人は…OSの買い替えを検討してみてください。来年にコードネーム「Threshold」なる次期Windowsが出るそうです。

この方法が全てのAPU basedなPCのBSoDに対処可能かどうかは筆者は保証しません。

クラッシュ画面。
バグチェック文字列が違うのはご愛嬌。
nVidiaならvideo_tdr_failure(nvlddmkm.sys).、ATi/AMDならvideo_tdr_failure(nvlddmkm.sys).なんかの文字列です。dll名が変わっているパターンもあります。S3は知らん。Matroxも存じ上げておりません。

グラフィックボード如何にかかわらずVIDEO_TDR_FAILUREは出現することがあります。

筆者はスリープを多用するのでスリープ解除時に遭遇することがあります。

一体これは何なのかというと、「GPUからの応答が一定時間内に帰ってこなかったよ」ということです。TDRというのは"Timeout Detection Reset"の略です。一種のWDT(ウォッチドッグタイマー)と考えていただければよろしいかと。

まず、スリープからの復帰を順を追って説明します。多少間違いがあるかもしれませんが、堪忍な。


  1. スリープ解除信号受信
  2. S3ステートからS0ステートへ移行


2.の時に、

  1. CPUへの電源供給が再開され、メモリの電源が入り
  2. 周辺機器をチェックしてVGA廻りを復帰


これで、初めてスリープから解除された時の画面(ロック画面。復帰パスワードを設定していない場合はスリープ直前の画面)になる、というわけです。表題の問題はこの手順が正しく行われなかったときに起こります。nVidiaでもこの現象は起きるようです。

Windows8はウェイクアップ時に2.が遅いとVGAデバイスのタイムアウトを検出してBSoD(ブルースクリーン)を出し、コアダンプを吐いて再起動します。
APUで顕著に表れるのは、もともとのAPU構造自体がCPU + GPU + ノースブリッジという構成になっているため、一つ以上が異常になると、一蓮托生なるという構成に起因します。


前置きが長くなりましたが、(いっつもこれだな自分)対処方法です。

ウェイクアップ時になかなか画面が出ない場合、放ってたらBSoDになるので、VIDEO_TDR_FAILUREを回避するためにUSB機器を何個か抜いてあげてください。
ハード的に切断されることで、NBへの負荷が減ったりするので、BSoDが発現しなくなりました。
PCバックパネルのDVI/HDMI/DP/miniDP端子の内、使わないものがあればデバイスマネージャーで無効化するのも一つの方法です。要は特にAPUにぶら下がっている機器の台数を少なくせよ、ということです。
後はWindows Updateを定期的に実行して修正パッチを適用すること、スクリーンセーバーを切る、GPUのドライバは定期的に更新をチェックする…。このくらいですかね。



0 件のコメント:

コメントを投稿