Top/Devel/OculusRift/OptimusノートでのDirectモード

OptimusノートでのDirectモードはてなブックマーク

optimus_direct.jpg

NVIDIAのGeForceが搭載されたノートPCの多くでは、IntelのオンボードGPUとGeForceをシームレスに切り替えることによって、消費電力を抑えるようになっていることが多い。

これを実現するのが、NVIDIA Optimus。

しかし、このOptimusとOculus Rift DK2は仕組み上どうしても相性が悪く、Oculus PC Runtimeのバージョンなど環境によって動作しないことがありました。


今はというと、実は2015.09.22現在、一部のOptimusノートPCでもDK2が動作するようになっています。


経緯は若干ややこしいのですが、次のような時系列です。


日付概要詳細
2014.10.24以前DK2の真価は発揮できないが使えるDK2の動作モードは、Direct HMD Access from Apps(通称Directモード)とExtend Desctop to the HMD(通称Extendモード)の2つありましたが、
OptimusノートPCではDK2の真価が発揮できないExtendモードを使うほかありませんでした。
2014.10.24DK2の真価が発揮できるようになるOculus PC Runtime 0.4.3がリリースされ、OptimusノートでもDirectモードが動作するようになりました。
(一部のノートPCではDK2を認識させるために、後述のように外部モニタを接続する必要がありました)
2015.08.27DK2が全く使えなくなる(!)Oculus PC Runtime 0.7.0.0とGeForce Game Ready Driver 355.83がリリースされました。
DK2の動作モードが従来のDirectモードに相当するDirect Driverモードに一本化されました。*1
このRuntime 0.7.0.0はGameWorks VR機能を提供するGeForce Driverとの組み合わせで動作します。
しかし、GeForce Driver 355.83ではノートPCをサポートしておらず、この時点でOptimusノート + Runtime 0.7.0.0ではDK2を使用できなくなってしまいました。
2015.09.22DK2の真価が発揮できるようになるGeForce Game Ready Driver 355.98がリリースされました。このバージョンにて、ベータでなく最新の公式ドライバにGameWorks VRが入りました。
リリースハイライトに"Updated driver support for GameWorks VR SDK, adding notebook support"という記述があり、
後述の通り一部のOptimusノートでDirect Driverモードが動作するようになりました。


なお、開発環境としては使用できますが、Oculus VR社の要求スペックを満たさない以上、公開デモなどで他者に体験していただくためのマシンとしてはあまり良くないでしょう。

VRは生牡蠣

もちろんコンテンツにも拠りますので、コンテンツ毎に十分なフレームレート(DK2なら75fps)が安定して出ることをあらかじめ確認すれば、個人的には問題ないと思います。


2015.09.23 21:20追記 Permalinkはてなブックマーク

