Skip to content

Virtio-Venus

  • Почти-естествено 3D ускорение

В операционни системи, които използват libvulkan, като Linux, BSD’s и Android, you можете да постигнете производителност, близка до тази на естествения хардуер, като преобразувате извикванията от виртуалната машина към Vulkan, след това директно към вашия GPU и обратно, без да е необходимо да предоставяте GPU изключително на виртуалната машина.

За съжаление, Virtio-Venus не е наличен в VMM, и следователно ще изисква да използвате qemu-cli. Ще трябва да запомните името, което сте дали на виртуалната машина, и къде се намира.

Използване на Virtio-Venus в qemu-cli:

Section titled “Използване на Virtio-Venus в qemu-cli:”

След като инсталирате подходящата виртуална машина, можете да отворите терминал и да създадете qemu-cli команда за вашата виртуална машина. Ето пример с моята виртуална машина CachyOS:

Terminal window
qemu-system-x86_64 \
-enable-kvm \
-M q35 \
-smp 6 \
-m 12G \
-cpu host \
-net nic,model=virtio \
-net user,hostfwd=tcp::2222-:22 \
-device virtio-sound-pci,audiodev=my_audiodev -audiodev pipewire,id=my_audiodev \
-device virtio-vga-gl,hostmem=4G,blob=true,venus=true \
-vga none \
-display gtk,gl=on,show-cursor=on \
-usb -device usb-tablet \
-object memory-backend-memfd,id=mem1,size=12G \
-machine memory-backend=mem1 \
-drive if=pflash,format=raw,readonly=on,file=/usr/share/edk2/x64/OVMF_CODE.secboot.4m.fd \
-drive if=pflash,format=raw,file=.config/libvirt/qemu/nvram/archlinux_VARS.fd \
-drive file=.local/share/libvirt/images/archlinux.qcow2
  • -smp 6 означава 6 процесорни ядра
  • -m 12G означава 12GB RAM
  • -net user,hostfwd=tcp::2222-:22 означава, че порт 22 се препраща (forward) от хоста към виртуалната машина като порт 2222. Следователно, ако искате SSH връзка към виртуалната машина от друго устройство, ще използвате:
Terminal window
ssh -p 2222 vmusername@vmipaddress

-device virtio-vga-gl,hostmem=4G,blob=true,venus=true това е venus драйверът, за съжаление все още не е наличен в virt-manager. Когато бъде, цялата тази секция, освен user mode, ще бъде заместена. -hostmem=4G означава, че позволявам на виртуалната машина да използва до 4GB от моя VRAM (видео памет на GPU). -object memory-backend-memfd,id=mem1,size=12G – в тази секция size е RAM паметта, която сте дали на виртуалната машина, в моя случай 12GB. -drive if=pflash,format=raw,readonly=on,file=/usr/share/edk2/x64/OVMF_CODE.secboot.4m.fd това е firmware файлът за виртуалната машина – просто пътят до него. -drive if=pflash,format=raw,file=.config/libvirt/qemu/nvram/archlinux_VARS.fd това е nvram на виртуалната машина. Без този файл или ако е зададен като readonly, виртуалната машина няма да работи. -drive file=.local/share/libvirt/images/archlinux.qcow2 това е пътят до .qcow2 файла (дисковото пространство на виртуалната машина). (Можете да видите, че в този случай моето аудио устройство не е ich9, а pipewire – това е без значение.)