LINUX.ORG.RU

Vitrualbox, Windows guest, 3D acceleration

 , , , ,


0

2

Gentoo, AMD iGPU.

Короче имеется такая ситуация, да и от Vitrualbox логов нет, т.к. удалил его.

Есть не очень новая игра «Might & Magic X - Legacy». После долгог перерыва решил опять в неё поиграть. Ставлю Virtualbox-7.1.8. ставлю в неё Винду 8.1 х64 в неё ставилю Virtualbox-guest-additions. Выкключаю Винду, активирую 3D-Ускорение. Включаю Винду, устанавливаю игру, запускаю игру, начинаю игру. А там такая лютая по кадровая прорисовка, что аж жуть.

Помницца, что года 2-3 назад когда неё играл, такого не было, а было всё быстро и стандартно.

Короче перепроовал кучу разных Вёнд, а также Virtualbox-kvm. Что с активацией 3Д-ускорения, что без, всё равно лютые тормоза.

Гугл пишет, что много, кто с такой проблемой сталкивался, но решения нет.

Короче, удалил Vitrualbox и поставил VMWare. А там такая же фигня: нет 3Д-ускорения и всё. Об этом сам VMware сигнализирует.

Короче, долгое время гугля эту проблему, нашёл такую настройку отключения Вулкана:

mks.enableVulkanRenderer = "FALSE"
mks.enableGLRenderer = "TRUE"

и опа, 3D-ускорение появилось.

А после подумалось, наверное, у Virtualbox тоже можно Вулкан как-то отключить, но не нашёл где и как.

Может кто знает, как сделать, чтоб 3Д-ускроение заработало в Вендовой гостье?

Есть не очень новая игра «Might & Magic X - Legacy». После долгог перерыва решил опять в неё поиграть. Ставлю Virtualbox-7.1.8. ставлю в неё Винду 8.1 х64 в неё ставилю Virtualbox-guest-additions. Выкключаю Винду, активирую 3D-Ускорение. Включаю Винду, устанавливаю игру, запускаю игру, начинаю игру. А там такая лютая по кадровая прорисовка, что аж жуть.

https://www.protondb.com/app/238750

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

Bwrap в multilib-систему и wine. Ну или можно в виртуалку установить любой линукс с вайном. Зачем париться с виндой?..

Есть готовое решение для первого варианта: https://github.com/Kron4ek/Conty

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)

Virtualbox-7.1.8

Помницца, что года 2-3 назад когда неё играл, такого не было

Ну и зачем 7 версию поставил? Поставил бы ту версию, которая тогда было 6.1 тем более она до сих пор в какойто поддержке.

А так через wine запуститься намного проще. Поставить i386, а потом удалить пара тройка команд, чай не винда.

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

У меня pure 64bit

Не знаю, что ты под этим имеешь ввиду(я даже загуглил, вдруг болезнь какая), но если это отсутствие 32 битных библиотек, то можно воспользоваться wine wow64.

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

Скорее всего, помимо отсутствия 32-битных библиотек, и ядро собрано без поддержки запуска 32-битных бинарников. Тогда да, chroot и flatpak не помогут. Только гланды через жопу с помощью виртуалок.

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

С Дополнением должен работать.WMware слабее virtualbox.Для данной игры проще установить свежий Wine. Вот официальная поддержка в нем в базе данных https://appdb.winehq.org/objectManager.php?sClass=application&iId=3582

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

Какая просадка производительности по сравнению с чистым 32 бит вайном?

Да почти никакая. Там, наконец, сделали свои тупые прослоечки между wine и ядром, которые просто адреса на 64-битные меняют для syscall’ов. Тупо копированием входящего 32-битного адреса в 64-битную локальную переменную. В самом худшем случае, например для ioctl которому скармливается структура в которой есть поля с адресами, на стеке создаётся 64-бит версия структуры куда копируются данные и адреса из 32-битной версии. Очень простая штука и накладные расходы ниачом. Никакие огромные буферы данных юзерспейса не аллоцируются и не копируются при этом.

Недавно свой libusb-wine портировал на новый wine, так что пришлось досконально разобраться как оно устроено - очень просто всё и просадка вообще никак не заметна. Непонятно почему это давным-давно не сделали, ещё во времена массового перехода на 64-битный линукс.

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

Только это или надо ещё что-то докидывать? Если так просто то надо тестить!)

Вот полный конфиг моей тестовой виртуалки:

qemu-system-x86_64 \
  -machine type=q35 \
  -cpu host \
  -accel kvm \
  -smp cores=4 \
  -m size=8G \
  -audio driver=pa,model=virtio \
  -drive if=pflash,format=raw,read-only=on,file=/usr/share/edk2/x64/OVMF_CODE.4m.fd \
  -drive if=pflash,format=raw,file=OVMF_VARS.4m.fd \
  -drive if=ide,index=0,media=disk,cache=writeback,discard=on,detect-zeroes=on,format=raw,file=ssd.img \
  -drive if=ide,index=1,media=disk,cache=writeback,discard=off,detect-zeroes=off,format=raw,file=hdd.img \
  -drive if=ide,index=2,media=cdrom,cache=writeback,format=raw,read-only=on,file=/home/user/warm/loads/wget/arch/archlinux-2025.05.01-x86_64.iso \
  -drive if=ide,index=3,media=disk,cache=writeback,discard=off,detect-zeroes=on,format=raw,file=flash.img \
  -drive if=ide,index=4,media=cdrom,cache=writeback,format=raw,read-only=on,file=cdrom.iso \
  -display sdl,gl=on \
  -vga none \
  -device virtio-gpu-gl,hostmem=134217728 \
  -full-screen \
  -nic user,ipv6=off,hostfwd=tcp:127.0.0.1:9069-10.0.2.15:22,mac=66:5D:0D:64:87:A0,model=virtio
