アップデート後にアーキテクチャ上で KVM マシンを起動できない

アップデート後にアーキテクチャ上で KVM マシンを起動できない

昨日使用していた VM に問題があります。使用後、ゲストを閉じてホスト マシン (arch linux) を更新しました。今日、ホストをオンにしてゲストをオンにしようとすると、次のメッセージが表示されます。

ドメインの起動エラー: サポートされていない構成: chardev 'spicevmc' は spice グラフィックスなしではサポートされません

トレースバック(最新の呼び出しが最後):

ファイル "/usr/share/virt-manager/virtManager/asyncjob.py"、行 72、cb_wrapper callback(asyncjob, *args, **kwargs)

ファイル "/usr/share/virt-manager/virtManager/asyncjob.py"、行 108、tmpcb callback(*args, **kwargs)

ファイル "/usr/share/virt-manager/virtManager/object/libvirtobject.py"、行 57、newfn ret = fn(self, *args, **kwargs)

ファイル "/usr/share/virt-manager/virtManager/object/domain.py"、行 1384、起動時の self._backend.create()

ファイル "/usr/lib/python3.10/site-packages/libvirt.py"、行 1352、作成時に libvirtError('virDomainCreate() failed') が発生します。libvirt.libvirtError: サポートされていない構成: chardev 'spicevmc' は spice グラフィックスなしではサポートされません

私は Manjaro ゲスト OS で専用の NVIDIA カードを使用しています。

私は Linux の専門家ではありません。

何が起こっているのか、またこれをどのように修正すればよいのか、何かご存知ですか?

他に必要な情報があればお知らせください。

更新#1:

VM から USB spice リダイレクタを削除しました。

<redirdev bus="usb" type="spicevmc">
  <address type="usb" bus="0" port="4"/>
</redirdev>
<redirdev bus="usb" type="spicevmc">
  <address type="usb" bus="0" port="5"/>
</redirdev>

そして今は正常に動作します...ただ、ゲスト OS に USB リダイレクタが存在できなくなりました...なぜそうなるのか、またどのように修正するのかを知っている人はいますか?

答え1

私の解決策は、上記の回答のいくつかに基づいています。
基本的に、「Channel Spice」デバイス (個々の USB デバイスのリダイレクトなどに使用) を使用するために、次のようになりました。

  • 「ディスプレイスパイス」デバイス(スパイスサーバー)
  • 「ビデオ」デバイスが「なし」に設定されている
  • そして私のスパイスチャンネル(これは私が欲しかったチャンネルだったのですが、エラーが出ていました)

各デバイスのスクリーンショットと XML は以下にあります。

Spice デバイスの表示のスクリーンショット (仮想マシン マネージャー)

<graphics type="spice" port="5901" autoport="yes" listen="127.0.0.1">

  <listen type="address" address="127.0.0.1"/>

  <image compression="off"/>

  <gl enable="no"/>

</graphics>

ビデオ デバイスのスクリーンショット (仮想マシン マネージャー)

<video>

  <model type="none"/>

  <alias name="video0"/>

</video>

Spice チャネル デバイスのスクリーンショット (仮想マシン マネージャー)


  <target type="virtio" name="com.redhat.spice.0" state="disconnected"/>

  <alias name="channel0"/>

  <address type="virtio-serial" controller="0" bus="0" port="1"/>

</channel>

答え2

私の VM でも同じ問題が発生していますが、この修正は evdev でも機能しますか?

更新: 以下を削除することすらできません:

<redirdev bus="usb" type="spicevmc">
  <address type="usb" bus="0" port="1"/>
</redirdev>
<redirdev bus="usb" type="spicevmc">
  <address type="usb" bus="0" port="2"/>
</redirdev>

同じエラーが吐き出される

更新2: スパイスサーバーを追加し、ビデオをなしに設定した後、VMが起動します

答え3

同じく、virsh editを使用して2つのspiceリダイレクタを削除できましたが、すべて正常に動作するようになりましたが、それらが何に使用されていたのかはわかりません。

答え4

最近の ArchLinux のアップグレード後も同じ問題が発生しています。Spice ディスプレイ サーバー (デフォルトでは新しい Cirrus ディスプレイ) を追加するだけで、メイン コンソールが引き継がれるため VM の起動が停止し、nvidia パススルーが機能しなくなります。回避策としては、まず Spice ディスプレイ サーバーを追加し、次にビデオ タイプを「なし」に変更します。

ビデオ_なし

関連情報