O Que É Passthrough de GPU no Hyper-V no Windows 10 e Windows 11?
Passthrough de GPU significa dar a uma máquina virtual acesso direto, ou quase direto, a uma placa de vídeo física instalada no computador host. Em vez de depender apenas do adaptador de vídeo virtual básico do Hyper-V, o sistema convidado pode usar aceleração de hardware para renderização 3D, codificação de vídeo, CUDA, DirectX, sessões remotas, jogos leves, ferramentas de IA e aplicativos gráficos pesados.
No Hyper-V, a expressão “passthrough de GPU” costuma ser usada para duas tecnologias diferentes: Discrete Device Assignment (DDA), que atribui uma GPU PCIe inteira a uma VM, e GPU Partitioning (GPU-P), que expõe uma partição da GPU do host ao convidado. Em sistemas cliente com Windows 10 e Windows 11, o método prático que a maioria dos usuários domésticos e de workstation tenta é o GPU-P, não o DDA completo no estilo de servidores.
Motivos Comuns para Conectar uma GPU a uma VM do Hyper-V
- Executar programas que não iniciam com o adaptador de vídeo básico do Hyper-V.
- Ativar DirectX, OpenGL, Vulkan, CUDA ou decodificação de vídeo por hardware dentro da VM.
- Testar drivers gráficos, launchers de jogos, ferramentas de renderização ou editores de vídeo em isolamento.
- Usar aceleração por GPU via sessão aprimorada, RDP, Parsec, Sunshine/Moonlight ou outra solução de exibição remota.
- Criar uma VM descartável para testes sem instalar ferramentas pesadas no sistema host.
Suporte a Passthrough de GPU no Hyper-V: DDA vs GPU-P no Windows 10/11
Antes de alterar qualquer configuração da VM, entenda o limite de suporte. A Microsoft documenta o Discrete Device Assignment como uma tecnologia do Windows Server para atribuir dispositivos PCIe compatíveis, incluindo placas de vídeo e dispositivos NVMe, diretamente a uma VM. Em orientações recentes de solução de problemas, DDA e GPU-P são tratados como cenários de classe servidor; hardware de desktop e sistemas cliente Windows 10/11 não são o alvo suportado para esses fluxos empresariais de atribuição de GPU.
| Tecnologia | Como funciona | Melhor uso | Realidade no Windows 10/11 cliente |
|---|---|---|---|
| DDA | Passa uma GPU PCIe inteira para uma VM. O host perde o uso normal dessa GPU enquanto ela está atribuída. | Hosts Windows Server, VMs confiáveis, hardware dedicado e cargas empresariais. | Não é um cenário normal e suportado em PCs cliente. Exige hardware, firmware, ACS/IOMMU compatíveis e decisões cuidadosas de segurança. |
| GPU-P | Cria uma partição da GPU e a conecta a uma VM de Geração 2 usando PowerShell. | Compartilhar parte da GPU do host com uma VM para aceleração. | Frequentemente usado de forma experimental no Windows 10/11 Pro ou Enterprise, mas mudanças de driver e atualizações podem quebrar a configuração. |
| RemoteFX vGPU | Tecnologia antiga de GPU virtual. | Apenas ambientes legados de Windows Server/Hyper-V. | Não use. O RemoteFX vGPU foi removido por problemas de segurança. |
Requisitos para GPU Partitioning no Hyper-V no Windows 10 e 11
O particionamento de GPU é sensível ao hardware, aos drivers e à configuração exata da máquina virtual. Antes de executar comandos no PowerShell, confira todos os requisitos abaixo.
Requisitos do PC Host
- Edição do Windows: Windows 10 Pro, Enterprise ou Education; Windows 11 Pro, Enterprise ou Education. O Hyper-V não vem incluído por padrão nas edições Home.
- Hyper-V ativado: a plataforma Hyper-V e as ferramentas de gerenciamento precisam estar instaladas.
- Virtualização por hardware: Intel VT-x/VT-d ou AMD-V/AMD-Vi devem estar ativados no BIOS/UEFI.
- Driver de GPU moderno: instale no host o driver estável mais recente para gráficos NVIDIA, AMD ou Intel antes de configurar a VM.
- Recursos suficientes: pelo menos 16 GB de RAM são recomendados se host e convidado forem executar cargas gráficas pesadas.
Requisitos da Máquina Virtual
- VM de Geração 2: use uma máquina virtual Hyper-V baseada em UEFI.
- Sistema convidado: Windows 10 ou Windows 11 é o alvo mais simples. Cenários de GPU-P com Linux são mais limitados e dependentes de driver.
- Memória Dinâmica desativada: use alocação fixa de memória para maior estabilidade.
- Checkpoint criado: crie um checkpoint antes de adicionar o adaptador de GPU.
- PowerShell como administrador: todos os comandos no host devem ser executados em um console elevado.
Ativar o Hyper-V se Ele Não Estiver Instalado
Abra o PowerShell como administrador e execute:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Reinicie o Windows quando solicitado. Depois da reinicialização, abra o Gerenciador do Hyper-V pelo menu Iniciar.
Preparar a VM do Hyper-V Antes de Adicionar a GPU
A VM deve estar desligada e configurada de forma consistente antes de anexar um adaptador de partição de GPU. Não execute estes comandos enquanto a VM estiver em estado salvo.
Passo 1: Defina a Variável com o Nome da VM
Substitua Win11-GPU pelo nome exato da sua máquina virtual:
$vm = "Win11-GPU"
Passo 2: Desligue a VM
Stop-VM -Name $vm -TurnOff
Passo 3: Desative Checkpoints Automáticos e Memória Dinâmica
Set-VM -Name $vm -AutomaticCheckpointsEnabled $false
Set-VMMemory -VMName $vm -DynamicMemoryEnabled $false -StartupBytes 8GB
Passo 4: Configure Cache e MMIO
Estas configurações são usadas com frequência ao anexar recursos de GPU a VMs do Hyper-V. Elas ajudam o sistema convidado a mapear corretamente a memória do dispositivo.
Set-VM -GuestControlledCacheTypes $true -VMName $vm
Set-VM -LowMemoryMappedIoSpace 1GB -VMName $vm
Set-VM -HighMemoryMappedIoSpace 32GB -VMName $vm
Como Ativar GPU Partitioning no Hyper-V com PowerShell
O comando principal do GPU-P é Add-VMGpuPartitionAdapter. Ele adiciona um adaptador virtual de partição de GPU à VM selecionada. Em muitos sistemas, o Hyper-V escolhe automaticamente a GPU particionável disponível. Se o comando falhar, seu hardware, driver, build do Windows ou conjunto de recursos do Hyper-V pode não expor o GPU-P corretamente.
Passo 1: Verifique se Há uma GPU Particionável
Get-VMHostPartitionableGpu
Se o comando retornar informações da GPU, o host expõe pelo menos uma placa que o Hyper-V consegue ver como particionável. Se nada for retornado, vá para a seção de solução de problemas.
Passo 2: Adicione o Adaptador de Partição de GPU
Add-VMGpuPartitionAdapter -VMName $vm
Passo 3: Opcionalmente Defina Limites de Recursos da GPU
Em algumas configurações, você pode definir valores mínimos, máximos e ideais para VRAM, codificação, decodificação e computação. Os números abaixo são apenas um ponto de partida. Eles não garantem desempenho e podem precisar de ajuste conforme a GPU e o driver.
Set-VMGpuPartitionAdapter -VMName $vm `
-MinPartitionVRAM 1 `
-MaxPartitionVRAM 11 `
-OptimalPartitionVRAM 10 `
-MinPartitionEncode 1 `
-MaxPartitionEncode 11 `
-OptimalPartitionEncode 10 `
-MinPartitionDecode 1 `
-MaxPartitionDecode 11 `
-OptimalPartitionDecode 10 `
-MinPartitionCompute 1 `
-MaxPartitionCompute 11 `
-OptimalPartitionCompute 10
Passo 4: Inicie a VM
Start-VM -Name $vm
Depois que o Windows convidado iniciar, ele ainda pode precisar de arquivos de driver compatíveis para reconhecer a GPU corretamente.
Copiar Arquivos do Driver da GPU do Host para o Convidado do Hyper-V
Em muitos tutoriais de GPU-P, a VM só passa a usar a GPU depois que componentes do driver do host são copiados para o sistema convidado. Essa etapa depende do fornecedor da GPU e da versão do driver, portanto trate-a como uma configuração avançada.
Encontrar a Pasta do Driver no Host
No host, os arquivos do driver geralmente ficam em C:\Windows\System32\DriverStore\FileRepository. Procure uma pasta relacionada ao fornecedor:
- NVIDIA: pastas que começam com
nv_dispi.inf_,nvami.inf_ou nomes semelhantes. - AMD: pastas que começam com
u*.inf_ou outras pastas do driver Radeon. - Intel: pastas relacionadas a
iigd,igdlhou gráficos Intel.
Copiar os Arquivos do Driver para a VM
A maneira mais simples é iniciar a VM, abrir uma sessão administrativa e copiar a pasta do driver do host para um caminho dentro do convidado. Em seguida, reinicie a VM e verifique o Gerenciador de Dispositivos.
Alguns usuários também copiam bibliotecas relacionadas de C:\Windows\System32 do host para o convidado, especialmente arquivos DLL do fornecedor da GPU. Faça isso apenas em uma VM de teste e mantenha um checkpoint para reverter rapidamente se o sistema ficar instável.
Como Verificar se a Aceleração por GPU Funciona na VM do Hyper-V
Depois de adicionar o adaptador de GPU e instalar ou copiar os drivers necessários, confirme se o Windows convidado realmente enxerga a aceleração gráfica.
Verifique o Gerenciador de Dispositivos
- Abra a VM.
- Pressione Win + X e selecione Gerenciador de Dispositivos.
- Expanda Adaptadores de vídeo.
- Procure a GPU NVIDIA, AMD ou Intel em vez de apenas Microsoft Basic Display Adapter.
Verifique com o DirectX Diagnostic Tool
dxdiag
Na guia Display, veja se o nome da GPU, a aceleração Direct3D e os recursos gráficos aparecem corretamente.
Verifique o Gerenciador de Tarefas
Abra o Gerenciador de Tarefas, vá até a guia Desempenho e confira se há atividade de GPU quando você executa um app 3D, reprodução de vídeo ou uma ferramenta que usa aceleração de hardware.
Passthrough Completo de GPU com Discrete Device Assignment: O Que Ele Exige
O Discrete Device Assignment é o método de passthrough completo em que um dispositivo PCIe inteiro é removido do controle normal do host e atribuído a uma VM. Em teoria, isso dá ao convidado acesso mais direto ao hardware. Na prática, é um cenário avançado de Windows Server, hardware validado e VMs confiáveis.
Requisitos Práticos do DDA
- Host Windows Server compatível.
- GPU e firmware que suportem isolamento adequado de dispositivo.
- VT-d/IOMMU e ACS quando necessário.
- Uma segunda GPU ou acesso remoto confiável para gerenciar o host.
- Modelo de segurança confiável, pois a VM passa a ter acesso muito forte ao dispositivo físico.
Fluxo Típico de Comandos DDA
O fluxo real depende do hardware e do caminho do dispositivo. Em termos gerais, envolve localizar o dispositivo, desmontá-lo do host e adicioná-lo à VM:
$vm = "Win11-GPU"
$locationPath = "PCIROOT(...)"
Stop-VM -Name $vm -TurnOff
Dismount-VMHostAssignableDevice -LocationPath $locationPath -Force
Add-VMAssignableDevice -LocationPath $locationPath -VMName $vm
Start-VM -Name $vm
Passthrough de GPU no Hyper-V Não Funciona: Problemas Comuns e Soluções
Get-VMHostPartitionableGpu Não Retorna Nada
- Instale o driver estável mais recente da GPU no host.
- Instale todas as atualizações do Windows e reinicie.
- Verifique no BIOS/UEFI as opções de virtualização, VT-d, IOMMU e SR-IOV, se disponíveis.
- Confirme que o Hyper-V está ativado, e não apenas a Plataforma de Máquina Virtual.
- Teste outro ramo do driver da GPU se uma atualização recente quebrou a detecção.
A VM Inicia, Mas Mostra Microsoft Basic Display Adapter
- Copie novamente para o convidado os arquivos de driver correspondentes do host.
- Instale o driver do fornecedor dentro da VM, se o instalador permitir.
- Reinicie o convidado e, se o dispositivo ainda não inicializar, reinicie o host.
- Remova e adicione novamente o adaptador de partição de GPU.
O Gerenciador de Dispositivos Mostra Código 43
O Código 43 normalmente indica que o driver não conseguiu inicializar a GPU no ambiente virtualizado. Use arquivos de driver correspondentes no host e no convidado, evite drivers muito antigos e teste com uma VM limpa de Geração 2. Algumas combinações de GPU de consumo e driver simplesmente não funcionam de forma confiável com GPU-P.
A VM Congela ou Fica com Tela Preta
- Desligue a VM pelo Gerenciador do Hyper-V e remova o adaptador de GPU.
- Aumente a RAM atribuída e os valores de MMIO.
- Desative a Memória Dinâmica.
- Conecte primeiro usando VMConnect básico e só depois use RDP ou Parsec quando os drivers carregarem.
Remover o Adaptador de Partição de GPU
Se a VM ficar instável, remova o adaptador em uma janela elevada do PowerShell no host:
Stop-VM -Name $vm -TurnOff
Remove-VMGpuPartitionAdapter -VMName $vm
Start-VM -Name $vm
Passthrough de GPU no Hyper-V: Vantagens, Limitações e Alternativas
✓ Vantagens
- Permite que uma VM use aceleração real por GPU em vez de apenas um adaptador de vídeo virtual básico.
- É útil para testar aplicativos gráficos, navegadores, ferramentas de vídeo e softwares sensíveis a drivers.
- O GPU-P pode permitir que host e VM compartilhem a mesma GPU física.
- Não exige instalar outro hipervisor se o Hyper-V já faz parte do seu fluxo de trabalho.
- Funciona bem para experimentos quando hardware e drivers são compatíveis.
✗ Limitações
- Não é um recurso de consumo totalmente suportado em hosts cliente Windows 10/11.
- Atualizações de driver podem quebrar a configuração.
- O desempenho nem sempre é igual ao acesso direto em bare metal.
- Sistemas anti-cheat, DRM e alguns jogos podem rejeitar ambientes virtualizados.
- O DDA exige hardware de classe servidor e pode retirar a GPU do controle do host.
Alternativas ao Passthrough de GPU no Hyper-V
| Alternativa | Melhor para | Observações |
|---|---|---|
| Executar a carga no host | Jogos, editores de vídeo, apps 3D | Opção mais confiável e com melhor desempenho. |
| Windows Sandbox com vGPU | Teste descartável de software | Simples, mas não indicado para cargas persistentes e pesadas de GPU. |
| Aceleração por GPU no WSL 2 | IA, ML, CUDA e desenvolvimento em Linux | Costuma ser melhor suportado que uma VM completa com interface gráfica para cargas de desenvolvimento. |
| Aceleração 3D no VMware / VirtualBox | Aceleração básica de desktop 3D | Não é equivalente ao passthrough direto de GPU, mas é mais fácil para necessidades simples de interface. |
| DDA no Windows Server | Cargas empresariais dedicadas de GPU | Use hardware suportado e documentação do fornecedor. |
Perguntas Frequentes Sobre Passthrough de GPU no Hyper-V
Q Posso passar uma GPU NVIDIA GeForce ou AMD Radeon para o Hyper-V no Windows 11 Pro? ▼
Q GPU-P é o mesmo que passthrough completo de GPU? ▼
Q Preciso de uma segunda GPU? ▼
Q Isso melhora o desempenho em jogos dentro de uma VM Hyper-V? ▼
Q Por que o passthrough de GPU parou de funcionar depois de uma atualização de driver? ▼
Q Posso usar RemoteFX vGPU em vez disso? ▼
🧩 Resumo: A Melhor Forma de Usar uma GPU no Hyper-V no Windows 10/11
Em hosts cliente Windows 10 e Windows 11, a abordagem mais prática é o GPU Partitioning com Add-VMGpuPartitionAdapter. Ele pode dar a uma VM Windows de Geração 2 acesso à aceleração por GPU, mas deve ser tratado como uma configuração avançada e sensível a drivers, não como um recurso de consumo garantido.
Para passthrough completo de GPU em nível de produção, use Windows Server Hyper-V com Discrete Device Assignment, hardware de classe servidor, GPUs suportadas pelo fornecedor e um modelo de VM confiável. Para usuários comuns, comece sempre com uma VM de teste, crie um checkpoint, documente a versão do driver que funciona e mantenha um caminho de recuperação pronto antes de alterar configurações de GPU ou Hyper-V.