Habilitando o DirectX no VirtualBox – r2.0

Veja os requisitos para rodar aplicações e games que exigem aceleração gráfica 3D em máquinas virtuais usando o VirtualBox!


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


Introdução

Existe aquele dilema dos usuários de sistemas baseados em UNIX quando o assunto é rodar programas do Windows. Uns possuem versão nativa adaptada, outros possuem versão alternativa, e tem ainda os que não existem de jeito nenhum, como o caso de programas como AutoCAD e games como os MMORPGs.

Pra esses o WINE veio para saciar esse problema, dando uma camada de compatibilidade para rodar esses programas e games em sistemas Linux, BSD e macOS.

Mas e pra aqueles games e programas que não rodam de jeito nenhum? Para esses, uma alternativa simples é instalar o Windows lado a lado com seu sistema UNIX-like em dual boot no PC; O problema é ter todo esse trabalho de particionar um disco rígido pra rodar o sistema operacional completo só pra rodar alguns programas, não compensa.

E temos a máquina virtual.

O problema aqui, é que ao contrário do WINE e do dualboot, a máquina virtual possui problemas para executar aplicações e games que exigem aceleração 3D. E é para este público que o tutorial de hoje é voltado: Rodando programas e games que exigem aceleração 3D em um sistema Windows virtualizado via VirtualBox!

Princípio

A ideia veio quando eu estava tentando executar o antigo Priston Tale, um MMORPG que já deve ter uns 10 anos de idade, basicamente o game da imagem da chamada deste post! Ele não possui versão para Linux e não roda no Wine por problemas com DLLs do sistema anti-cheating do jogo. Não compensa instalar um Windows lado a lado com o Linux no disco, só pra ter esse jogo que eu só gostaria de jogar um pouco e matar a saudade; E testando pelo VirtualBox ele não executava. Mas agora executa e aqui mostro os comos e os por quês!

Base

A decisão de escolher o VirtualBox e não o VMWare Workstation Player 14 está no fato de que o vmWare não está, no momento, compatível com o mais recente kernel Linux 4.14, enquanto que o VirtualBox ganhou esse suporte no mês passado. De fato, ambos executam aplicações com aceleração 3D mas o vmWare Player possui um suporte melhor, compatibilizando até DirectX12.

Apesar disso, o VirtualBox continua sendo OpenSource e com bom desempenho no linux, ainda mais na recente versão 6.0.0. O vmWare Player está num nível semelhante de qualidade de virtualização que o VirtualBox, contando pontos negativos possuir Termos de Uso e ser licenciado.
Dica pessoal, se for usar um programa da linha vmWare, tente usar o Workstation Pro, você estará melhor servido do que com o Player! Aviso de antemão que o Workstation Pro é pago.

Exigências

De forma sintética e resumida posso dizer que a virtualização do VirtualBox 6.0.0, cerne deste tutorial, melhorou mais do que nunca, ainda mais com o novo menu que permite ajustar o emulador de driver de vídeo.

A quem tiver curioso, o melhor é a primeira opção (VboxVGA). As demais são para máquinas virtuais específicas e/ou antigas. E sim, ele roda games.

Mas atentos que para um jogo rodar no VirtualBox ele deve enquadrar nessa restritiva lista de exigências:

  • Rodar somente com DirectX 9.0c. Se exigir DirectX10 o suporte é Beta e instável, além disso não há qualquer suporte a DirectX 11 ou 12 (Para estes, é melhor usar Wine ou DualBoot)
  • O jogo ou aplicação 3D pode consumir mais do que 256 Mb de vídeo, limite máximo permitido pelo VirtualBox! Caso seja necessário, a GPU vai usar +256Mb.
    O problema, é a aceleração 3D que estará “ruim” pelo suporte limitado a DirectX 9.0c, portanto nada de tentar rodar GTA San Andreas na máquina virtual, ela não vai aguentar bem.
Como podem ver, o VirtualBox consumiu mais do que 256Mb de vídeo e está usando a memória da placa Nvidia. No caso, 256Mb são reservados para “exibição de vídeo e resolução de tela”. De resto ele usará tudo se sua aplicação 3D exigir! – No print, um game em execução.
  • Se você não possui uma placa de vídeo Nvidia ou AMD, o jogo ou aplicação deve ser executado em modo Janela dentro da máquina virtual, em resolução 1024×768. Quanto menor, melhor. Acima disso ele vai dar problemas pelo baixo suporte a aceleração 3D. Caso possua uma GPU dedicada, resolução não será problema!

Preparando

  • Baixe e instale o VirtualBox em seu computador neste link.
  • Os testes e este tutorial foram feitos em um Windows 8.1 Pro. Portanto, consiga uma cópia do sistema! Particularmente é uma boa versão por estar obsoleta, ser fácil de encontrar a um bom preço e com o fator compatibilidade contando pontos neste caso, já que ele roda de tudo.
  • O suporte ao DirectX 9.0c é nativo!
  • O DirectX 10, 11 e 12 não possuem suporte.
    Para isso o vmWare Workstation Pro será melhor recomendado aqui no caso. – Ou Wine.

