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

8

Estou tentando rodar um jogo dentro de um convidado da VBox e isso requer 256MB de memória. No entanto, ao atribuir 256 MB de memória no Windows VBox, você usa 3 MB, deixando apenas 253 MB, conforme relatado pelo DXdiag no Windows 7. Existe uma maneira de relatar 256 MB de memória para fazer o jogo rodar? É possível aumentar a memória do VirtualBox além de 256 MB ou enganar o Windows7 para relatar mais memória do que a disponível?

uri
fonte

Respostas:

7

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

É verdade que pode haver alguma ineficiência inerente no Windows 7 e 8.1, pois encontrei um laptop Dell Latitude com Win7 para relatar sua VRAM como ~ 4051MB (3,96 GB), e não acredito que a Intel jogaria esse número estranho no compartilhamento memória gráfica.

Para responder sua pergunta diretamente, não conheço nenhuma maneira de forçar o VBox (ou seu driver 3D) a relatar 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 1024produz:

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 definir a VRAM manualmente no arquivo * .vbox faz com que a VM trava na inicialização ou não aplique a nova configuração de memória.

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

Minha pergunta então é: você realmente tentou rodar o jogo? Se você não tiver, tente! Isso pode surpreendê-lo. Se você executou o jogo e cometeu um erro, às vezes os erros de travamento do jogo não são os mais descritivos. Muitos jogos assumem que você possui um hardware 3D competente e dizem que o problema pode ser um problema de memória. Um amigo meu recebeu um erro "provavelmente ficou sem memória" de um jogo em execução no Virtualbox, e descobriu-se que eles não haviam ativado a aceleração 3D do hardware nas configurações da VM, o que causou a falha 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, tente o outro driver Direct3D (existem dois no Windows 7). O driver WDDM experimental (que habilita o suporte ao Aero) não requer a inicialização no modo de segurança para iniciar, enquanto o driver Direct3D básico exige.

Se você tiver a aceleração 3D ativada e nenhum 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 exige a desativação do 3D) para ver se há alguma alteração. Se não houver mudança, 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 não for possível usar a aceleração 2D ou 3D, talvez seja necessário usar uma placa gráfica de passagem PCI (somente hosts Linux) que possua os recursos necessários. Isso está detalhado no capítulo 9 do manual do Virtualbox. É um processo um tanto envolvido que requer hardware específico, por isso pesquise no seu sistema para ver se ele funcionará. Você precisa verificar o kernel do Linux, sua placa-mãe, sua CPU e sua placa gráfica que serão encaminhadas.

computergeek125
fonte