Ich habe Probleme mit einer VM, die ich gestern verwendet habe. Nach der Verwendung habe ich den Gast geschlossen und meinen Host-Rechner (Arch Linux) aktualisiert. Heute habe ich den Host eingeschaltet und versucht, meinen Gast einzuschalten, und diese Meldung wird angezeigt:
Fehler beim Starten der Domäne: nicht unterstützte Konfiguration: chardev „spicevmc“ wird ohne Spice-Grafiken nicht unterstützt
Traceback (letzter Anruf zuletzt):
Datei "/usr/share/virt-manager/virtManager/asyncjob.py", Zeile 72, in cb_wrapper callback(asyncjob, *args, **kwargs)
Datei "/usr/share/virt-manager/virtManager/asyncjob.py", Zeile 108, in tmpcb callback(*args, **kwargs)
Datei "/usr/share/virt-manager/virtManager/object/libvirtobject.py", Zeile 57, in newfn ret = fn(self, *args, **kwargs)
Datei "/usr/share/virt-manager/virtManager/object/domain.py", Zeile 1384, im Startvorgang self._backend.create()
Datei "/usr/lib/python3.10/site-packages/libvirt.py", Zeile 1352, in create raise libvirtError('virDomainCreate() failed') libvirt.libvirtError: nicht unterstützte Konfiguration: chardev 'spicevmc' wird ohne Spice-Grafiken nicht unterstützt
Ich verwende eine dedizierte NVIDIA-Karte auf einem Manjaro-Gastbetriebssystem.
Ich bin kein Linux-Experte.
Irgendeine Idee, was passiert sein könnte und wie man das Problem beheben kann?
Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen.
UPDATE #1:
Ich habe die USB-Spice-Umleitungen von meiner VM entfernt:
<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>
Und jetzt funktioniert es einwandfrei ... Ich kann jetzt nur keine USB-Umleitungen auf dem Gastbetriebssystem haben ... Weiß jemand, warum das so ist und wie man es behebt?
Antwort1
Meine Lösung basierte auf einigen der obigen Antworten.
Um das Gerät „Channel Spice“ zu haben (das, glaube ich, beispielsweise zum Umleiten einzelner USB-Geräte verwendet wird), kam ich auf Folgendes:
- ein „Display Spice“-Gerät (Spice Server)
- ein „Video“-Gerät, das auf „Keines“ eingestellt ist
- und mein Spice Channel (das war der, den ich wollte, aber er hat Fehler ausgegeben)
Screenshots und XML von jedem Gerät unten.
Screenshot des Display-Spice-Geräts (Virtual Machine Manager)
<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>
Screenshot des Videogeräts (Virtual Machine Manager)
<video>
<model type="none"/>
<alias name="video0"/>
</video>
Screenshot des Spice Channel-Geräts (Virtual Machine Manager)
<target type="virtio" name="com.redhat.spice.0" state="disconnected"/>
<alias name="channel0"/>
<address type="virtio-serial" controller="0" bus="0" port="1"/>
</channel>
Antwort2
Ich habe auf meiner VM dasselbe Problem. Funktioniert dieser Fix mit evdev?
Update: Ich kann nicht einmal Folgendes entfernen:
<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>
Es spuckt den gleichen Fehler aus
Update 2: Meine VM bootet, nachdem ich den Spice-Server hinzugefügt und das Video auf „Keines“ gesetzt habe
Antwort3
dasselbe konnte ich mit virsh edit tun, um die beiden Spice-Redirectors zu entfernen und jetzt funktioniert alles einwandfrei, aber ich bin mir nicht sicher, wofür sie verwendet wurden
Antwort4
Gleiches Problem nach dem letzten ArchLinux-Upgrade. Das einfache Hinzufügen eines Spice-Displayservers (der standardmäßig ein neues Cirrus-Display verwendet) stoppt den Start meiner VM, da diese die Hauptkonsole übernimmt und das Nvidia-Passthrough nicht mehr funktioniert. Die Problemumgehung besteht darin, zuerst einen Spice-Displayserver hinzuzufügen und dann den Videotyp auf „Keine“ zu ändern.