2015年 9月23日
| 【PC】かなり致命的に壊しかけた・・・
| ひる |
| いやあ・・・久々にイヤな汗が出ましたw そしてWindowsの基本機能とiPhoneに感謝ですわ。
現在特に不具合もなく、ゴチャゴチャといろんなデバイスがくっついてる割には至極順調なPC環境なので、こういうときにあまりシステムやドライバ類を弄りたくはないのですが、先月末にOculus Rift用のランタイムドライバがメジャーアップデートされました。
Oculus RiftをWindowsに認識させる方法はこれまで2種類あり、初代DK1がリリースされた頃からあるExtended Mode(別のディスプレイとして認識させる)と、Direcrt Mode(HMDとして認識させる)を使用時に選択できました。 Extended Modeは実装が比較的簡単で、ただ単に追加された拡張ディスプレイとして動作しますが、その分デスクトップ画面も拡張されるためにウィンドウ表示やマウス操作がややこしくなるし、HMDとしての動作にも多少の遅延が発生します。 Direct Modeは、その名のとおりダイレクトにHMDデバイスとして駆動させるため、デスクトップ画面にも影響を及ぼさず、遅延を最小限に抑えて動作します。
Direct Modeはランタイムドライバのバージョン0.5.0.0から実装されていますが、このバージョンのSDKを使用してアプリをコンパイルしないと、もちろん使えません。 で、くだんのAssetto CorsaはいまだOculus Riftに対しては「Early Support」扱いで、Extended Modeでしか動作しません。 ただ、ランタイムバージョン0.6.0.1まではExtended Modeがサポートされていたので、これまではこのバージョンで動作させていました。
先月末にリリースされたランタイムバージョン0.7.0.0は、来年春にデビューする製品版Oculus Rift(CV1と呼ばれている)への布石として、ついにレガシーサポートが打ち切られました。 すなわち、Extended Modeが廃止されてDirect Modeのみ(少々中身が変わったらしく新たにDirect Driver Modeとなった)のサポートとなりました。 一応、下位互換はあるらしく、バージョン0.6.0.xのSDKでコンパイルしていれば、0.7.0.0でも動作するとのことですが、Direct Modeで動作しているEuro Truck Simulator2はともかく、Assetto Corsaはどう考えてもムリくさい・・・ のは分かっているのですが、これに関して1ヶ月近く経つ今になっても、Kunosからは一向に何のアナウンスもないため、まさかのまさかでこのままで動作したりして? まあ、十中八九動かないだろうけど、ETS2の対応状況も知りたいし、問題あるならランタイムを戻せばいいし・・・と思って、試してみることにしました。
とりあえずフツーに、Oculusランタイム0.7.0.0をダウンロードしてきて、インストール。(GTX980のドライバもVR対応の最新であることを確認) 再起動後、まずはランタイム付属のデモ画面で動作確認すると、問題なく表示されます。 おもむろにAssetto Corsaを起動すると、案の定エラーメッセージが出て表示されませんでした。 でも、前のランタイムでDirect Modeで試した時は、特にエラーは出ないもののデスクトップにもHMDにも何も表示されないという状況だったので、エラーが出るだけマシかとは思いました。 では、ETS2はどうかと思って起動してみると、一応HMDにちゃんと表示されるものの画面が乱れていて、チカチカするのでゲーム出来たものではない。 いずれにしろ双方アップデートが来るまでは、これじゃダメだねってことが分かったので、さっさと元のランタイムに戻すことにしました。
ここからの2時間がヤレヤレな内容で・・・
0.7.0.0の上から0.6.0.1を上書きインストール。 再起動後に確認してみると、HMDの電源を入れても認識されない。
あれ、やり方が悪かったかな、と思って今度はちゃんとアンインストールした後、再度0.6.0.1を入れてみるも状況は変わらず。 それじゃあDK2を買ったときに最初に入れた0.5.0.1からやり直してみよう、とやってみたものの、やはり同様にHMDを認識せず。 0.5.0.1を入れて分かったのは、どうやらHMDの位置をトラッキングするカメラデバイスは正常に認識されているようで、ダメなのは本体HMDのみの模様。 では、デバイスマネージャーから問題のデバイスを探してみると・・・どうやらUSB2.0ハブとして認識されている模様。 (左は正常に認識されているときの画面)
元々がどのような名称で認識されていたか覚えていなかったため、他のドライバを探すよう促してもこれであってるとWindowsは言い張る(実際それで合ってた)ので、強制的にドライバを削除してやり直すよう指示。 そうすると「不明なデバイス」としてドライバを受け付けなくなってしまいました。 他のUSBポートにHMDを繋いでみると、USB2.0ハブのドライバがインストールされるも、やはりランタイムからは認識されず。 拉致があかないので、また不明なデバイスのポートに戻してから、ランタイムをアンインストールしてやり直すことにしたところ・・・
アンインストーラを起動して画面を見ていたら、デバイスマネージャーに表示されていた他のUSB2.0ハブ(計5つ)がザクっと消されました。 あれ、それは他のUSBデバイスだけど消えていいのかなあ・・・? とのんきに考えながら促されるまま再起動した・・・
デスクトップはもちろんフツーに上がってきましたが、案の定USBデバイスが一切使えなくなっていました。 USBで繋いでいるのは、スピーカー、カッティングプロッタ、ハンコン、Hシフト、いくつかのUSBハブ、・・・そしてマウスとキーボードもです。 マウスもキーボードも動かない・・・イコール、何の操作もできません。
マジで!?
もちろんしばらく待っても新たにUSBのドライバが追加される様子はなく、リセットボタン強制ブチ切りで再起動しても同じ。 ちなみにBIOSではちゃんとキーボードは効きますが、Windowsが立ち上がるとCtrl + Alt + Deleteすら効きません。 これはヤバイ。
推測するにコレは、ランタイムのアンインストーラがデバイスドライバを削除する際、本来USB2.0ハブとして認識されているはずのHMDが不明なデバイスになっていて見つからなかったために、他の同名のデバイスのどれか分からず、ええい全部消してしまえ!とやったのではないかと。 とてもヤバイ。
ちなみにマウス・キーボードはUSBハブのポートに挿していましたが、PC本体の(つまりマザーの)ポートに直挿ししてもダメ。 USBハブだけでなく、マザーのポート(ルートハブ)もすべて死んでいる模様。 試しにセーフモードで起動してみましたが、状況は変わらず。 ヤバイヤバイ。
とりあえず思いついたのは、Windowsインストールディスクからの修復セットアップですが、実はこれVista以降廃止されていて、デスクトップからの上書きインストールしか出来ないのです。 しかもそれを試そうにもデスクトップが操作できないと来た。詰んでる。 非常にヤバイ。
もうクリーンインストールしか残されてないのか・・・と思って、ググッて調べていたところ、同じような状況でマウスもキーボードも使えなくなった人に対するアドバイスとして、「リモートデスクトップくらいしかないですかね・・・」という書き込みを見つけました。
そういえば! 実はこんなこともあろうかとw、PCをiPhoneから操作するアプリ「Splash Top」をインストールしておいたのです。
iPhoneからMacやPCのデスクトップをGUIでリモート操作できるアプリで、外出先からも動かせます。 今は月額課金のしかないみたいですが、当時は買い切り115円だかで、今も重宝しているアプリです。 MacBook ProとこのデスクトップPCに、サーバ側用のアプリをそれぞれインストールしておいたので、iPhoneのSplash Topクライアントからアクセスしてみると・・・ 見事、デスクトップの操作ができるようになりました! これでなんとかなるかも・・・と思ってUSBドライバの再インストールを試したりWindowsの修復を試してみたりしましたが、残念ながらどの方法もうまくいかず・・・。 となると残る手段はWindowsの復元くらいしかありません。
実は、PC歴30年以上(オトンのPC9801とかX68kとかも入れて)になるパソコンの大先生wにもかかわらず、こういうときの障害復旧に弱く、今までも結構さっさと諦めてクリーンインストールがしょっちゅうだったのですが(こないだのマザー入れ替えのときもやったしね・・・)、まあ面倒くさいことには変わりませんので出来ればやりたくないです。 で、つい1〜2ヶ月前にも、あえて怪しいEXEを踏んだためにうっとおしいマルウェアに感染し、ブラウザの起動設定とかをいじられて、消しても消しても変なサイトにアクセスさせられるようになって、レジストリから怪しいエントリを消しても復活してきて埒があかんので、復元でなんとか復活したのですが、そのときは復元ポイントが5日前くらいが最新で、その間に入れたAssetto CorsaのMODファイルとかがおかしくなったりしてました。 (一応、Windowsの復元はユーザーファイルは最新を残してくれるので、そこは安心だが) なので、今回も結構前まで巻き戻るのかなと思って、コンパネから復元ポイントを調べてみると、むしろ今回は直前の作業から残されていました。
ようするに、Windowsが自動で復元ポイントを作るのは、システムに変更が加えられたときなので、直前にやっていたOculus Riftのランタイムのインストールやアンインストール等のタイミングがすべて残されていたのです。 おそらく一連の作業の最初、バージョン0.7.0.0のランタイムを入れた2時間前のポイントで良さそうでしたが、念のためその1つ前(10時間ほど前)にWindowsアップデートが勝手に実施されていたので、ここでいいやと決めて復元をしてみました。 Windowsアップデートなら、未実施に戻ってもまた勝手にやってくれるし。
で、復元が完了して自動で再起動がかかると・・・ほら! 完全に元に戻っていました。 唯一、デスクトップにエラーメッセージが出ていて、一部復元できなかった等のメッセージがありましたが、あらかた触ってみても特に異常はないため、これで良しとしました。 Oculus Riftのランタイムも元通り、HMDもきっちり認識されているし、もちろん、マウス・キーボードもちゃんと動きます。 デバイスマネージャーでも特に異常はなし。 Assetto Corsaを起動してみると、ちゃんとHMDに3D表示がされました。
はあ、良かった。 でもマジで、Splash Topサマサマですわ。これがなかったらホントヤバかった。 Windowsが起動しなくなるトラブルは、これまでにも数え切れないくらいやらかしてますが、デスクトップがフツーに起動してるのに操作できないってトラブルは初めてで、なんとももどかしい状態でした。 まあでも、Splash Topも所詮アプリの一種、万が一動作や通信に問題があったらホントに万事休すだったかも知れず、こんなことも想定してPS/2キーボードは持っていたほうが良いかもな・・・と思う秋の夜長でした。
ああっ、もしかしてPS/2マウスなら押し入れにあったかもな・・・ | | | |
|