2015年7月25日土曜日

How to fix black screen on Open Broadcaster Software

Duplicating secondary monitor which is quite important if you play with Oculus on laptop.  Open Broadcaster Software (OBS) that is free and open source software enables us to monitor what's shown on Oculus, but sometimes shows just black screen.  One of the reason is Optimus which I believe you hate and are eager to kick it out from your laptop if you play 3D game quite often.

OBS uses NVIDIA graphic (High performance graphic) in some environment instead of Intel graphic (Integrated graphic) resulting black screen even if you configure correctly.  To change it, go to NVIDIA control panel, manage 3D setting, then choose Program Setting and add Open Broadcaster Software manually (i.e. click 'Add' and pick Open Broadcaster Software or click 'Browse' then find the software in case not listed)

Done!  You should be able to capture the entire monitor.

(*) the following part is same as what written above, but written in Japanese.
(*) 以下は日本語

拡張モニタをメインモニタに複製して映すことはOculusで遊ぶ人にとってかなり重要です。Open Broadcaster Software (OBS)は無料でオープンソースなソフトで、この機能を実現してくれるのですが、ときどき黒い画面しか映さないことがあります。原因の一つはOptimusです。個人的にはこのOptimusはゲーマーから嫌われ、是非なくしてもらいたい存在と思いますがさて。

OBSは環境によって(内蔵のIntelのじゃなくて)NVIDIAのグラボを使うのですが、これがたとえOBSの設定を適切に行っても黒い画面が表示されてしまう原因です。この設定を変更するにはNVIDIAコントロールパネルを開き、3D設定へ移動、プログラムの設定のタブを開いてOBSを手動で加える必要があります(具体的には「追加」を押してOpen Broadcaster Softwareを選ぶか、もし一覧になければ「参照」を押してソフトを探し、加える)。

これだけ!こうすればモニタのキャプチャが可能になります。

2015年7月23日木曜日

またBSoDが出た

いつになっても嫌なBSoDですが、先日たしか月曜日のあたりに出ました。nVidiaのドライバ(というよりOptimusとOculusドライバの相性)が原因で発生したのでF8でセーフモード起動→グラボのドライバ削除→再起動で復帰しました。

Windows 8.1とかだとF8でブートオプションに入るには、このサイトにまとめられてる方法をとる必要があります。何回も再起動させて、セーフモードの起動というオプションを選ぶのも手ですが、時間がかかって面倒なので、Optimus + Oculusの環境の人は予め設定しておくと楽です(設定は1度だけでOK)
http://win8room.net/2013/05/23/2451.html

これとは別に今朝、まったく予期しなかったBSoDが出て原因を追及したかったのですが残念ながら特定には至らず。ただイベントビュアーからエラーコードの特定まではわかりました。


イベントビュアーを開いてWindows Log→Systemと辿り、場合によってはCriticalをフィルターしてここに表示されているようなエントリを探します。エラー内容の「BugcheckCode」というのがエラーコードで、ここでは159ですが10進数での表記です。ググるときは16進数のほうがヒットしやすいので変換します(今回の159は0x9Fになる)。このあたりの詳細はここ(マイクロソフトの公式)

それで今回の0x9Fって何かと思ったらハードウエアの電源関係のエラーみたいなのですが、具体的にどのデバイスがおかしかったのかまではちゃんと見ていません(Parameter 1が0x3なのでParameter 4からヒントは得られるようですが、そこまでちゃんと見てない)