Ist es möglich, mehr als 256 MB Videospeicher in VirtualBox zuzuweisen?

8

Ich versuche, ein Spiel in einem VBox-Gast auszuführen, und es benötigt 256 MB Speicher. Wenn Sie jedoch 256 MB Speicher in VBox-Fenstern zuweisen, werden 3 MB verwendet, sodass nur 253 MB übrig bleiben, wie von DXdiag in Windows 7 gemeldet. Gibt es eine Möglichkeit, 256 MB Speicher zu melden, damit das Spiel ausgeführt wird? Ist es möglich, den VirtualBox-Speicher auf über 256 MB zu erhöhen oder Windows7 zu täuschen, um mehr Speicher als verfügbar zu melden?

uri
quelle

Antworten:

7

Ich habe das gleiche Problem mit der Speicherberichterstattung gesehen. Mit 256 MB zugewiesen melden sowohl Windows 8.1 als auch Windows 7 ~ 255 MB für mich. Seltsamerweise melden beide bei einer Einstellung von 128 MB ~ 191 MB. Es scheint also ein Problem mit dem 3D-Videotreiber von VirtualBox zu geben, oder es wird ein Teil des 3D-beschleunigten Speichers falsch gezählt (dazu später mehr). Windows XP Professional, das einen anderen 3D-Treiber verwendet, meldet 128,0 MB bei 128 MB zugewiesen. Wenn Sie VBoxManageden Speicher in XP auf 256 MB einstellen, kann die Barriere für die GUI-Einstellungen von 128 MB überschritten werden, und in dxdiag werden 256,0 MB gemeldet.

Zugegeben, Windows 7 und 8.1 weisen möglicherweise eine gewisse Ineffizienz auf, da ich einen Dell Latitude-Laptop mit Win7 gefunden habe, der seinen VRAM als ~ 4051 MB (3,96 GB) meldet, und ich kann nicht glauben, dass Intel diese seltsame Zahl in die Freigabe werfen würde Grafikspeicher.

Um Ihre Frage direkt zu beantworten, weiß ich nicht, wie ich VBox (oder seinen 3D-Treiber) zwingen kann, die richtige Speichermenge zu melden, und es ist derzeit nicht möglich, den für die VM zugewiesenen VRAM auf mehr als 256 MB einzustellen. Die Verwendung des Befehls VBoxManage modifyvm "Windows 7" --vram 1024ergibt:

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

Wenn Sie den VRAM manuell in der * .vbox-Datei einstellen, stürzt die VM beim Start ab oder wendet die neue Speichereinstellung nicht an.

Basierend auf der Tatsache, dass Sie sagen, dass dies ein Spiel ist, werde ich vermuten (korrigieren Sie mich, wenn ich falsch liege), dass es ein 3D-schweres Spiel ist (wie Portal, Borderlands, Half Life, Bioshock, Minecraft usw. .) das erfordert den zusätzlichen VRAM. Nach diesem Ticket und dem offiziellen HandbuchWenn die 3D-Beschleunigung aktiviert ist und Ihre korrekten Gastzugaben installiert sind, werden die 3D-Befehle des Gastbetriebssystems direkt an die Grafikkarte des Hosts weitergeleitet, anstatt die 3D-Hardware zu emulieren, die viel langsamer wäre. Wenn das Spiel den Speicher für die 3D-Verarbeitung benötigt, sollte es auf 256 MB (oder sogar weniger) funktionieren, da Ihr Host-Computer die 3D-Last direkt verarbeitet, einschließlich des Speichers (mithilfe des VRAM des Hosts). Mein altes 13 "Macbook Pro Mitte 2009 hatte 256 MB VRAM, also würde wahrscheinlich jeder moderne Computer gut funktionieren.

Meine Frage ist dann: Haben Sie tatsächlich versucht, das Spiel auszuführen? Wenn nicht, probieren Sie es aus! Es kann dich überraschen. Wenn Sie das Spiel ausgeführt haben und es einen Fehler gemacht hat, sind Spielabsturzfehler manchmal nicht besonders aussagekräftig. Viele Spiele setzen voraus, dass Sie über kompetente 3D-Hardware verfügen, und sagen, dass das Problem möglicherweise ein Speicherproblem ist. Ein Freund von mir hat bei einem auf Virtualbox ausgeführten Spiel den Fehler "Wahrscheinlich nicht genügend Speicher" erhalten, und es stellte sich heraus, dass die Hardware-3D-Beschleunigung in den VM-Einstellungen nicht aktiviert war, was zum Absturz des Spiels beim Start führte. Wenn die 3D-Beschleunigung aktiviert ist und ein Direct3D-Treiber über die Gastzugaben installiert ist, versuchen Sie es mit dem anderen Direct3D-Treiber (es gibt zwei für Windows 7). Der experimentelle WDDM-Treiber (der die Aero-Unterstützung aktiviert) erfordert kein Booten im abgesicherten Modus, um zu starten, während der grundlegende Direct3D-Treiber dies tut.

Wenn Sie die 3D-Beschleunigung aktiviert haben und keiner der Direct3D-Treiber funktioniert, unterstützt / benötigt Ihr Spiel möglicherweise kein 3D, wie es VirtualBox bieten kann. Sie können versuchen, die 2D-Beschleunigung zu aktivieren (dies erfordert manchmal das Deaktivieren von 3D), um festzustellen, ob sich dies ändert. Wenn sich nichts ändert, kann ich Ihnen nicht helfen, ohne zu wissen, was das Spiel ist und welche (falls vorhanden) Fehlermeldungen angezeigt werden.

Wenn das Spiel immer noch nicht funktioniert und die 2D- oder 3D-Beschleunigung nicht verwendet werden kann, müssen Sie möglicherweise eine PCI-Passthrough-Grafikkarte (nur Linux-Hosts) verwenden, die über die für das Spiel erforderlichen Ressourcen verfügt. Dies wird in Kapitel 9 des Virtualbox-Handbuchs beschrieben. Es ist ein etwas komplizierter Prozess, der bestimmte Hardware erfordert. Untersuchen Sie daher Ihr System, um festzustellen, ob es funktioniert. Sie müssen den Linux-Kernel, Ihr Motherboard, Ihre CPU und Ihre Grafikkarte überprüfen, die weitergeleitet werden.

computergeek125
quelle