Este episódio levou literalmente MESES pra eu conseguir fazer. Entre atualizar o hardware da minha máquina, testar todo tipo de combinação de configuração, até conseguir rodar jogos da Steam, num Windows virtualizado, a quase mesma velocidade que nativo.
Hoje vamos entender o que é QEMU, KVM, Libvirt, como passar uma GPU da NVIDIA diretamente pra dentro de uma VM, e como garantir a máxima performance na virtualização, incluindo entender como diversos componentes de hardware e do Linux funcionam.
Este conteúdo vai ser DENSO, então não deixem de usar os capítulos abaixo pra se orientar e consultar todos os links que deixei listado aqui.
Errata
Em 49:53 eu falo 48 ou 44 megahertz mas o certo seria kilohertz.
Capítulos
00:00:00 - Intro
00:00:44 - Cap 1: Meu Setup (até 2024, senão podem pular)
00:05:51 - Cap 2: Introdução à Virtualização | Por que não Dual Boot?
00:08:26 - Cap 3: O que é IOMMU | Setup das GPUs
00:13:46 - Cap 4: Redes Virtuais | Minha placa 10 Gigabits
00:17:57 - Cap 5: Criando a Máquina Virtual | Virt-Manager
00:19:51 - Cap 6: Recapitulando UEFI | O que é OVMF?
00:23:06 - Cap 7: Entendendo CPUs | Pinagem de CPUs
00:33:01 - Cap 8: O que é QEMU? E KVM? | Libvirt
00:38:58 - Cap 9: Limitando CPUs do Host | Cgroups
00:43:06 - Cap 10: Configurações de Performance | Features Importantes
00:45:32 - Cap 11: Monitor Virtual e Streaming | SPICE e QXL
00:47:22 - Cap 12: Configurando Áudio | Pulseaudio e Pipewire
00:50:01 - Cap 13: PCI Passthrough | NVIDIA GPU
00:50:27 - Cap 14: Keyboard, Video, and Mouse | KVM via EVDEV
00:52:47 - Cap 15: Instalando Windows em Disco VirtIO | Fedora VirtIO ISO
00:57:15 - Cap 16: Demonstrando Performance com Games | GPU Passthrough
00:57:53 - Cap 17: Anti-Cheat em Elden Ring | Dual Boot
01:00:24 - Cap 18: Lidando com Monitor com 2 Inputs de Video | Escolhendo Inputs
01:03:08 - Cap 19: Lidando com Suspend do Host | Desligando Suspend
01:05:04 - Cap 20: Conclusão | Mais Coisas
01:07:49 - Bloopers
Links
Se alguém ficou curioso com o XML inteiro da máquina virtual que mostro no video: gist.github.com/akitaonrails/...
* wiki.archlinux.org/title/PCI_...
* wiki.gentoo.org/wiki/GPU_pass...
* github.com/virtio-win/kvm-gue...
* fedorapeople.org/groups/virt/...
* github.com/rockowitz/ddcui
* github.com/rockowitz/ddcutil/...
* www.ddcutil.com/commands/
* github.com/olavmrk/usb-libvir...
* getlabsdone.com/how-to-instal...
* access.redhat.com/documentati...
* linuxhint.com/install_virtio_...
* www.tecmint.com/manage-kvm-st...
* passthroughpo.st/simple-per-v...
* www.libvirt.org/hooks.html
* archlinux.org/packages/extra/...
* unix.stackexchange.com/questi...
* libguestfs.org/virt-resize.1....
* www.cyberithub.com/resize-qco...
* loc-clan.com/files/win10
* / pc_suspends_itself_whi...
* www.linaro.org/blog/the-evolu...
* github.com/foxlet/macOS-Simpl...
* github.com/foxlet/macOS-Simpl...
* passthroughpo.st/explaining-c...
* passthroughpo.st/explaining-c...
* github.com/vanities/GPU-Passt...
* github.com/rockowitz/ddcutil/...
* Podcast: anchor.fm/akitando/episodes/A...
* Transcript: www.akitaonrails.com/2023/02/...
27 июл 2024