É possível atribuir mais de 256MB de memória de vídeo no VirtualBox?

8

Estou tentando executar um jogo dentro de um convidado do VBox e requer 256 MB de memória. No entanto, quando a atribuição de 256MB de memória em janelas VBox está usando 3MB, que deixa apenas 253MB, conforme relatado pelo DXdiag no Windows 7 Existe uma maneira de relatar 256MB de memória para fazer o jogo rodar? É possível aumentar a memória do VirtualBox além de 256MB ou enganar o Windows7 para reportar mais memória do que a disponível?

    
por uri 02.02.2014 / 15:59

1 resposta

6

Eu vi o mesmo problema de relatório de memória. Com 256MB alocados, o Windows 8.1 e o Windows 7 reportam ~ 255MB para mim. Estranhamente, quando definido para 128MB, ambos relatam ~ 191MB. Portanto, parece que pode haver um problema com o driver de vídeo 3D do VirtualBox, ou ele está contando um pouco da memória acelerada em 3D incorretamente (mais sobre isso mais tarde). O Windows XP Professional, que usa um driver 3D diferente, registra 128.0 MB a 128 MB alocados. Usar VBoxManage para definir a memória para 256 MB no XP permite que ela quebre a barreira das configurações de 128 MB da GUI e relate 256,0 MB no dxdiag.

Concedido, pode haver alguma ineficiência inerente no Windows 7 e 8.1, como eu encontrei um laptop Dell Latitude com Win7 para relatar seu VRAM como ~ 4051MB (3.96GB), e eu não posso acreditar que a Intel lançaria esse número estranho na memória gráfica compartilhada.

Para responder à sua pergunta diretamente, não sei como forçar o VBox (ou seu driver 3D) a informar a quantidade correta de memória, e atualmente não é possível definir a VRAM alocada para a VM com mais de 256 MB. Usando o comando VBoxManage modifyvm "Windows 7" --vram 1024 yields:

VBoxManage: error: Invalid VRAM size: 1024 MB (must be in range [1, 256] MB)
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component SessionMachine, interface IMachine, callee nsISupports
VBoxManage: error: Context: "COMSETTER(VRAMSize)(ValueUnion.u32)" at line 570 of file VBoxManageModifyVM.cpp

e a configuração manual da VRAM no arquivo * .vbox faz com que a VM travasse na inicialização ou não aplicasse a nova configuração de memória.

Baseado no fato de você dizer que este é um jogo, eu vou adivinhar (corrija-me se eu estiver errado) que é um jogo pesado em 3D (como Portal, Borderlands, Half Life, Bioshock, Minecraft, etc.) que requer o VRAM extra. De acordo com este bilhete e o manual oficial , se a aceleração 3D estiver ativada e suas adições de convidado corretas estiverem instaladas, os comandos 3D do sistema operacional guest serão encaminhados diretamente para a placa de vídeo do host, em vez de emular o hardware 3D, que seria muito mais devagar. Portanto, se o jogo precisar da memória para processamento 3D, ele deve funcionar nos 256 MB (ou talvez até menos), já que o computador host está manipulando a carga 3D diretamente, incluindo a memória (usando a VRAM do host). Meu antigo MacBook Pro 13 "de meados de 2009 tinha 256MB VRAM, então provavelmente qualquer computador moderno faria muito bem.

Minha pergunta então é: você realmente tentou rodar o jogo? Se você não tiver, dê uma chance! Pode te surpreender. Se você executou o jogo e ocorreu um erro, às vezes os erros de falha do jogo não são os mais descritivos. Muitos jogos assumem que você possui um hardware 3D competente e diz que o problema pode ser um problema de memória. Um amigo meu teve um erro "provavelmente sem memória" de um jogo rodando no Virtualbox, e descobriu-se que eles não tinham habilitado a aceleração 3D do hardware nas configurações da VM, o que causou a queda do jogo no lançamento. Se a aceleração 3D estiver ativada e um driver Direct3D estiver instalado a partir das adições de convidados, experimente o outro driver Direct3D (há dois para o Windows 7). O driver WDDM experimental (que habilita o suporte Aero) não exige a inicialização no modo de segurança para iniciar, enquanto o driver básico do Direct3D o faz. No instalador de adições de convidados, quando você marcar a caixa do Direct3D, ele terá uma opção para selecionar um.

Se você tiver a aceleração 3D ativada e nem o driver do Direct3D funcionar, seu jogo pode não suportar / precisar de 3D da maneira que o VirtualBox pode fornecer. Você pode tentar ativar a aceleração 2D (isso às vezes requer a desativação do 3D) para ver se há alguma alteração. Se não houver mudanças, não posso ajudá-lo sem saber o que é o jogo e quais (se houver) mensagens de erro são vistas.

Se o jogo ainda não funcionar, e ele não puder usar a aceleração 2D ou 3D, talvez seja necessário usar uma placa de vídeo de passagem PCI (somente hosts Linux) que tenha os recursos de que o jogo precisa. Isso está detalhado no Capítulo 9 do manual do VirtualBox. É um processo um tanto complicado que requer hardware específico, então pesquise no seu sistema para ver se funciona. Você precisa verificar o kernel do Linux, sua placa-mãe, sua CPU e sua placa gráfica que será encaminhada.

    
por 02.01.2015 / 16:49

Tags