
Proxmox VEの仮想マシン(VM)でLLMを実行したり3Dグラフィックスの処理をする場合、ホストに取り付けた外付けグラフィックカード(dGPU)をPCIパススルーすると使用できるようになります。でもちょっとした編集作業をするだけなら、CPUに内蔵しているGPU (iGPU)でも十分です。
内蔵GPUはPVEのコンソールしか表示してないので、普段はほとんど遊んでいる状態です。こいつに働いてもらいましょう!
これをやりたい理由
BlenderやUnityをAIが操作するための環境を作ってます。これらのソフトは3Dのグラフィック性能が必要なので、VM上のCPUのみだと遅くなってしまいます。ホストマシンには遊んでいるGPUがあるのですから、これを使えば一石二鳥ですね。
しくみ

3Dの重い処理をPCIパススルーで接続したGPUにやらせて、その映像をリモートのデスクトップ画面に表示させるのが大まかな流れです。基本的には外付けGPUをPCIパススルーときと同じですが、内蔵GPUは単純にPCIパススルーしただけでは使えないのが現状です。いわゆる「コード43バグ」というのがあって、これを回避しながら内蔵GPUを利用できるようにしていきます。
注意点
・このドキュメントの通りに進めてうまくいくかは 試していません。
・おそらくRyzen 5 7640HSの Radeon 760M 限定です。
・HDMI出力が出なくなるか乱れるので PVEのコンソールは使えなくなります。
・絶対に本番環境でやらない、専用のテスト環境で試す
やり方
詳しくは ↓こちら をご覧ください。

どのくらい速くなった?
カクカクだったBlenderもぬるぬる動くようになりました。
ビューワーがSPICEの場合はFFXVベンチスコアが2000程度、Sunshine+Moonlightを使うと2992にまでいきました。
余談
今回の作業は調査から試行錯誤、セットアップ、ドキュメント作成まで全てAIに丸投げしました。ホストPCにNanoKVMを接続して、AIにHDMI出力が見えるようにしました。途中から画面が乱れてしまうのであまり役には立ちませんでしたが、画面に何が写っているかを見てもらうには良い方法です。

ハーネスはHermes Agentを使用しました。Hermes Agentはユーザーが指示をしてもパスワードを入力を拒むことがあり、パスワードは専用の設定画面であらかじめ設定しておくと入力してくれます。AIにパスワードを知られないような安全設計になっているようです。RDPのパスワードについては設定できなかったので、実験用のパスワードだと説得したらやってくれました。

使用したモデルは主にSonnet 5.5 highで、今回の作業全体でClaude Proプランの週制限33%くらいでした。AIが画面を見て操作できるようになったことで、人が介在せずに一貫して作業できるのが便利です。
ただ、AIがPCを操作するのでセキュリティのリスクは高くなります。computer useでマウスを操作したり画面をキャプチャーしているときは、人はそのPCは使えません。そんな理由もあってAIが操作するPCは仮想環境に置いて、AIがアクセスできる範囲を限定させようというのが今回の目的でした。