Use GPU NVidia do VirtualBox?

14

Como faço os convidados do VirtualBox usarem os gráficos da NVidia?

Configuração do host:

  • Windows 7 x64

  • NVidia Optimus

  • No Painel de controle NVIDIA , eu selecionei explicitamente Processador NVIDIA de alto desempenho para:

     C:\Program Files\oracle\VirtualBox\VirtualBox.exe
     C:\Program Files\Oracle\VirtualBox\VBoxSVC.exe
    
  • Quando o VirtualBox está em execução, o software da NVidia não o lista como aplicativo que usa a GPU NVidia. Portanto, eu assumo que o VirtualBox realmente não usa o GPU da Nvidia.

Convidado:

  • Windows 7 x64 (ou seja, o mesmo que host)

  • Adições de convidados instaladas

  • aceleração 3D ativada nas configurações do VirtualBox: exibir / vídeo / ativar 3D Aceleração

  • O Rinoceronte , um aplicativo compatível com OpenGL gera um adaptador de vídeo:

    Humper
    Chromium
    OpenGL version: 2.1 Chromium 1.9
    Render version: 2.0
    Shading Language: 1.40 - Intel Build 9.17.10.3517
    Driver Date: NA
    Driver Version: NA
    Maximum Texture size: 8192 x 8192
    Z-Buffer depth: 32bits
    Maximum Viewport size: 8192 x 8192
    Total Video Memory: 64 MB
    

    Para mim, parece que a máquina virtual usa aceleração de hardware 3D do host, mas infelizmente a Intel.

por feklee 09.07.2014 / 22:41

1 resposta

14

Dar ao convidado acesso completo à GPU provavelmente não é possível. Se uma máquina virtual tivesse acesso direto à sua GPU enquanto seu host a usava, o Bad Things TM aconteceria porque compartilhar a memória entre dois computadores efetivamente diferentes não é uma coisa; ponteiros e endereços e outros seriam muito diferentes entre eles. (Nenhum cartão disponível ao consumidor suporta a manutenção de dois computadores ao mesmo tempo.)

Existem, no entanto, algumas coisas que você pode tentar. Primeiro, defina seu processador gráfico preferido como o melhor no NVidia Control Panel ( Configurações 3D Gerenciar configurações 3D Processador gráfico preferido ). Isso pode fazer com que o VirtualBox use a placa NVidia para o OpenGL.

Se isso não ajudar, tente instalar adições de convidado no modo de segurança no guest .

Por fim, você pode tentar passar a GPU para a máquina virtual, mas isso só funcionará para as placas PCI e não consegui descobrir se a sua é PCI e, mesmo assim, você tem uma boa chance de arrancar a GPU do host ou causar outros problemas. Usando o Gerenciador de dispositivos, encontre o endereço PCI (barramento, dispositivo e função) da placa boa. Defina o chipset da sua VM para ICH9; isso não causou nenhuma morte ou destruição quando eu tentei. Abra um prompt de comando administrativo e navegue até a pasta VirtualBox ( \Program Files\Oracle\VirtualBox\ ) e faça isso:

vboxmanage modifyvm "Your VM Name" --pciattach BB:DD.F@bb:dd.f

Substitua Your VM Name conforme apropriado. BB é o número do barramento da sua GPU no host; DD é o dispositivo; F é a função. Após o @ , insira o slot PCI que estará no convidado. Por exemplo:

vboxmanage modifyvm "Windows 7 x64" --pciattach 01:[email protected]

Ouvi dizer que é mais provável que o repasse da GPU seja possível em um host Linux. Veja Como configurar uma máquina de jogos com passagem da GPU .

    
por 31.12.2015 / 18:15