spice プロトコルでパフォーマンスを向上させるにはどうすればよいですか?

spice プロトコルでパフォーマンスを向上させるにはどうすればよいですか?

Ubuntu 18.04 の quemu で実行している VM がいくつかあります。VM にリモートでアクセスする以外はすべて正常に動作します。接続が遅いほど、状況は悪化します。4K モニターで実行しています。remmina または virt-viewer を使用しても違いはありません。

  • ローカル マシンでは、すべてがほぼ完璧で、唯一目立った品質の低下はビデオを全画面表示したときです。
  • 1gbit LAN: レンダリングに顕著な遅延が発生し、小さなウィンドウであってもビデオが粗くなります
  • 100 メガビット LAN / インターネット: 全画面の更新には数秒かかる場合があります
  • 20/4 メガビット インターネット: フルスクリーンのリフレッシュが必要な場合、64 x 64 の正方形が画面全体にレンダリングされ、数秒かかることがわかります。エディター ウィンドウをスクロールするには忍耐が必要です。忍耐が問題にならない最も緊急のタスクの場合を除いて、接続は役に立ちません。ここでは、SSH 経由の X の方が優れたオプションのようです。

これを Win10 RDP と比較すると、同じ 20/4 接続では、フルスクリーン ビデオの場合でも、問題のマシンの前にいるかのように動作します。

VM はすべて次のようにセットアップされます。

  • ディスプレイスパイス: すべてがデフォルト、OpenGLなしのスパイスサーバー
  • ビデオ VirtIO: モデル VirtIO、3D アクセラレーション: あり、ヘッド:2、RAM 128MB

私はビデオ: QXL を試しましたが、ギガビットでも LAN を完全に占有し、消費した帯域幅に対してほとんど成果が得られませんでした (VirtIO よりもパフォーマンスが低かったです)。

そこで私はこの問題の解決策を探しましたが、あまり重要なものはありませんでした。しかし、私はいくつかのコミットを見つけました。スパイスマスター(かなり前です)。私が見た限りでは、パッチはマージされたので、これは利用できるはずですが、現時点ではビデオのサポートは明らかに MJPEG のままです。

では、VP8 や H264 などのより高度なコーデックを提供するこの gstreamer サポートを有効にするにはどうすればよいでしょうか? それとも、私が何か間違ったことをしていて、それが問題なのでしょうか?

答え1

これは古い質問ですが、SPICE サーバーをすべてのインターフェースでリッスンするように設定し、Virt-Viewer の代わりにその方法で接続すると、速度が大幅に向上します。Virt-Viewer は SSH を介してトンネリングするため、遅延が大きくなります。

すべてのインターフェースをリッスンするように VM を設定したら、次のコマンドを使用してリモートで接続できます。

remote-viewer spice://remote_ip_address:port

関連情報