Olá Pessoal, recentemente o Diolinux postou um video de como fazer GPU Passthrough no Youtube e eu tive problemas e depois de pesquisar e testar, achei soluções e cheguei na estabilidade onde estou jogando em 4k nativo na minha tv e fullhd e remoto com perfeição com uma VM windows 11 e outra cachy os.
LINK DO VIDEO: https://www.youtube.com/watch?v=-4GAAFpuSBY
Esse tópico serve para complementar o video do canal que já explica 95% do necessário, então VEJA O VIDEO e faça como é mostrado e depois volte aqui para solução de problemas.
Meu hardware é uma RTX 3060 de 12gb e Ryzen 7 5700x e 32GB RAM.
Primeira coisa, eu achei as soluções pesquisando nos forums do proxmox, tentei todas IAs, são burras e dão respostas sem sentido de lógica, então pode confiar aqui foi tudo testado no meu setup real que estou usando dia a dia.
No video do diolinux, ele pede para em “/etc/default/grub” colocar “intel_iommu=on” ou no meu caso processador AMD “amd_iommu=on” só que somente esse parâmetro não impede do proxmox usar a gpu durante o boot do grub o que fazia minha VM congelar o proxmox todo quando dava boot, então no GRUB, coloque a sintaxe abaixo:
PARA PROCESSADOR AMD:
GRUB_CMDLINE_LINUX_DEFAULT=“quiet amd_iommu=on iommu=pt initcall_blacklist=sysfb_init”
PARA PROCESSADOR INTEL:
GRUB_CMDLINE_LINUX_DEFAULT=“quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init”
Isso aqui resolveu meu problema de congelar o proxmox assim que dava boot na vm, pois ela impede do proxmox “roubar” a gpu no boot, os demais passos é identico do video, então veja o video primeiro e se der pau siga essas dicas.
- Outro erro que eu estava cometendo, meu processador tem 8 nucleos e 16 lógicos, eu estava dando TUDO, toda minha RAM, meus núcleos para a VM para ter máxima performance. isso fazia o proxmox congelar e travar tudo pois a VMroubava o pouco que o proxmox precisa pra funcionar, então deixe uma margem para o proxmox.
Dos meus 32gb de ram, dei 27GB para a vm e dos 16 nucleos somados logicos e fisicos, dei 14 para o proxmox.
#IMPORTANTE PARA PERFORMANCE MÁXIMA E ESTABILIDADE:
Sempre coloque em “Processor” a opção “host” para a VM enxergar o seu processador real, seria o Passthrough do processador, assim o sistema da VM vai ler as instruções reais do seu processador e não genéricas, no windows ele deve reconhecer o processador real para ter certeza que funcionou.
Assim como mostra no video do dio, SEMPRE marque as seguintes opções na hora de passar a GPU para a VM, idependentemente de qual sistema vai rodar, seja windows ou Linux
-
ALL FUNCTIONS
-
ROM-BAR
-
PCI-EXPRESS
SOMENTE ESSAS.
#Outra coisa, o SSD que vai rodar as VM, formate ele em “LVM-THIN” pois permite snapshot e as VM tem melhor performance com disco “RAW” em vez de “qcow2” eu fiz o teste prático, muda mesmo e errar nisso pode causar input lag.
#Outra coisa, no meu caso, eu deixo um cabo HDMI ligado na minha TV, pois quando a VM liga, o video dele passa pra TV ai eu não preciso instalar o Moonlight pra jogar, só uso ele pra jogar remoto, então SIM, voce pode usar um monitor conectado ao pc com proxmox que vai dar video como se o sistema estivesse instalado bare metal.
Instale SEMPRE o WIndows com os drivers VIRT-IO, sem isso, a performance fica um lixo, e certifique que o linux ta com o hardware todo virtio também.
Se você, assim como eu, joga com um monitor ou uma TV conectada na placa de video, o sistema da VM, seja windows ou linux vai reconhecer 2 monitores, um virtual do driver virtio e outro a tv ou o monitor real, nesse caso, DESATIVE O MONITOR VIRTUAL, no windows basta selecionar pra exibir video somente no monitor da tv com atalho Windows+P ou nas opções de exibição, manter o monitor virtual causa LAG ABSURDO quando se tem um monitor físico conectado pois ele limita o monitor real com configurações de hz diferentes do monitor e ainda pesa na GPU de forma desnecessária. E desativar o monitor virtual não impede de exibir o video da vm no proxmox, ele vai aparecer no proxmox painel web e também na tv.
Agora se você usa o servidor proxmox sem nada conectado, ai vai ficar somente o monitor virtual ligado e você só vai poder jogar via moonlight que é bom, mas via cabo HDMI ou display port a imagem é melhor e mais nítida. deixe o moonlight somente para jogar a distância.
Então resumindo os passos:
1- Assista e faça tudo igual do video.
2- Se der pau, ajuste o /etc/default/grub com os parâmetros que mostrei acima.
3- Na hora de configurar GPU e Processador, configure do jeito que expliquei acima, processador em modo “host” e GPU com as opções descritas.
4- siga as dicas de recomendações.
Enfim, é isso, agora eu jogo no meu datacenter gamer estilo xbox cloud com performance praticamente bare-metal. Obrigado Diolinux por me ajudar a conseguir isso, sem esse video, eu não teria ido atrás de aprender fazer um GPU e processadorPassthrough perfeito.