G-Tune i420マウスコンピュータ MB-P9350XQ-WS-SRGMで試してくださった方がいらっしゃいましたが、
Configuration Utilityで"HMD powered off"とされており、DK2が認識されていないようです。
この2つは恐らくCLEVOベアボーン。私のマシンはMSIベアボーンなので挙動が違うのかもしれません (^^;


2015.09.24 01:10追記 Permalinkはてなブックマーク

そもそも0.7の環境下でDK2を認識せず、Oculus Configuration Utilityには"HMD powered off"と表示されているという報告が多いため、
参考までにOculus Configuration Utilityで出力できる診断ログを添付してみました。


2015.10.04 22:00追記 Permalinkはてなブックマーク

筆者のOptimusノートで動作した際の動画を置いておきます。


2015.10.08 23:30追記 Permalinkはてなブックマーク

我が家のTSUKUMO G-GEAR note N1581J-711/EのBIOS情報は下の写真の通りです。
BIOS VERSIONから見て取れる通り、MSI MS-16F4ベースです。

N1581J-711E_bios.jpg

ウダサンがQF870HE(私のTSUKUMO N1581J-711/Eと同じくMSI MS-16F4ベースと思われる)にて、
Oculus PC Runtime 0.7.0.0でOculus Rift DK2が動作することを確認してくださいました。

また、詳細は未確認ですが、MSI GT60(型番不明)でRuntime 0.7.0.0でDK1が動作した情報もあります。
MSI GT60 2OCだとしたら、私のTSUKUMO N1581J-711/Eと同じくMSI MS-16F4ベースのはずなので、動作したものと思われます。

加えて、裏は取れておりませんが、NotebookReview.comのこの投稿によると、
"GT60/70 2O series have direct GPU output on HDMI/DP."とのことなので、
他のOptimusノートとはハード面の差異があるのかもしれません (^^;


2015.10.11 18:00追記 Permalinkはてなブックマーク

MSI GT60Alienware 17 R2を持っている方とやりとりした結果、
MSI MS-16F4ベースのマシン
(その方のMSI GT60や私のTSUKUMO N1581J-711/E、ウダサンのドスパラ QF870HE)の外部モニタ端子は、
GeForceに直結されていることが分かりました。
そのために、Oculus Rift DK2とGeForceが直接やりとりでき、Oculus PC Runtime 0.7.0.0下でも動作したものと思われます。

直結されていることは、外部モニタを接続した状態で、NVIDIAコントロールパネルの[Surround、PhysXの設定]を表示させると分かります。
下記は私のTSUKUMO N1581J-711/Eの外部モニタ端子にSonyのテレビを接続した際の表示です。
(1個のHDMI、2個のMini DisplayPortにそれぞれ接続しています。)

gpu_connection_MS-16F4_3.png
gpu_connection_MS-16F4_2.png
gpu_connection_MS-16F4_1.png

対して、Oculus Rift DK2がOculus PC Runtime 0.7.0.0下で動作しないAlienware 17 R2では、外部モニタ(下図では22EA63)が
Intel HD Graphics側に接続されていることが分かります。

gpu_connection_Alienware_17_R2.png

*2

MSI MS-16F4ベースのマシンには
MSI Matrix Display technologyという技術が搭載されており、ノートのモニタの他に最大3画面を表示することができます。
このときIntel HD Graphicsでは力不足のため、外部モニタ端子がGeForceに直結されているものと思われます。


MSIのノートPCで、MSI Matrix Display technologyを搭載しているのは、下記の機種の模様です。(2015.10.11現在)


また、こちらの投稿によれば、
MSI GS70 2ODのベアボーンであるMS-1771や、
MSI GT72 2PxのベアボーンであるMS-1781にも、
MSI Matrix Display technologyは搭載されているとのことです。
これらのベアボーンをベースとした国内の機種でもDK2が動作することが期待できます。


2015.10.11 18:30追記 Permalinkはてなブックマーク

G-Tuneでベースとして採用されていることが多いCLEVOのベアボーンですが、
下記の機種はNVIDIA Surround Viewをサポートしていることが分かりました。
GPU直結の可能性は高いかもしれません。


2015.10.14 23:30追記 Permalinkはてなブックマーク

「NVIDIA Optimus機能搭載ノートPCにおける
Oculus PC Runtime0.7.0.0下での
Oculus Rift DK2の動作確認フローチャート」を作成してみました。


あくまで前述の条件における動作確認チャートになっていますので、
デスクトップでの動作や、過去バージョンのRuntimeには適用されませんので
ご注意ください。

dk2_with_optimus_flowchart_20151014.png

2015.10.16 00:00追記 Permalinkはてなブックマーク

各メーカーのOptimusノートにおける
NVIDIAコントロールパネルの[Surround、PhysXの設定]の画面を頂いたので、
下記に掲載いたします。皆様ありがとうございました! :)

G-Tune i420とそのベアボーンであるCLEVO W230SSのPhysX画面。

gpu_connection_i420.png
gpu_connection_W230SS.png


Alienware 17(2014)のPhysX画面。

gpu_connection_Alienware_17_2014.png


MSI GS60 2PEのPhysX画面。

gpu_connection_GS60_2PE.png


MSI GS60 2QEのPhysX画面。

gpu_connection_GS60_2QE.png


G-Tune i5700のPhysX画面。

gpu_connection_i5700.png

筆者の環境

モデル

TSUKUMOのG-GEAR note N1581J-711/E

スペック

CPUIntel Core i7-4712MQ(4コア8スレッド、2500-3495MHz)
GPUNVIDIA GeForce GTX 870M(CUDAコア1344、941MHz、3GB)
チップセットIntel HM87 Chipset
メモリPC3-12800 DDR3L SODIMM 8GB(4GBx2)
ストレージ128GB SSD + 500GB HDD
OSWindows7 Home Premium(64bit) SP1

GeForce Driver

355.98

DXDiagの情報

------------------
System Information
------------------
Time of this report: 9/23/2015, 10:07:04
       Machine name: PARM
   Operating System: Windows 7 Home Premium 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_gdr.150722-0600)
           Language: Japanese (Regional Setting: Japanese)
