У меня возникли проблемы с виртуальной машиной, которую я использовал вчера. После использования я закрыл гостевую машину и обновил свою хостовую машину (arch linux). Сегодня я включил хост и попытался включить гостевую машину, и появилось это сообщение:
Ошибка запуска домена: неподдерживаемая конфигурация: chardev 'spicevmc' не поддерживается без spice graphics
Трассировка (последний вызов последний):
Файл "/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 graphics
Я использую выделенную карту NVIDIA в гостевой ОС Manjaro.
Я не эксперт по Linux.
Есть идеи, что может происходить и как это исправить?
Если вам понадобится дополнительная информация, дайте мне знать.
ОБНОВЛЕНИЕ №1:
Я удалил перенаправители 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>
И теперь всё работает нормально... Теперь я просто не могу использовать USB-перенаправители в гостевой ОС... Кто-нибудь знает, почему это происходит и как это исправить?
решение1
Мое решение было основано на паре ответов выше.
В основном, чтобы иметь устройство "Channel Spice" (которое используется для таких вещей, как перенаправление отдельных USB-устройств, я думаю), я закончил следующим:
- устройство «Display Spice» (сервер Spice)
- Устройство «Видео» установлено на «Нет»
- и мой Spice Channel (который я хотел, но выдавал ошибки)
Снимки экрана и XML-файл каждого устройства приведены ниже.
Скриншот устройства Display 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 Channel (диспетчер виртуальных машин)
<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
У меня та же проблема на моей виртуальной машине. Работает ли это исправление с 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: Моя виртуальная машина загружается после того, как я добавил сервер Spice и отключил видео
решение3
то же самое, я смог использовать virsh edit, чтобы удалить два spice-перенаправителя, и теперь все работает нормально, но я не уверен, для чего они использовались
решение4
Та же проблема после недавнего обновления ArchLinux. Простое добавление сервера отображения Spice (по умолчанию нового дисплея Cirrus) остановит загрузку моей виртуальной машины, поскольку она захватывает главную консоль, и сквозной доступ nvidia перестанет работать. Обходной путь — сначала добавить сервер отображения Spice, а затем изменить тип видео на «Нет».