LINUX.ORG.RU

Проброс единственной видеокарты в QEMU

 , , , ,


2

3

Доброго времени суток! Совершенно случайно узнал, что пробросить в QEMU-KVM можно и единственную видеокарту, которая будет просто отвязана от хоста на время работы виртуалки. Сделал всё по этому гайдувиртуалка успешно запустилась, установил драйвер и всё в общем-то нормально. Однако после закрытия виртуалки - тупо черный экран, и даже Reset не спасал, приходилось вырубать из розетки. Узнал что это известный косяк Radeon - проблема со сбросом GPU. Нагуглил этот модуль https://github.com/gnif/vendor-reset с горем пополам установил. Теперь виртуалка корректно сбрасывает GPU, но не стартует Plasma. Черный экран с курсором. Либо же запускается рабочий стол и через несколько секунд всё намертно виснет. Не работает даже переключение VT консолей по Ctrl+Alt+F и так далее. Баг известный, но работающего решения пока не нашёл. Есть ли у кого опыт проброса единственной видеокарты в QEMU на хосте с KDE Plasma? Конфигурация у меня следующая:

CPU: Ryzen 5 3600
GPU: Radeon RX570
Материнская плата: Asrock B450m Pro 4
Хост: Debian 11, ядро 5.10, Mesa 20.3.5, KDE Plasma 5.20

теперь ты узнал, что нет, нельзя на практике пробросить в QEMU-KVM единственную видеокарту

anonymous ()
Ответ на: комментарий от anonymous

В том и дело что пробрасывается она нормально. А вот в хост потом нормально вернуться не получается.

Sunderland93 ★★★★★ ()

Кажется я обнаружил причину зависаний. В виртуалку проброшена IOMMU-группа с GPU и HDMI-аудио. Так вот. GPU сбрасывается корректно, а вот HDMI-аудио выпадает в осадок:

2021-12-07T17:40:57.202873Z qemu-system-x86_64: vfio: Cannot reset device 0000:06:00.1, no available reset mechanism.

Sunderland93 ★★★★★ ()

гугли по своей карте, как люди правильно обходят ее резет-баг. возможно нужно прошить её биосом от другого производителя.

а вообще радеоны до текущей 6ххх серии для вфио - источник геморроя, не то что божественная нвидия

s-o ()
Ответ на: комментарий от s-o

не то что божественная нвидия

8800 gt не захотела пробрасываться. Радеон тех же годов пробросился. Требую божественности для нвидия.

einhander ★★★★★ ()
Ответ на: комментарий от s-o

Буду пробовать. Вообще я бы не парился и поставил для проброса отдельную карту, но у меня материнка с приколом - если поставить вторую видеокарту, то отрубится NVMe слот. А он мне нужен.

Sunderland93 ★★★★★ ()
Ответ на: комментарий от einhander

«не захотела» - это очень пространно

ЗЫ У радеонов проблема не в пробросе, а в возврате в хост и повторных пробросах.

s-o ()
Ответ на: комментарий от Sunderland93

это повод начать отныне задумываться над выбором материнки

как минимум, чтобы чипсетный ПСИе-х16 не шарил линии с ссд

как максимум, чтобы стоял мультиплексор, умеющий делить процессорные линии между первыми двумя ПСИе-х16

s-o ()

Кстати, модуль vendor-reset ты грузишь до драйвера видео? В противном случае могут быть всякие приколы. Возможно, это твой случай и есть.

anonymous ()
Ответ на: комментарий от Sunderland93

Самый глупый совет иметь apu и пробрасывать дискретку в виртуалку.

NonameKiriLL ()
Ответ на: комментарий от s-o

Гость говорил, что это не карточка nvidia или что-то вроде этого. Установка драйвера уводила в синий экран.

У радеонов проблема не в пробросе, а в возврате в хост и повторных пробросах.

Такой проблемы не было.

einhander ★★★★★ ()
Ответ на: комментарий от Sunderland93

У райзенов всего 24 линии pcie. Обычно, 16 линий делятся между первыми двумя слотами pcie, а остальные идут на 3 слот и переферию. Но могли развести mb так, что первый слот получает 16 линий, а остальные слоты pcie делят линии с переферией.

anonymous ()

Если ты пробрасываешь чтобы поиграть, а не ради процесса, то рекомендую дуалбут. Для меня последней каплей были рандомные зависания Скайрима после апдейта ядра на хосте. Ну, было и много мелких неудобств, типа залипающих клавиш.

dsxl ()
Ответ на: комментарий от dsxl

а я порекомендую беспроблемный вфио

дуал-бут - это для тех, кому компьютер не нужен, потому что они за ним ничего серьезного не делают

s-o ()

Проброс единственной видеокарты в QEMU

А зачем?

Просто как упражнение, попробовать, я ещё могу понять. Но в повседневной жизни это же неудобно. Перед запуском виртуалки нужно выключить всё GUI, завершить все приложения. После завершения работы виртуалки даже если получится решить проблему, все программы нужно стартовать заново. Это же мало отличается от перезагрузки в Windows.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Вообще я затевал это ради установки макоси, чтобы она у меня была в виртуалке и туда пробрасывалась карта. Зачем мне макось - вопрос другой. Но столкнувшись с этим гемором я понимаю что лучше все таки более радикальное решение - поменять мать на нормальную и поставить вторую карту

Sunderland93 ★★★★★ ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей