ノートPCでも外付けGPUを使いたい

今使ってるノートPCでGPU使いたいなーとふと思いまして、外付けGPUユニットを買いました。
ノートPCのスペック的には外付けGPUもいけるだろうと思ってThunderbolt 3 (PCI Express Gen3 x 2レーン)で40Gbps双方向サポートされてる機種です。(DELLのXPS 13

外付けGPUを載せる筐体としてはPowerColor DEVIL BOXを選んでみました。(納期等の都合)
で、つないでみたのですがGPUを認識しないんですよね。TB3の設定みると
image
外付けGPUサポート:いいえ とか言われる始末。ファームが更新されたりドライバが更新されるのを心待ちしてたわけですが、親切なてんきちゃんに教えてもらったところ外付けの筐体側のファームを更新してみよう(人柱ヨロ)ということだったのでそのようにしてみました。

いろいろ見ると

As of 23-April-2017, TI83 (red) marked enclosures deliver only half their TB3-specced host-to-device bandwidth and are awaiting a firmware fix.

とか書いており、そのままじゃダメそうです。ただ

Allows eGPU detection in Windows for systems reporting “external GPUs supported: no” in the Intel Thunderbolt software.

とあるのでリンクにあるファーム更新ツールで強制的にファームを変えてみることにしました。※接続してファーム更新後OS再起動
TBソフトウェア上は外付けGPUサポートはいいえのままですが、ちゃんとGPU認識しました!やったね。

というわけでノートPCでも無事GPUが使えるようになりましたとさ。

※ GPUの取り外し時の確認ウィンドウがちゃんと描画されなかったりするし、稼働アプリがある状態で切断するとアプリ落ちるしその後の挙動が怪しい気もする(ノートPCのディスプレイの解像度がちゃんとならなかったり)ので、気軽に接続・切断はしにくくなった気もしますが概ね満足です。

Microsoft Windows 10 Event

というのがありました。

なんかインターネットに接続できなかったり大変だったので(今も不安定)覚えてるところを箇条書きで。

  • 今回は主にクリエイター向けの発表が多かった感じというかそのようなイベントでした。
  • Windows 10 Creator Update。2017年早め(Early)にリリース。
  • スマートフォンのカメラで物体ぐるぐるスキャンしたらそのまま3Dオブジェクトになったり!
    image
  • Paint 3Dで3Dオブジェクトいじったりそのまま3Dプリントしたり
    imageimage
  • PowerPoint内で3Dオブジェクト扱えたり
    image
  • HoloLens内で作成したものを表示したり、HoloLens内のEdgeで選択したオブジェクトをそのまま配置したり
    imageimage
  • 後はWindows Holographicを使ったと思われるVRなHMDですね。
    imageimageimage
  • Xboxチームからは4kゲームのブロードキャスト(配信)などなど
    image
  • タスクバーの人アイコンから簡単にその人だけの情報みたり共有したり
    image
  • 後半はデバイス周り。
  • Surface Book i7が2399ドルで本日からプレオーダー。
    image
    バッテリー17時間他いろいろUpdate。
  • Surface Pro 4 は値下げして899ドル~、既存のSurface Bookも値下げして1499ドル~に
    image
  • で、お待ちかねSurface Studio
    image
  • True Scale、TrueColor、28インチ PixelSense、ゼログラビティヒンジでぐいっとな
    image
  • ペン、タッチ、Dial(New!)も使えます(Dialは他でも使えるみたいだけど)
    image

細かいのは公式でも見てください。

まぁぶっちゃけこのBlogで書く必要性ないよね

Kinect v2 Driver 2.2.1608.2000

中村さんに教えてもらったのですが新しいドライバーが降ってきたようです。(※ただしこちらのレジストリの設定をしてる場合のみ=まだPreviewな感じ?適用等は自己責任で。)

image

というわけで2.2.1608.2000になりました。v2.2系で何ができるかというと、こちらのBlogの通りUWP内でRGBカメラとして利用できます(Windows 10 Anniversary Updateだけかも)。例えばCognitive Serviceを使ったUWPのサンプルアプリ内でカメラソースとして利用できます。Windows Helloでも利用できます。

image

あと通常のWebカメラとしても使えるので、Skypeなどのアプリケーションからも利用できます。

image

これでいくつもカメラぶら下げなくて良くなりそうです!
あとはKinect SDKがアップデートされるのと、UWP内でIRなどのカメラソースも利用できると嬉しいですねぇ。

Windows 10 のデバイスポータル

Windows 10 のInsider PreviewにBuild 14342が本日リリースされました。

細かな話はさておき、このビルドからちゃんとデバイスポータルが動作するようになりました。

デバイスポータルというのは、Windows 10 IoT Coreが最初にお披露目したと思うのですがブラウザ経由でデバイスの状態を確認したり、アプリケーションをデプロイしたりといったユーティリティが提供されたWeb管理ツールです。

image

見たことある人もいますよね。実はこのデバイスポータルはWindows 10であればどのデバイスファミリーでも利用可能だったりします。
例えばWindows 10 IoT CoreのほかにPhoneやXBox、HoloLensなどもそうですね。既定の設定(ポート)や設定方法についてはドキュメントを見ましょう。

Windows 10のデスクトップで有効にするにはBuild 14342にあげてから設定→更新とセキュリティ→開発者向けを表示し、「デバイスポータルを有効にする」をオンにします。

image

認証は適宜設定しましょう。なお接続方法のところにリンクがありますがポート指定されてないのでクリックしても接続できません。

Windows Developer Modeのパッケージがインストールされていることも確認しましょう。
image

なお実体はWeb Managementというサービスです。レジストリなどを弄った後はこのサービスを再起動しておくといいかもです。
image

さてDesktopの場合、接続するポートがランダムになってしまうので面倒くさいです。
一応レジストリで固定化できるのでしておきましょう。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WebManagement\Service

にDWORD(32bit)でHttpPort、HttpsPortを作ってそれぞれポート番号を指定します。
また動的なのをやめるために UseDynamicPorts を0に設定します。(設定後サービス再起動しましょう)

例:
image

※このあたりを参照 → Device Portal for Desktop

接続してみると認証が有効な場合以下のような画面になります。

image

適当に設定してあげるともろもろアクセスできるようになりますので良しなに。
image

まぁそういう感じでざっくり管理がどのデバイスファミリーでも利用できるのは良いかもですね。

Windows 10 で省電力時にモニタのサイズがおかしくなる (未解決)

Windows 10でDisplay Portのモニタを使ってる時に、省電力の設定でモニタの電源オフされたあと復帰するとウィンドウのサイズなどがすごく小さくなるケースがあります。

image

ここの設定ですね。

どうも解像度を見失って既定値使うからっぽいです。なのでレジストリ弄って既定値をディスプレイの解像度にしておいてあげるとよさそうです。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration

の配下に SIMULATED_ で始まるキーがあるのでその下の00キーの PrimSurfSize.cx および PrimSurfSize.cy をそれぞれ適切な解像度の値にしてあげます。

image

※ うちのモニタだと2560×1440なので。

とりあえずうまくいったっぽい ( ´ー`)フゥー... なおると思ったんだけどやっぱり駄目っぽい…

Windows 10 の仮想デスクトップとデモ

Windows 10 では仮想デスクトップが使えます。

Winキー + TABとかで切り替えると右下にでてくる 新しいデスクトップ で追加して切り替えたりできるやつですね。
image

※ Winキー +CTRL+ALT+D のキーコンビネーションで作ることもできます。

仮想デスクトップ間の切り替えはWinキー+TABの切り替え時に選択してもいいですし、Winキー+CTRL+左右キー(← OR → )で切り替えることもできます。

普段使いにも便利ですが、プレゼンなどでデモも含めて行うときは仮想デスクトップ活用するとすごく便利です。
デスクトップ1でプレゼン表示しておいてデスクトップ2はVisual Studio、デスクトップ3はブラウザとかあらかじめ仕込んでおけばキーコンビネーションだけでスパスパ切り替えられます。ウィンドウ探したり、意図しないウィンドウだして誤爆したりな事故も防げてスムーズに進行できます!

ただし注意点がいくつかあって、「画面の外部出力の状態(複製や拡張とかのあれ)は仮想デスクトップ単位で保持されてる」というところです。
デモ時などだいたい複製で行うと思うのですけど、メインなデスクトップで「複製」にしていざ本番、デモ用デスクトップに切り替えたら複製じゃなくて「拡張」になっててデスクトップが晒される!という事態になりえます。

なのであらかじめ各デスクトップでちゃんと設定しておきましょうね。以上、過去2回ほどデスクトップというか壁紙さらして失笑された人からの報告でした。