System Manufacturer: Project White Co., Ltd.
       System Model: MEGABOOK
               BIOS: E16F4IT6.10U                                                                                                   Ver: 00.00.00
          Processor: Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz (8 CPUs), ~2.5GHz
             Memory: 8192MB RAM
Available OS Memory: 8112MB RAM
          Page File: 2624MB used, 13597MB available
        Windows Dir: C:\Windows
    DirectX Version: DirectX 11
DX Setup Parameters: Not found
   User DPI Setting: Using System DPI
 System DPI Setting: 96 DPI (100 percent)
    DWM DPI Scaling: Disabled
     DxDiag Version: 6.01.7601.17514 32bit Unicode
 
(略)
---------------
Display Devices
---------------
          Card name: Intel(R) HD Graphics 4600
       Manufacturer: Intel Corporation
          Chip type: Intel(R) HD Graphics Family
           DAC type: Internal
         Device Key: Enum\PCI\VEN_8086&DEV_0416&SUBSYS_11061462&REV_06
     Display Memory: 1696 MB
   Dedicated Memory: 64 MB
      Shared Memory: 1632 MB
       Current Mode: 1920 x 1080 (32 bit) (60Hz)
       Monitor Name: 汎用 PnP モニター
      Monitor Model: unknown
         Monitor Id: SDC324C
        Native Mode: 1920 x 1080(p) (60.096Hz)
        Output Type: Internal
        Driver Name: igdumdim64.dll,igd10iumd64.dll,igd10iumd64.dll,igdumdim32,igd10iumd32,igd10iumd32
Driver File Version: 10.18.0010.3621 (English)
     Driver Version: 10.18.10.3621
        DDI Version: 11
       Driver Model: WDDM 1.1
  Driver Attributes: Final Retail
   Driver Date/Size: 5/16/2014 21:27:30, 16586584 bytes
        WHQL Logo'd: n/a
    WHQL Date Stamp: n/a
  Device Identifier: {D7B78E66-4756-11CF-0C62-0B31BBC2C735}
          Vendor ID: 0x8086
          Device ID: 0x0416
          SubSys ID: 0x11061462
        Revision ID: 0x0006
 Driver Strong Name: oem37.inf:IntelGfx.NTamd64.6.1:iHSWM_w7:10.18.10.3621:pci\ven_8086&dev_0416
     Rank Of Driver: 00E62001
        Video Accel: ModeMPEG2_A ModeMPEG2_C ModeWMV9_C ModeVC1_C 
   Deinterlace Caps: (略)
       D3D9 Overlay: Supported
            DXVA-HD: Supported
       DDraw Status: Enabled
         D3D Status: Enabled
         AGP Status: Enabled
(略)

Oculus Configuration UtilityのDiagnostic Logの情報 Permalinkはてなブックマーク

Oculus Configuration Utilityのメニューの[Tools]>[Advanced]>[Diagnostic Log]で診断のためのログファイルを出力することができます。

以下は私のG-GEAR note N1581J-711/Eで出力したログファイルです。

DK2を取り外した状態のログ

fileriftdiagnostic_rift_detach.log
{
	"Time":	"2015-09-24_00:45:14",
	"SDK Version":	"0.7.0.0",
	"Service Protocol":	{
		"Major":	1,
		"Minor":	7,
		"Patch":	0
	},
	"RemoteProtocolVersion":	{
		"Major":	1,
		"Minor":	7,
		"Patch":	0
	},
	"Service Running Time":	{
		"Hours":	3,
		"Minutes":	5,
		"Seconds":	47
	},
	"System Specifications":	{
		"Operating System":	"Microsoft Windows 7 Home Premium ",
		"Processor":	"Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz",
		"Graphics Adapters":	[{
				"Name":	"NVIDIA GeForce GTX 870M ",
				"Video Controller RAM (MB)":	3072,
				"Driver Version":	"10.18.13.5598",
				"Video Mode":	"10.18.13.5598"
			}, {
				"Name":	"Intel(R) HD Graphics 4600",
				"Video Controller RAM (MB)":	2112,
				"Driver Version":	"10.18.10.3621",
				"Video Mode":	"1920 x 1080 x 4294967296 colors"
			}],
		"Total RAM (GB)":	8,
		"USB Tree":	[{
				"name":	"Intel(R) 8 Series/C220 Series USB EHCI #1 - 8C26",
				"deviceid":	"PCI\\VEN_8086&DEV_8C26&SUBSYS_10DF1462&REV_05\\3&11583659&0&E8",
				"caption":	"Intel(R) 8 Series/C220 Series USB EHCI #1 - 8C26",
				"manufacturer":	"Intel",
				"Devices":	[{
						"manufacturer":	"(標準 USB ホスト コントローラー)",
						"name":	"USB Root Hub"
					}, {
						"manufacturer":	"(Generic USB Hub)",
						"name":	"Generic USB Hub"
					}, {
						"manufacturer":	"NETGEAR Inc.",
						"name":	"NETGEAR A6100 WiFi Adapter"
					}, {
						"manufacturer":	"Microsoft",
						"name":	"Microsoft Virtual WiFi Miniport Adapter #4"
					}]
			}, {
				"name":	"Intel(R) 8 Series/C220 Series USB EHCI #2 - 8C2D",
				"deviceid":	"PCI\\VEN_8086&DEV_8C2D&SUBSYS_10DF1462&REV_05\\3&11583659&0&D0",
				"caption":	"Intel(R) 8 Series/C220 Series USB EHCI #2 - 8C2D",
				"manufacturer":	"Intel",
				"Devices":	[{
						"manufacturer":	"(標準 USB ホスト コントローラー)",
						"name":	"USB Root Hub"
					}, {
						"manufacturer":	"(Generic USB Hub)",
						"name":	"Generic USB Hub"
					}, {
						"manufacturer":	"(標準システム デバイス)",
						"name":	"USB 入力デバイス"
					}, {
						"manufacturer":	"(標準システム デバイス)",
						"name":	"HID 準拠デバイス"
					}]
			}, {
				"name":	"インテル(R) USB 3.0 eXtensible ホスト・コントローラー",
				"deviceid":	"PCI\\VEN_8086&DEV_8C31&SUBSYS_10DF1462&REV_05\\3&11583659&0&A0",
				"caption":	"インテル(R) USB 3.0 eXtensible ホスト・コントローラー",
				"manufacturer":	"Intel(R) Corporation",
				"Devices":	[{
						"manufacturer":	"Intel(R) Corporation",
						"name":	"インテル(R) USB 3.0 ルートハブ"
					}]
			}]
	},
	"Drivers":	[{
			"Path":	"\\system32\\OVRDisplay64.dll",
			"Version":	"1.2.7.0"
		}, {
			"Path":	"\\system32\\OVRDisplayRT64.dll",
			"Version":	"1.2.7.0"
		}, {
			"Path":	"\\syswow64\\OVRDisplay32.dll",
			"Version":	"1.2.7.0"
		}, {
			"Path":	"\\syswow64\\OVRDisplayRT32.dll",
			"Version":	"1.2.7.0"
		}, {
			"Path":	"\\system32\\drivers\\RiftEnabler.sys",
			"Version":	"1.2.7.0"
		}, {
			"Path":	"\\system32\\OVRDisplay32.dll",
			"Version":	"C:\\Windows\\system32\\OVRDisplay32.dll not found"
		}, {
			"Path":	"\\system32\\OVRDisplayRT32.dll",
			"Version":	"C:\\Windows\\system32\\OVRDisplayRT32.dll not found"
		}, {
			"Path":	"\\system32\\drivers\\OCUSBVID.sys",
			"Version":	"1.0.10.0"
		}],
	"Video Device Tree":	[{
			"Name":	"NVIDIA GeForce GTX 870M ",
			"VRAM (MB)":	3008,
			"Monitors":	[{
					"Name":	"\\\\.\\DISPLAY1",
					"Width":	1920,
					"Height":	1080,
					"Refresh Rate":	60
				}]
		}],
	"Devices":	[]
}

DK2を接続した状態のログ

