Tenho um Surface Book 2 com GPU GTX 1050 e quero usar essa placa gráfica enquanto executo minha máquina virtual macOS. Tenho pesquisado muito, mas não encontrei uma resposta satisfatória. Não quero dar o controle da GPU para minha VM, apenas quero utilizá-la da mesma forma que a GPU Intel está sendo utilizada. Tentei configurar o VirtualBox no Painel de Controle da Nvidia mas é o único programa que não aparece, isso me fez pensar se preciso de uma API.
Obrigado pela ajuda!
Responder1
Isso me fez pensar se preciso de uma API.
Como usuário final do VirtualBox, você não precisa de uma API.
Quero usar a placa gráfica enquanto executo minha máquina virtual macOS.
O suporte do VirtualBox PCI Passthrough, necessário para o que você deseja fazer, é muito limitado e vem com requisitos de hardware específicos.
O módulo de passagem PCI é enviado como um pacote de extensão do VirtualBox, que deve ser instalado separadamente. VerSeção 1.5, “Instalando o VirtualBox e pacotes de extensão”Para maiores informações.
Essencialmente, esse recurso permite o uso direto de dispositivos PCI físicos no host pelo convidado, mesmo que o host não tenha drivers para esse dispositivo específico. Ambas as placas PCI regulares e algumas placas PCI Express são suportadas. AGP e certas placas PCI Express não são suportadas no momento se contarem com a programação da unidade GART (Graphics Address Remapping Table) para gerenciamento de textura, pois realiza operações não triviais com o remapeamento de páginas interferindo no IOMMU. Esta limitação pode ser eliminada em versões futuras.
Para ser totalmente funcional, o suporte de passagem PCI no VirtualBox depende de uma unidade de hardware IOMMU que ainda não está amplamente disponível. Se o dispositivo usa masterização de barramento (ou seja, ele executa DMA na memória do sistema operacional por conta própria), então um IOMMU é necessário, caso contrário, tais transações DMA podem gravar no endereço de memória física errado, pois o mecanismo DMA do dispositivo é programado usando um dispositivo específico. protocolo para realizar transações de memória. O IOMMU funciona como uma unidade de tradução que mapeia solicitações de acesso à memória física do dispositivo usando o conhecimento do endereço físico do convidado para hospedar regras de tradução de endereços físicos.
A solução da Intel para IOMMU é comercializada como "Intel Virtualization Technology for Directed I/O" (VT-d), e a da AMD é chamada AMD-Vi. Portanto, verifique se a ficha técnica da sua placa-mãe possui tecnologia apropriada. Mesmo que o seu hardware não tenha um IOMMU, certas placas PCI podem funcionar (como adaptadores PCI seriais), mas o convidado mostrará um aviso na inicialização e a execução da VM será encerrada se o driver convidado tentar ativar a masterização do barramento da placa .
Não quero dar o controle da GPU para minha VM, só quero utilizá-la da mesma forma que a GPU Intel está sendo utilizada.
Para conseguir o que deseja, você terá que abrir mão do controle, isso é apenas uma questão de fato.