LINUX.ORG.RU

Не работает 3д ускорение на kvm

 , , , ,


0

1

Привет. Не работает 3д ускорение через opengl на квм. Через вирт менеджер выбираю графику virtio с галочкой на 3d, а в настройках дисплея ставлю тип ожидания на «нет». Как обычно, крч. Но виртуалка при этом не стартовала, все кончалось ошибкой. Раньше работало, правда я на других системах сидел, без проблемно сидел. Ну а на 12м дебиане с 3д как-то не сложилось. Интеловская встройка, ядро 6.0 (5.19 тоже не работает), либвирт 8.10, кему 1.7.2, иксы/вайленд без разницы, гном 43.1 (если это вообще имеет значение).

Ошибка запуска домена: internal error: qemu unexpectedly closed the monitor: 2023-01-03T16:49:53.076810Z qemu-system-x86_64: -device {«driver»:«virtio-vga-gl»,«id»:«video0»,«max_outputs»:1,«bus»:«pcie.0»,«addr»:«0x1»}: missing object type ‘virtio-gpu-gl-device’

*Traceback (most recent call last): File «/usr/share/virt-manager/virtManager/asyncjob.py», line 72, in cb_wrapper callback(asyncjob, args, kwargs) File «/usr/share/virt-manager/virtManager/asyncjob.py», line 108, in tmpcb callback(args, kwargs) File «/usr/share/virt-manager/virtManager/object/libvirtobject.py», line 57, in newfn ret = fn(self, args, kwargs) File «/usr/share/virt-manager/virtManager/object/domain.py», line 1402, in startup self._backend.create() File «/usr/lib/python3/dist-packages/libvirt.py», line 1362, in create raise libvirtError(‘virDomainCreate() failed’) libvirt.libvirtError: internal error: qemu unexpectedly closed the monitor: 2023-01-03T16:49:53.076810Z qemu-system-x86_64: -device {«driver»:«virtio-vga-gl»,«id»:«video0»,«max_outputs»:1,«bus»:«pcie.0»,«addr»:«0x1»}: missing object type ‘virtio-gpu-gl-device’

Промежуточное решение я нашел здесь - https://groups.google.com/g/linux.debian.bugs.dist/c/EGcZGqgFe6A Установил qemu-system-gui и ошибка эта исчезла, но появились новые. Виртуальные машины теперь конечно включаются, но на половине из них дело дальше черного мигающего курсора не идет. На другой половине рабочий стол загружается и отрисовывается, но все работает крайне медленно, что даже курсор мыши за ее движением не успевает. Помогите решить эту проблему, был бы крайне признателен. Ведь 12й дебиан мне, как и гном на нем, ужасно нравятся. Не хотелось бы из-за одной проблемы мигрировать на другие системы. Бесконечные переустановки - это уже глупость и ребячество, надоело. Спасибо.



Последнее исправление: AnatoliyMOPS (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

Попробовал. У меня Debian 11. Запускал виртуалку с параметрами qemu-system-x86_64 -m 8192 -enable-kvm -cpu host -smp 2 -device AC97 -device virtio-vga-gl -display sdl,gl=on — работает, но в Lubuntu 22.04 какие-то графические артефакты начали вылезать.

Не буду из-за этого использовать, хотя в glmark2 показало отличный результат в 400 с небольшим баллов, это даже немного выше, чем прошлый тест с Intel GVT-g.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от Vsevolod-linuxoid

На 11м дебиане оно и понятно, что работает. Но у меня хост на 12м (bookworm). С убунту бейсд дистрибутивами (по крайней мере те, которые на 22.04 основаны и старше) тоже проблем не испытывал. Думаю, может на юсб флешку накатить убунту 22.10 и там потестить. Но это уже какое-то совсем нецелесообразное действо. Есть какая-то методичка с конкретными шагами на такие случаи? У них еще и доков основательных так то нет https://gitlab.freedesktop.org/virgl/virglrenderer. Да и на арчвики по этой теме голяк.

AnatoliyMOPS
() автор топика

Спустя пару дней я додумался посмотреть в логи вритуальных машин и увидел, что фактически всегда фигурировала ошибка - vrend_renderer_fill_caps: Entering with stale GL error: 1280 По ней я сначала ниче в гугле не нашел. Но зайдя в репозиторий https://gitlab.freedesktop.org/virgl/virglrenderer на гитлабе и вбив через поиск я уже нашел несколько ответов. Например этот - https://gitlab.freedesktop.org/virgl/virglrenderer/-/issues/285. Но там готового решения я не увидел. Оговорюсь, я с гитлаб/гитхаб знаком только по кнопке скачать. В структуре ничего не смыслю, разработкой и программированием никогда не занимался, и надеюсь, не буду. Из того, что я там увидел, нужно провести изменение, которое произвел разработчик, но только у себя. Я так понимаю, это https://gitlab.freedesktop.org/virgl/virglrenderer/-/commit/62cb845b41993838b78595cf5494792f16dfabcf оно. То есть мне нужно найти файл vrend_shader.c и подправить одну строчку, но я такого у себя не нашел. Пробовал открывать рандомные файлы, связанные с virglrenderer и открывать их через текстовый редактор, но либо файлы не открывались им, либо в них не было похожих строк. Но опять-таки, я этим занимался вслепую и от отчаяния, ибо нихуя не смыслю в скриптах и как все это работает да собирается. Был бы рад услышать совет, идеально, если это будет конкретный шаг, но хотя бы просто направление мысли, желательно - не очень технарским языком.

AnatoliyMOPS
() автор топика
Ответ на: комментарий от alex1101

Не пробовал, но по-хорошему, нужно чтобы работало через все через вирт менеджер. Там очень много других настроек, которые намного важнее и я не хочу ничего сломать. Но и мне кажется, использование другого графического менеджера не поможет.

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

То есть мне нужно найти файл vrend_shader.c и подправить одну строчку, но я такого у себя не нашел.

ну либо подождать пока пакет соберут с фиксом в дистрибутиве (дебиан), либо скачать через git clone этот virglrenderer, собрать его и обновить (только как дебиановские пакеты делать я не знаю, у меня поэтому Слакварь)

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

Я уже прошел этот этап. Ну и да, исправили эту проблему еще ранее, по сути у меня стояла уже пофикшенная версия. Увы, проблема не в ней. Ответа я так и не нашел. Понятия не имею куда вообще копать. Поэтому отложил ее в долгий ящик.

AnatoliyMOPS
() автор топика
18 июня 2023 г.

Установил qemu-system-gui и ошибка эта исчезла

Спасибо, добрый человек!

Столкнулся с тем, что после обновления на стабильный 12-ый Debian не работает 3D ускорение в виртуальных машинах (Android-x86). После установки пакета работоспособность восстановилась, ура!

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

А зачем прыгать на свежие версии, надо подождать годик, чтобы стабилизировалось, потом уже всё пофиксят. По сути пока 11 поддерживается, зачем вообще куда-то дёргаться. Как 11 перестанет поддерживаться, можно будет на 12 перелезать.

vbr ★★★★
()
Последнее исправление: vbr (всего исправлений: 2)
Ответ на: комментарий от vbr

А зачем прыгать на свежие версии, надо подождать годик, чтобы стабилизировалось, потом уже всё пофиксят.

У каждого свои причины, у меня проблема с железом, тыц. Пробую новое ядро из экспериментала (6.3), в котором схожая проблема решается (действительно баг пока не воспроизводился), но без gcc-12, который как раз и есть в 12-ом Debia'е, с новым ядром не собираются сторонние ядра.

В общем, полёт нормальный!

Jurik_Phys ★★★★★
()