QsUPt7S ★★★
()
Ответ на: комментарий от Stanson

Оно ж под Wine работает вроде. А начиная с Wine 9.0 даже multilib ненужен чтобы 32-битный вендософт гонять на чисто 64-битном линуксе.

Ого! А как я мог такое не заметить? А как это работает? А как я щас пойду гуглить!

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

Да, если в ядре ia32_emulation=0 то тогда не работает.
Так что нужно ставить/собирать ядро где поддерживаются 32 битные приложения.
Либо использовать VMware Workstation, там все работает без тормозов: https://i.ibb.co/PZTLRMZ7/Screenshot-2025-05-11-16-05-09.png

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

Сегодня попробовал видеоускорение в этом самом виртуалбоксе (хост - выньда). glxgears выдаёт аж 30fps, а вулкановый vkgears сначала подвешивает vm на десяток секунд, потом всё-таки начинает рисоваться в 200fps.

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

Не знаю как сейчас, но у меня работает до сих пор но правда не на новых версиях Вбокса (https://youtu.be/q43J9Se9mP8), при чем fps совмем чуточку ниже чем в хосте, можно сказать +- один и тот же, на примере OpenArene и AllienArena.

Но есть одно но - с версии новее чем 6.0.0 у еня перестало работать ускорение, цель разобраться досконально не ставил.

Подумал что из-за того что разрабы ВиртуалБокс решили схалявить и не стали развивать свой драйвер в новой версии а перешли на импортированный от иного проекта (https://superuser.com/questions/1403123/what-are-differences-between-vboxvga-...). Именно на VboxVGA у меня отлично работало и работает 3Д ускорение, но в новых версиях ни с этим драйвером, ни с более рекомендуемым не работает. Поэтому я остался на 6.0.0 версии.

Конечно в этом есть некоторые минусы, например если я запускаю актуальные версии дистрибутивов то там очень тормозит KDE, видимо потому что даже с отключенными эффектами она сильно завязана на GPU. Более того я не могу собрать гостевое расширение для актуальных Линуксов т.к. исходники 6.0.0 не соответствуют современному ядру и библиотечному окружению Линуксов. Зато кстати Win10, Win11 - отлично устанавливается клиентскоре расширение 6.0.0, всё же не зря мир Windows славится обратной совместимостью как по стабильности API так и по ABI.

Ну и для себя в старых Линуксах я просто собираю из сырцов и актуальные версии компилятора, библиотек, IDE, браузера, и всего прочего что мне нужно, т.е. по сути на узком наборе софта я имею абсолютно свежайший софт на старой системе но зато с 3Д ускорением.

А вообще если уж раньше всё хорошо работало с 3D усорением, то я просто уверен что и в новых версиях тоже всё должно работать, просто у меня не стало т.к. возможно видео-карточка древняя (офисная затычка с пассивным охлаждением и соотвествующими драйверами) или временный период переходных был на другие драйвера в Вбоксе, мне разбираться не охото я просто оставил версию 6.0.0, свои старые дистры (вы просто не представляете какой это кайф работать в стабильной проверенной временем системе, где не приходят обновления которые могут что-то поломать или изменить внешний вид программы к которой ты привык, а все новое что действительно нужно сохранять новым - обновляется своими руками используя open-source-power, пока везет и для сборки достаточно просто детектировать пошагово всю цепочку зависимсостей от либ и собрать их, никаких изменений в самих исходниках самых современных проектов из тех что мне нужны вроде бы пока не требовалось для сборки в среде 10 летней давности, кроме конечно возможно того что нужно руками подкрутить опции сборки в отлючив что-то или изменив путь.)

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

У меня есть пара друзей/знакомых, к-рые по работе занимаются виртуализацией. Так по их словам, Виртуалбокс - это такое говно, что в их рабочем окружение упоминать его - это моветон.

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

Я бы сказал, что его там толком и не было. Старая реализация ускорения годилась только для старых игрушек, и то с натяжкой. Новая же судя по всему - прикрученная левым боком vmware'вская технология, которая пусть формально и работает, но по факту тормоз дикий, а ещё они забыли сделать драйвер для наиболее хорошо работающей под виртуалбохом OS - XP

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

До версии 7.1.8 с версии 7.0.6 (вроде) вообще ни одна виртулка не запускалась, если стояла галочка Использовать_3Д-Ускорение. Счас хотя бы виртуалки стали запускаться.

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

Виртуалбокс протух и уже лет 10 не развивается куда то кроме копирования qemu/kvm с пробросом железа. А guest-additions не обновлялись со времён вин7, а в то времена радеон HD8450G с жутким скрипом вытаскавал игрушку Oni, которая летала без единого лага на невидия 5200.

kirill_rrr ★★★★★
()