Virtio-Venus
Casos de uso:
Sección titulada «Casos de uso:»- Aceleración 3D casi nativa
En sistemas operativos que usan libvulkan, como Linux, los BSD y Android, puedes
lograr un rendimiento casi nativo al traducir las llamadas de la MV a Vulkan, y luego directamente
a tu GPU y de vuelta, sin tener que pasarlas a una MV.
Lamentablemente, Virtio-Venus no está en VMM, por lo que tendrás que usar qemu-cli. Necesitarás anotar el nombre que le diste a tu MV y dónde se encuentra.
Usando Virtio-Venus en qemu-cli:
Sección titulada «Usando Virtio-Venus en qemu-cli:»Una vez que instales cualquier MV que sea elegible, puedes abrir la terminal y crear un comando de qemu-cli para tu máquina virtual. Aquí tienes un ejemplo de mi MV con CachyOS:
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.qcow2Explicación:
Sección titulada «Explicación:»-smp 6significa 6 núcleos de CPU.-m 12Gsignifica 12 GB de RAM.-net user,hostfwd=tcp::2222-:22significa que el puerto 22 se está redirigiendo del anfitrión a la MV como puerto 2222, por lo tanto, si quisieras una conexión SSH a la MV desde algún dispositivo, harías:
ssh -p 2222 nombredeusuario_mv@direccionip_mv-device virtio-vga-gl,hostmem=4G,blob=true,venus=trueeste es el controlador Venus, que lamentablemente aún no está en virt-manager; una vez que lo esté, toda esta sección, aparte del modo de usuario, quedará obsoleta.-hostmem=4Gsignifica que estoy permitiendo que la MV use hasta 4 GB de mi VRAM de la GPU.-object memory-backend-memfd,id=mem1,size=12Gen esta sección, el tamaño es la RAM que le asignaste, por lo tanto, 12 GB en mi caso.-drive if=pflash,format=raw,readonly=on,file=/usr/share/edk2/x64/OVMF_CODE.secboot.4m.fdeste es el archivo de firmware para la MV, esta es solo la ruta hacia él.-drive if=pflash,format=raw,file=.config/libvirt/qemu/nvram/archlinux_VARS.fdesta es la NVRAM de la MV; sin esto o si se establece como de solo lectura, la MV no se ejecutará.-drive file=.local/share/libvirt/images/archlinux.qcow2esta es la ruta al archivo .qcow2 (el almacenamiento de la MV). (Puedes ver que mi dispositivo de audio no esich9en este caso, sinopipewire, esto es irrelevante.)