自分のPC環境は 4K ディスプレイ2台構成していますが、ノートPCの内蔵GPUには少々荷が重いなあと感じていました。Excelのスクロールがもたついたり、Delphi 開発環境も比較的重めです。なので、外付けGPUというのには以前から興味がありました。
ただ、外付けGPUボックスは大きなものが多く、市販のディスプレイカードも電力食いなものが多いです。
GPD G1 はモバイル向けのAMD Radion RX7600M XT を積んでおり、筐体サイズも外付けGPUボックスとしてはかなり小型で、比較的低消費電力です。ノートPCのドッキングステーションとしての機能も持ちます。
ノートPCへの接続には USB 4 を使用します。OcuLink というコネクタも併用できるそうですが、そんな端子、普通のノートPCにはないですし OcuLink はホットプラグ不可だそうです。USB 4 接続は一応ホットプラグ可能ですが、起動中に取り外すときは、いろいろアプリケーションを終了した後、OSのデバイスの取り外し機能から外さないといけないようです。(面倒くさいからそのまま取り外したりしますが…)
エイヤと注文してみたものの、導入当初はなかなかにトラブル続きでした。
試してみたPCは Lenovo Thinkpad X1 Carbon Gen 10 (以下 Thinkpad X1)と Lenovo Thinkpad T14 Gen 1 (Thinkpad T14)です。
Thinkpad T14 の方は「このデバイスが使用できる空きリソースが不足しています」と表示されて GPD G1 を認識しませんでした。よく分かりませんでしたが、Thinkpad T14 に元からなぜか内蔵されていた GeForce MX250 がそもそも要らないなと思っていたのでデバイスマネージャで無効化したところ、認識するようになりました。(ディスプレイ出力は CPU 内蔵のGPU から出力され、GeForce MX250 はデバイスとしては繋がっているが何に使えるのか本当によくわからない…ディープラーニングとかにでも使えばよいのだろうか?)
問題は、Thinkpad X1 の方です。
- 接続して起動するとGPD G1がうまく認識されず、ログイン画面がノートPCの画面にも表示されない(何かの待ちのような挙動?)
- ログイン後に接続するようにしても、たまに認識しないことがある?
- スリープまたは休止すると、すぐにスリープ・休止が解除され、しかも GPD G1 が認識されないことが多い。
- GPD G1でディスプレイアダプタ (AMD Radion RX7600M XT)を認識しても、なぜかGPD G1経由で接続したキーボード(HHKB Professional JP)が認識しないことがある
割と致命的です。色々調べたところ、Windows に標準で付属する PnPUtil というコマンドで、USB 4 のホストルーターをリセットすると GPD G1 を再認識できるようでした。
これをできるだけ簡単に運用できるように、以下のバッチファイルを書いてみました。
PnPUtil /restart-device "PCI\VEN_8086&DEV_463E&SUBSYS_22E717AA&REV_02&USB4_MS_CM\3&11583659&1&6A"
PnPUtil /restart-device "PCI\VEN_8086&DEV_466D&SUBSYS_22E717AA&REV_02&USB4_MS_CM\3&11583659&1&6B"
/restart-device
の後ろに指定するのは、PnPUtil /enum-devices
コマンドで表示されたデバイス一覧の中から、「USB4 (TM) ホスト ルーター (Microsoft)」のインスタンスIDです。USB 4 ポートが2つあるので2行記述しています。PCによって、リセットすべきデバイスは異なるかもしれません。
なお、デバイスのリセットは管理者権限でしか実行できないため、このバッチファイルはデスクトップにショートカットを作り、管理者権限で実行するようにショートカットのプロパティで指定します。
これで、最低限「認識されない」状況は回避できましたが、あまり使い勝手が良いとは言えません。
Thinkpad T14 でもそうでしたが、どうもデバイスの何かのリソース確保あたりが怪しそうです。GPD G1 はUSB 4で接続されますが、内部的には USB 4 で PCI-e バスをトンネリングして接続されているようです。何か使わないデバイス(PCのリソースを使っていそうな内部的に直接PCに接続されているデバイス)を無効化するとよいかもしれません。
…デバイスマネージャを眺めていると、「AMD High Definition Audio Device」という見慣れないものが…。どうも、GPD G1 というか、AMD Radion RX7600M XT に内蔵されているオーディオデバイスのようです。確かに、GPD G1 からディスプレイ経由で接続されているスピーカーから音が出ています。
が、うちで使用しているディスプレイ(LG 24UD58-B)のオーディオ出力はとても音質が悪いですし、つないでいるスピーカーもかなり安いものです。Thinkpad X1 の内蔵オーディオのほうがかなりマシな印象…。
(LG 24UD58-B は画質の面では文句ないですし、価格も安めで、24インチで選べる数少ない4Kディスプレイです。オーディオ機能がちょっと残念なだけ)
試しに、「AMD High Definition Audio Device」をデバイスマネージャで無効化してみました。この状態で試してみたところ、GPD G1 が認識しないということがなくなり、スリープ・休止も問題なく、キーボードが認識されないということもなくなったようでした。まだ、トラブルが完全に解消できたかわかりませんが、しばらくこれで運用してみようと思います。
(「AMD High Definition Audio Device」を無効にしたくない場合は、(USB接続ではなく)PCに直接接続されているデバイスを何か代わりに無効化するとよいのかもしれません。)
なお、ドッキングステーションの機能としては、ディスプレイ出力は Display Port が2つ、HDMI が一つついています。HDMI は 4K ディスプレイをつなぐと、なぜか 50Hz で出力される?らしいので Display Port で接続する方がよいのかもしれません(よくわかりません)。
USB ポートは Type-A が3つのみなので本当はもうちょっとほしいところ。Type-C も1つは欲しいところでしょうか。SDカードリーダーも内蔵されていますが、差し込むのが少し硬く、GPD G1の配置によっては使いにくいように感じました。
他の方の参考になれば…。