Virtio-Venus
Casos de Uso:
Seção intitulada “Casos de Uso:”- Aceleração 3D com desempenho Próximo do Nativo
Em sistemas operativos que utilizam a libvulkan, tais como Linux, BSDs e Android, pode obter um desempenho próximo do nativo ao traduzir as chamadas da VM para Vulkan e depois diretamente para a sua GPU e vice-versa, sem ter de a dedicar (passthrough) à VM.
Infelizmente, o Virtio-Venus não está disponível no VMM, pelo que será necessário utilizar a qemu-cli. Terá de tomar nota do nome que deu à sua VM e da sua localização.
Utilizar Virtio-Venus via qemu-cli:
Seção intitulada “Utilizar Virtio-Venus via qemu-cli:”Após instalar uma VM elegível, pode abrir o terminal e criar um comando qemu-cli para a sua máquina virtual; aqui está um exemplo da minha VM 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.qcow2Explicação:
Seção intitulada “Explicação:”-smp 6significa 6 núcleos de CPU-m 12Gsignifica 12GB de RAM-net user,hostfwd=tcp::2222-:22significa que a porta 22 está a ser reencaminhada do anfitrião (host) para a VM como porta 2222; assim, se quisesse uma ligação SSH para a VM a partir de algum dispositivo, faria:
ssh -p 2222 vmusername@vmipaddress-device virtio-vga-gl,hostmem=4G,blob=true,venus=trueeste é o controlador (driver) venus; infelizmente ainda não está presente no virt-manager. Assim que estiver, toda esta secção (exceto o modo de utilizador) será substituída.-hostmem=4Gsignifica que estou a permitir que a VM utilize até 4GB da VRAM da minha GPU.-object memory-backend-memfd,id=mem1,size=12Gnesta secção, o tamanho (size) corresponde à RAM que atribuiu à VM, no meu caso, 12GB.-drive if=pflash,format=raw,readonly=on,file=/usr/share/edk2/x64/OVMF_CODE.secboot.4m.fdeste é o ficheiro de firmware para a VM; este é apenas o caminho para o mesmo.-drive if=pflash,format=raw,file=.config/libvirt/qemu/nvram/archlinux_VARS.fdesta é a nvram da VM; sem isto, ou com isto definido como apenas leitura (read-only), a VM não irá arrancar.-drive file=.local/share/libvirt/images/archlinux.qcow2este é o caminho para o ficheiro .qcow2 (o armazenamento da VM). (Pode notar que o meu dispositivo de áudio não é oich9neste caso, mas sim opipewire; isto é irrelevante.)