fileriftdiagnostic_rift_attach.log
{
	"Time":	"2015-09-24_00:54:41",
	"SDK Version":	"0.7.0.0",
	"Service Protocol":	{
		"Major":	1,
		"Minor":	7,
		"Patch":	0
	},
	"RemoteProtocolVersion":	{
		"Major":	1,
		"Minor":	7,
		"Patch":	0
	},
	"Service Running Time":	{
		"Hours":	3,
		"Minutes":	15,
		"Seconds":	14
	},
	"System Specifications":	{
		"Operating System":	"Microsoft Windows 7 Home Premium ",
		"Processor":	"Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz",
		"Graphics Adapters":	[{
				"Name":	"NVIDIA GeForce GTX 870M ",
				"Video Controller RAM (MB)":	3072,
				"Driver Version":	"10.18.13.5598",
				"Video Mode":	"720 x 576 x 4294967296 colors"
			}, {
				"Name":	"Intel(R) HD Graphics 4600",
				"Video Controller RAM (MB)":	2112,
				"Driver Version":	"10.18.10.3621",
				"Video Mode":	"1920 x 1080 x 4294967296 colors"
			}],
		"Total RAM (GB)":	8,
		"USB Tree":	[{
				"name":	"Intel(R) 8 Series/C220 Series USB EHCI #1 - 8C26",
				"deviceid":	"PCI\\VEN_8086&DEV_8C26&SUBSYS_10DF1462&REV_05\\3&11583659&0&E8",
				"caption":	"Intel(R) 8 Series/C220 Series USB EHCI #1 - 8C26",
				"manufacturer":	"Intel",
				"Devices":	[{
						"manufacturer":	"(標準 USB ホスト コントローラー)",
						"name":	"USB Root Hub"
					}, {
						"manufacturer":	"(Generic USB Hub)",
						"name":	"Generic USB Hub"
					}, {
						"manufacturer":	"NETGEAR Inc.",
						"name":	"NETGEAR A6100 WiFi Adapter"
					}, {
						"manufacturer":	"Microsoft",
						"name":	"Microsoft Virtual WiFi Miniport Adapter #4"
					}, {
						"manufacturer":	"(Generic USB Hub)",
						"name":	"Generic USB Hub"
					}, {
						"manufacturer":	"(標準システム デバイス)",
						"name":	"USB 入力デバイス"
					}, {
						"manufacturer":	"(標準システム デバイス)",
						"name":	"HID 準拠デバイス"
					}]
			}, {
				"name":	"Intel(R) 8 Series/C220 Series USB EHCI #2 - 8C2D",
				"deviceid":	"PCI\\VEN_8086&DEV_8C2D&SUBSYS_10DF1462&REV_05\\3&11583659&0&D0",
				"caption":	"Intel(R) 8 Series/C220 Series USB EHCI #2 - 8C2D",
				"manufacturer":	"Intel",
				"Devices":	[{
						"manufacturer":	"(標準 USB ホスト コントローラー)",
						"name":	"USB Root Hub"
					}, {
						"manufacturer":	"(Generic USB Hub)",
						"name":	"Generic USB Hub"
					}, {
						"manufacturer":	"(標準システム デバイス)",
						"name":	"USB 入力デバイス"
					}, {
						"manufacturer":	"(標準システム デバイス)",
						"name":	"HID 準拠デバイス"
					}]
			}, {
				"name":	"インテル(R) USB 3.0 eXtensible ホスト・コントローラー",
				"deviceid":	"PCI\\VEN_8086&DEV_8C31&SUBSYS_10DF1462&REV_05\\3&11583659&0&A0",
				"caption":	"インテル(R) USB 3.0 eXtensible ホスト・コントローラー",
				"manufacturer":	"Intel(R) Corporation",
				"Devices":	[{
						"manufacturer":	"Intel(R) Corporation",
						"name":	"インテル(R) USB 3.0 ルートハブ"
					}]
			}]
	},
	"Drivers":	[{
			"Path":	"\\system32\\OVRDisplay64.dll",
			"Version":	"1.2.7.0"
		}, {
			"Path":	"\\system32\\OVRDisplayRT64.dll",
			"Version":	"1.2.7.0"
		}, {
			"Path":	"\\syswow64\\OVRDisplay32.dll",
			"Version":	"1.2.7.0"
		}, {
			"Path":	"\\syswow64\\OVRDisplayRT32.dll",
			"Version":	"1.2.7.0"
		}, {
			"Path":	"\\system32\\drivers\\RiftEnabler.sys",
			"Version":	"1.2.7.0"
		}, {
			"Path":	"\\system32\\OVRDisplay32.dll",
			"Version":	"C:\\Windows\\system32\\OVRDisplay32.dll not found"
		}, {
			"Path":	"\\system32\\OVRDisplayRT32.dll",
			"Version":	"C:\\Windows\\system32\\OVRDisplayRT32.dll not found"
		}, {
			"Path":	"\\system32\\drivers\\OCUSBVID.sys",
			"Version":	"1.0.10.0"
		}],
	"Video Device Tree":	[{
			"Name":	"NVIDIA GeForce GTX 870M ",
			"VRAM (MB)":	3008,
			"Monitors":	[{
					"Name":	"\\\\.\\DISPLAY4",
					"Width":	720,
					"Height":	576,
					"Refresh Rate":	50
				}]
		}, {
			"Name":	"NVIDIA GeForce GTX 870M ",
			"VRAM (MB)":	3008,
			"Monitors":	[{
					"Name":	"\\\\.\\DISPLAY1",
					"Width":	1920,
					"Height":	1080,
					"Refresh Rate":	60
				}]
		}],
	"Devices":	[{
			"Product ID":	33,
			"Product Name":	"Oculus Rift DK2",
			"Manufacturer":	"Oculus VR",
			"Serial Number":	"2033E304MQAN",
			"Vendor ID":	10291,
			"EDID Serial":	"MSCEMAR6K9DAK",
			"Firmware":	{
				"Major":	2,
				"Minor":	12
			},
			"Frustum":	{
				"Far Z Metres":	2.500000,
				"H Fov Radians":	1.291544,
				"Near Z Metres":	0.400000,
				"V Fov Radians":	0.942478
			}
		}]
}

