Est-il possible d'affecter plus de 256 Mo de mémoire vidéo dans VirtualBox?

8

J'essaie d'exécuter un jeu à l'intérieur d'un invité VBox et il nécessite 256 Mo de mémoire. Cependant, lors de l'attribution de 256 Mo de mémoire dans les fenêtres VBox, l'utilisation de 3 Mo ne laisse que 253 Mo, comme indiqué par DXdiag dans Windows 7. Existe-t-il un moyen de signaler 256 Mo de mémoire pour faire fonctionner le jeu? Est-il possible d'augmenter la mémoire de VirtualBox au-delà de 256 Mo ou de tromper Windows7 pour signaler plus de mémoire que ce qui est disponible?

uri
la source

Réponses:

7

J'ai vu le même problème de rapport de mémoire. Avec 256 Mo alloués, Windows 8.1 et Windows 7 rapportent ~ 255 Mo pour moi. Étrangement, lorsqu'ils sont définis sur 128 Mo, les deux rapportent environ 191 Mo. Il semble donc qu'il puisse y avoir un problème avec le pilote vidéo 3D de VirtualBox, ou qu'il compte incorrectement une partie de la mémoire accélérée 3D (plus à ce sujet plus tard). Windows XP Professionnel, qui utilise un pilote 3D différent, rapporte 128,0 Mo à 128 Mo alloués. L'utilisation VBoxManagede définir la mémoire à 256 Mo dans XP lui permet de briser la barrière des paramètres de l'interface graphique de 128 Mo, et il signale 256,0 Mo dans dxdiag.

Certes, il peut y avoir une inefficacité inhérente à Windows 7 et 8.1, car j'ai trouvé un ordinateur portable Dell Latitude avec Win7 pour signaler sa VRAM comme ~ 4051 Mo (3,96 Go), et je ne peux pas croire qu'Intel jetterait ce nombre étrange dans le partage mémoire graphique.

Pour répondre directement à votre question, je ne connais aucun moyen de forcer la VBox (ou son pilote 3D) à signaler la bonne quantité de mémoire, et il n'est actuellement pas possible de définir la VRAM allouée pour la VM supérieure à 256 Mo. L'utilisation de la commande VBoxManage modifyvm "Windows 7" --vram 1024donne:

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

et la définition manuelle de la VRAM dans le fichier * .vbox provoque la panne de la machine virtuelle au démarrage ou n'applique pas le nouveau paramètre de mémoire.

Sur la base du fait que vous dites que c'est un jeu, je vais deviner (corrigez-moi si je me trompe) que c'est un jeu lourd en 3D (comme Portal, Borderlands, Half Life, Bioshock, Minecraft, etc. .) qui nécessite la VRAM supplémentaire. Selon ce ticket et le manuel officiel, si l'accélération 3D est activée et que vos ajouts d'invités corrects sont installés, les commandes 3D du système d'exploitation invité sont transmises directement à la carte vidéo de l'hôte, au lieu d'émuler le matériel 3D, ce qui serait beaucoup plus lent. Donc, si le jeu a besoin de mémoire pour le traitement 3D, il devrait fonctionner sur les 256 Mo (ou peut-être même moins) car votre ordinateur hôte gère directement la charge 3D, y compris la mémoire (en utilisant la VRAM de l'hôte). Mon ancien Macbook Pro 13 pouces de mi-2009 avait 256 Mo de VRAM, donc tout ordinateur moderne ferait très bien l'affaire.

Ma question est alors: avez-vous réellement essayé de lancer le jeu? Si ce n'est pas le cas, essayez-le! Cela peut vous surprendre. Si vous avez exécuté le jeu et qu'il a fait une erreur, parfois les erreurs de plantage du jeu ne sont pas les plus descriptives. De nombreux jeux supposent que vous disposez d'un matériel 3D compétent et disent que le problème peut être un problème de mémoire. Un de mes amis a reçu une erreur "probablement à court de mémoire" d'un jeu fonctionnant sur Virtualbox, et il s'est avéré qu'ils n'avaient pas activé l'accélération matérielle 3D dans les paramètres de la machine virtuelle, ce qui a provoqué le crash du jeu au lancement. Si l'accélération 3D est activée et qu'un pilote Direct3D est installé à partir des ajouts invités, essayez l'autre pilote Direct3D (il y en a deux pour Windows 7). Le pilote WDDM expérimental (qui permet la prise en charge Aero) ne nécessite pas de démarrage en mode sans échec pour démarrer, contrairement au pilote Direct3D de base.

Si l'accélération 3D est activée et qu'aucun des pilotes Direct3D ne fonctionne, votre jeu peut ne pas prendre en charge / avoir besoin de la 3D comme VirtualBox peut le fournir. Vous pouvez essayer d'activer l'accélération 2D (cela nécessite parfois de désactiver la 3D) pour voir si c'est un changement. S'il n'y a pas de changement, je ne peux pas vous aider sans savoir ce qu'est le jeu et quels (le cas échéant) messages d'erreur sont vus.

Si le jeu ne fonctionne toujours pas et qu'il ne peut pas utiliser l'accélération 2D ou 3D, vous devrez peut-être utiliser une carte graphique PCI passthrough (hôtes Linux uniquement) qui dispose des ressources dont le jeu a besoin. Ceci est détaillé dans le chapitre 9 du manuel Virtualbox. C'est un processus quelque peu complexe qui nécessite un matériel spécifique, alors faites des recherches sur votre système pour voir s'il fonctionnera. Vous devez vérifier le noyau Linux, votre carte mère, votre CPU et votre carte graphique qui seront transmis.

computergeek125
la source