VirtualBox

Em alguns sistemas o VirtualBox pode apresentar erro de compilação dos módulos do kernel.
Isso se deve a uma série de fatores mas o principal é a ausência de pacotes. Os mais importantes e exigidos são o gcc, o make, o perl e o libelf-dev. Se você usa Ubuntu, Debian e derivados, execute o comando:

$ sudo apt install build-essential libelf-dev

Caso o libelf-dev esteja ausente no repositório do seu sistema, tente instalar os pacotes substitutos:
libelf-devel ou elfutils-libelf-devel. Eles tem a mesma função do libelf-dev!

Então, re-execute o comando de compilação:

sudo /sbin/vboxconfig

Seu VirtualBox deve estar pronto pra uso agora!

Instalação

Crie uma máquina virtual do Windows 8.1 Pro (x32 ou x64) com as configurações padrão, deixando a quantidade de espaço reservado em disco, RAM e uso de núcleos da CPU á seu gosto e/ou necessidade.
Após criada, edite-a, configurando sua máquina virtual do Windows 8.1 Pro da seguinte maneira, deixando com a configuração padrão o que não for citado aqui:

  • > Sistema > Aceleração
    Interface de Paravirtualização: Hyper-V
    Virtualização de Hardware: Marque os 2 quadradinhos!
  • > Monitor / Tela
    Memória de Vídeo: 256MB
    Aceleração 3D e 2D: Marque os 2 quadradinhos!
  • > Armazenamento
    Se estiver usando SSD, lembre-se de clicar em seu disco.vdi e marcar “Drive de Estado Sólido”

Execução

Execute a máquina virtual.
Faça a instalação normal do Windows 8.1 Pro.
Após concluída a instalação, instale os adicionais de convidado!

Vá na barra de menus da janela do VirtualBox, clique em Dispositivos e em seguida clique em:
Inserir Imagem de CD para Adicionais de Convidado.
Vá em Meu Computador, abra o novo CD inserido e instale os adicionais de convidado.

Reinicie a máquina virtual

Atentos aqui!

Durante a instalação, você verá que estes 2 quadrados:
[ ] Direct3D Support (Experimental)
[ ] Start Menu Entries.

Já estarão marcados!
O Windows 8.1 facilita nossa vida ao permitir os adicionais de convidado de forma nativa.

Essa etapa habilita o passthrough da GPU para o VirtualBox!

Ajustando

Uma vez que seu sistema iniciou, você estará com a máquina virtual pronta para usar os recursos 3D.

Atentos que isso NÃO permite instalar drivers da NVIDIA ou AMD no Windows do VirtualBox! Isso é estritamente reservado ao driver dos Adicionais de Convidado.

Priston Tale® BR – Desenvolvido por Yedang Online – Distribuído por Zenit Games – Imagem de Arquivo

No exemplo deste post executei o Priston Tale BR sem problemas, em resolução 1920×1080, 60fps, tudo no High, com o jogo fazendo uso da memória de GPU!

O passthrough do VirtualBox não é tal qual do QEMU, mas é bem eficiente e vai além das expectativas.

Considerações Finais

Até onde sei, League Of Legends também roda com bom desempenho em máquina virtual nesse caso, poupando as dores e partos do WINE.

Programas como AutoCAD e Photoshop podem rodar muito bem com a aceleração 2D e 3D ativadas previamente, claro, dependendo da quantidade de memória de vídeo, núcleos de CPU e RAM alocadas para a máquina virtual.

E sim: Até Unreal Engine 4 roda no VirtualBox!
Mas esse ultimo precisa que a Aceleração 3D seja desmarcada nas opções da máquina virtual.
Fica lento, mas funciona.

#UrbanCompassPony

4 comentários em “Habilitando o DirectX no VirtualBox – r2.0”

  1. “Rodar o sistema operacional completo só pra rodar alguns programas, não compensa.”
    Do seu ponto de vista, sim! Mas uso o Linux e o Windows também.
    A minha preferência é pelo Windows.

    O Windows é bem fácil de mexer e existe mais programas para o uso. Mexer em terminal para realizar uma coisa que pode ser feita em segundos no Windows? Não obrigado! Mas isso não vem ao caso.

    Acho mais fácil particionar um disco, no Windows pode ser feito em segundos, no Linux também, além de fornecer o poder total do computador para rodar JOGOS REALMENTE BONS.
    Então sim, vale muito apena! Apesar de ser pago, não me assusto com o preço já viu o valor do PlayStation 4?

    Responder
  2. Muito obrigado por compartilhar seu conhecimento. Eu estava querendo rodar um jogo de Windows numa máquina virtual, porém o desempenho estava muito ruim, com sua dica obtive o desempenho adequado.

    Responder

Deixe um comentário