たった1つのアプリケーションのせいで解決に数時間費やした話。
同様の現象にあてはまる人はそうそう居ないと思うものの、将来システム入れ替えたりPC買い換えたりする頃には忘れていると思うので備忘録として記事化。
事の始まり
自室の掃除をしていたら、学生時代にはまっていた某弾幕STGのディスクを発見したのでやってみようとインストール。インストールは出来たが起動すると真っ黒画面でフリーズしてしまった。
昨年末に電源の交換を兼ねてOSのクリーンインストールを実施しており、それ以前はプレイすることができていたのと、クリーンインストール直後に別の古い3Dゲームをインストールし遊ぼうとした際に3Dエラーが出て遊べなかったことがあり(その際Minecraft等は普通に起動できており、単に古いせいだろうと諦めた)、アプリケーション側の問題ではない気がして原因を探ることに。
ディスプレイドライバの再インストール
この手の不具合、アプリケーションのせいでなければ大体ディスプレイドライバかDirectXが原因なのでまずはディスプレイドライバを再インストールする。搭載グラフィックボードはnVidia製のGeForce GTX670。
最新版(431.36)にしてみたが変わらず。nVidiaのディスプレイドライバはバージョンによって当たり外れが大きく最新版でも不安定だったりシステムエラーを引き起こしてくれたりするので、逆に公式で手に入る古いバージョン(310.33Beta)にしてみたが変わらなかった。
DirectXを調べる
ディスプレイドライバの再インストールでは解決しなかったので、DirectXの調査に移行。
ちなみにDirectX関係でよく解決策に挙がるDirectXエンドユーザーランタイムはインストール済。
まずはDirectX診断ツールをのぞいてみる。
ディスプレイ項目の「DirectXの機能」では見事に全てのアクセラレータが「利用できません」。ところが64ビットの診断ツールに切り替えると・・・。
全て利用可能。つまり32ビット側だけNGということになる。
エラーになってしまうゲームを起動してタスクマネージャで 確認すると、確かにどれも32ビットのアプリケーションだった。Minecraftだけ起動できていた理由はここにあるのだろう。
原因はDuet Display
ディスプレイドライバも問題なし、DirectXも問題なしときていよいよお手上げかと思いつつも情報を集めていると、iPadをPCのサブディスプレイとして使えるようにすることで有名な「Duet Display」が影響を及ぼす場合があるらしいとの話を発見。
使わなくなって放置していたiPad Air2の活用法を模索していたときにアプリのセールで購入して入れてあったので、半分疑いつつ削除。再起動してDirectX診断ツールで確認してみる。
バッチリ利用可能に。ちなみに、再度Duet Displayをインストールするとまた「利用できません」になったので原因は確定。Duet Displayは最近使ってなかったので最終的にお別れしました。
まとめ
Duet Displayという1つのアプリケーションが原因だった。エラーになるといっても32ビットアプリケーションだけがダメというのがたちの悪い話である。
コメント