Looking Glass (KVM)を「例のグラボ」で試した


Looking Glass というものを「例のグラボ」で試してみた。

Looking Glass とは

背景

動作原理

graph LR subgraph KVM_host subgraph guest_Windows agent(("Agent Software
(looking-glass-host)")) game(("DirectX Application
(such as games)")) subgraph passthrough_vga fb2(frame buffer) end end subgraph host_vga fb1(frame buffer) end client(("Client Software
(looking-glass-client)")) ivshmem(ivshmem) end monitor1[Monitor] monitor2[Monitor] agent -- "DXGI Desktop Duplication API" --> fb2 fb2 ==> agent game == render ==> fb2 agent ==> ivshmem client ==> fb1 client --> ivshmem ivshmem ==> client fb1 == output ==> monitor1 fb2 -. output .-> monitor2

例のグラボ とは

事の顛末はちゃんと把握していないが, マイニング向けとして画面出力端子のないグラフィックスカードの 中古品が, 2018年末から2019年始にかけて非常に安価で大量に出回っている。 これが実は この記事のように, 画面出力端子を 復活させられるということもあって一部界隈で盛り上がっている。

自分の場合

ノリで1枚購入した。大きくわけて改造には

  1. HDMI端子の解放(ブラケットの加工)
  2. HDMI画面出力の解放(チップコンデンサのはんだ付け)
  3. 2番目以降の画面出力の解放(ブラケットの加工, 端子の実装, 回路素子の実装)

とステップがあり, この2番目には1005サイズのチップコンデンサ等が必要で, その調達に 時間がかかっているので1番目の加工のみで組み込み, Looking Glassを使うことにした。

Looking Glassを使う場合, パススルーに使うグラフィックスカードの画面出力そのものは必要なく, 画面出力をするために「グラフィックスカードに画面が接続されている」ことを認識さえすればよい。

これはまさに「例のグラボ」改造の1段階目を経た状態でモニタを接続だけすれば実現される状態に 他ならない。(詳しくは知らないが, どうやら2段階目を経ないと画面出力そのものはなされないが, 回路に手を加えずとも画面の接続の検出などはできるらしく, 1段階目までで条件はクリアされる。)

ちなみに, ブラケット加工はハンドニブラがあれば簡単だった。

手順

Quickstart Guide に従うのみではあるが, 流れと注意点のみ説明する。

Windows ゲストでの作業

KVM ホスト(Linux)での作業

注意点

所感