確認した際の手順

  1. ノートPCにのminiDisplayPortにELECOMのminiDisplayPort→HDMI変換アダプタ AD-MDPHDMIWHを接続する。(N1581J-711/EにはHDMIポートが1つしかないため)
  2. AD-MDPHDMIWHにテレビ(SONY KDL-40W900)を接続する。
  3. ノートPCのHDMI端子にOculus Rift DK2を接続する。
  4. デスクトップを右クリックし、コンテキストメニューから[画面の解像度]をクリック。
  5. [複数の画面]で[表示画面を拡張する]を選択する。
  6. [ディスプレイ]欄でテレビ(KDL-40W900)を選択する。
  7. [これをメインディスプレイにする]にチェックを入れ、[OK]をクリック。

アプリの起動 - Demo Scene

optimus_direct.jpg
  1. タスクトレイのOculusアイコンをクリックし、コンテキストメニューから[Configuration Utility]をクリック。
  2. [Show Demo Scene]をクリック。


動作しました :)

アプリの起動 - Oculus World Demo

  1. こちらからOculus PC SDK for Windowsをダウンロード。
  2. zipを解凍する。
  3. 「Oculus World Demo」のショートカットをダブルクリック。


動作しました :)

結論

以上から、OptimusノートPCでも、ノートPCのモニタとは別に外部モニタを接続し、そちらをメインにした上でOculus Rift DK2を接続すると、動作することが分かりました。



とはいえ、外部モニタ持ち歩くの大変じゃね? Permalinkはてなブックマーク

上記検証の結果、Optimusノートに外部モニタを接続してメインディスプレイに設定すれば、今までDirect Driverモードが動作しなかった機種でもDirect Driverモードが動作することが分かりました。

ただ、公開デモの度に外部モニタを持参するのは、とても面倒。


…Optimusノートに外部モニタが接続されていると思い込ませることができれば、Direct Driverモードで動作するのでは?


ということで、
「ダミープラグ」作戦を決行する。


なお、本方法は、PC本体の破損や感電、火災を招く危険性がありますので、自己責任にて行ってください。

材料

dummy01.jpg
  1. お手持ちのOptimusノートの外部モニタ用端子からミニD-Sub15ピンに変換するアダプタ。
    僕のN1581J-711/EにはMini DisplayportとHDMI端子があるため、
    PLANEX Mini Displayport→VGA端子変換アダプタ PL-MDPVG02のような製品か、
    または、Vodaview HDMI to VGA変換アダプタ VV-HDAVGA-W-DOのような製品が使用できます。
  2. カーボン抵抗(75Ω) * 3本
  3. ミニD-Sub15ピンをメスからオスに変換するアダプタ。
    COMMON VGA-MFがよさそうです。
    今回は、オス/オスメス/メスを組み合わせることで代用しました。

作成手順

dummy02.jpg
  1. カーボン抵抗を写真のように曲げる。
    dummy04.jpg
    dummy03.jpg
    177px-DE15_female.svg.png
  2. ミニD-Sub15ピンのメス端子側の右上の1番ピンとその下の6番ピンにまたがるように抵抗を挿す。
  3. 1番端子の左の2番端子とその下の7番端子にまたがるように抵抗を挿す。
  4. 2番端子の左の3番端子とその下の8番端子にまたがるように抵抗を挿す。
    dummy05.jpg
  5. ミニD-Subの固定ピンが邪魔な場合はペンチなどで除去する。
    dummy06.jpg
  6. それを別途用意した外部モニタ用端子からミニD-Sub15ピンに変換するアダプタに挿す。(写真はminiDisplayPort→D-Sub変換アダプタ)


これで出来上がりです。


きちんと認識されるか確認してみましょう。

dummy07.jpg
  1. 作成したダミープラグをOptimusノートに挿す。
  2. デスクトップを右クリックし、コンテキストメニューから[画面の解像度]をクリック。
    dummy08.png
  3. 写真のように[モバイルPCディスプレイ]以外のモニタが増えていれば成功。
    写真では[LCD_VGA]というモニタとして認識されています。
    dummy10.png
    dummy09.png
  4. [詳細]を押して確認してみましょう。写真のように認識されていれば、OKです。


なお、HDMI端子が複数ある機種では上記のPL-MDPVG02の代わりに VV-HDAVGA-W-DOなどを使用するとよいでしょう。

アプリ実行までの手順

ダミープラグを使用する場合、前述の手順では、メインディスプレイがダミープラグになったままになるので、VRアプリの起動が大変です。

そこで、ダミープラグを途中で抜いてもDirect Driverモードが有効なままになる手順を調査しました。

この手順では、ダミープラグを抜いた後はメインディスプレイがノートPC側に戻るので、、VRアプリの起動が楽です。


  1. Oculus Configuration Utilityを起動する。
  2. ダミープラグを挿す。(ダミープラグ側がメインディスプレイになっている必要があります)
  3. デスクトップを右クリックし、コンテキストメニューから[画面の解像度]をクリック。
  4. [複数の画面]で[表示画面を拡張する]を選択する。
  5. [適用]ボタンをクリックする。
  6. [変更を維持する]ボタンをクリックする。
  7. [ディスプレイ]でダミープラグによって新たに追加されたディスプレイ(アダプタによって表示名は異なります)を選択する。
  8. [これをメインディスプレイにする]にチェックを入れ、[OK]をクリック。
  9. Altキー+TabキーとWinキー+Eキーを使って、ノートPC側もモニタにOculus Configuration Utilityを移動する。
  10. [Show Demo Scene]ボタンを押し、Demo Sceneを起動する。
  11. Demo Sceneを終了する。
  12. ダミープラグを抜く。
  13. Oculus Configuration Utilityを閉じずに、Oculus World demoなどのOculus Rift用アプリを起動する。
    (以降もOculus Configuration Utilityを閉じない限りはDirect Driverモードが継続します)

手順に誤りがなければ、下図のように動作します。


dummy16.png

ダミープラグの改善

dummy18.jpg
dummy17.jpg

抵抗を穴に挿しているだけだと、導通が不安定で、衝撃にも弱い。

そこで、はんだづけする。

千石電商などで、ミニD-Subコネクタ15ピン(メス)を買って、上記と同様に抵抗を挿し、はんだづけするだけ。

実は前述のジェンダーチェンジャーを使う方法より、圧倒的に安い。85円。


以上! :)

既成品でダミープラグと同等の効果を得る Permalinkはてなブックマーク

PCのHDMI端子の出力をRCAコンポジットに変換するHDMI2AVという商品で前述のダミープラグと同等の効果を得ることができました。

なお、N1581J-711/EにはHDMIポートが1つしかないため、AD-MDPHDMIWHを経由して接続しました。

hdmi2av.png

PCでの認識は右の写真のようになります。

接続後の手順はダミープラグと同様です。


ただ、HDMI2AVですが、コピー品が多数あるらしく、マーケットプレイスで沢山の業者が販売しており、評価がまちまちです。

今回私は「AMAZON.CO.JP 配送センターより発送されます 」との記載があったWinningという業者から購入してみました。

なお、本来の機能(HDMI出力をコンポジット(黄白赤)に変換する)については、miniUSBから電源供給することで機能しましたが、画質もあまり良くなくお勧めできませんので、
あくまでもDirect Driverモード狙いでの購入をお勧めします。

Amazon

*1 厳密には動作の仕組みはDirectモードとDirect Driverモードで若干異なります。
*2 PUCKさんご本人の許可をいただいて転載しました。
差分 一覧