Ich weiß, dass ein paar Jahre vergangen sind, aber ich wollte antworten, da dieser Beitrag ziemlich weit oben erscheint, wenn man nach “virtualbox 3d multiple GPU” googelt. In der Zeit, die vergangen ist, sind die Dinge viel einfacher und besser geworden.
Leute, die über diesen Thread stolpern, werden wahrscheinlich hier landen, weil sie einen Laptop oder PC haben, der zwei GPUs hat, was heutzutage ziemlich üblich ist - besonders bei Gaming-Laptops. Die integrierte Intel-GPU wird für das Rendern von Fenstern und allgemeinen Anwendungen verwendet, aber Anwendungen, die die 3D-Funktionalität der GPU nutzen, sollten dies über die leistungsstärkere Nvidia-GPU tun.
Heute habe ich eine Ubuntu-VM auf meinem Laptop erstellt, um plattformübergreifend zu entwickeln, und alles war in Ordnung, außer dass die Gast-VM extrem langsam war, und es gab keine Erklärung dafür, denn CPU, Speicher und Festplatte zeigten alle eine geringe Auslastung an.
Es dauerte nicht lange, um herauszufinden, dass das Problem durch die Videoleistung verursacht wurde. Das Starten von Anwendungen, Maximieren/Minimieren von Fenstern - alles, was wir im Jahr 2019 als selbstverständlich ansehen, aber 3D-Beschleunigung benötigt, um mit einer vernünftigen Geschwindigkeit zu arbeiten - beanspruchte die GPU 0.
Es war einfach, dies festzustellen, da Windows 10 jetzt die Möglichkeit hat, die GPU-Auslastung über den “Task-Manager” und dann die Registerkarte “Leistung” zu sehen. Und ich konnte sehen, wie ich Fenster verschob, maximierte und minimierte, was durch die GPU auf dem Host geschah. Diese GPU auf dem Host ist die integrierte Intel HD GPU, und ich wollte die NVidia GTX-1050ti verwenden, die GPU1 war.
Nachdem ich herumgesucht hatte, fand ich nirgends, wo man angeben konnte, welche GPU man verwenden wollte. Aber dieser Thread und einige andere erinnerten mich daran, dass man bei dieser Art von Setups in die NVidia-Systemsteuerung gehen muss, dann “3d-Einstellungen verwalten”, dann den Reiter “Programmeinstellungen”.
Sie werden “Virtualbox” wahrscheinlich nicht in der Liste finden. Aber Sie können die Schaltfläche “Hinzufügen” drücken und virtualbox.exe hinzufügen. Möglicherweise müssen Sie das Laufwerk/den Pfad, auf dem sich Ihre Virtualbox-Installation befindet, heraussuchen. Wenn Sie es hinzugefügt haben, stellen Sie in den Einstellungen unten sicher, dass Punkt 2. “Wählen Sie den bevorzugten Grafikprozessor für dieses Programm” auf die GPU eingestellt ist, die Sie verwenden möchten, was in meinem Fall “HIgh-performance NVIDIA processor” war.
Stellen Sie es nicht auf auto, und schon gar nicht auf integrated. Natürlich muss in den VM-Einstellungen das Kästchen für die 3D-Beschleunigung aktiviert sein, und die Gast-Erweiterungen müssen auf dem Host installiert sein. Aber wenn Sie die Host-Video-3D-Einstellungen wie oben beschrieben eingestellt haben, fahren Sie die Gast-VM herunter, beenden Sie Virtualbox und starten Sie dann Virtualbox und die VM neu.
Wenn Sie den Task-Manager|Performacne verwenden und sich den “virtualbox manager”-Prozess ansehen und beobachten, welche GPU verwendet wird, wenn Sie in der Benutzeroberfläche der Gast-VM navigieren, sollten Sie sehen, dass sie jetzt die bessere GPU verwendet. Siehe das unten eingefügte Bild.
Erwarten Sie also nicht, dass Sie Spiele in einer Gast-VM ausführen können. Das Durchlaufen der 3D-Beschleunigung ist noch nicht ganz so weit. Aber Sie können erwarten, ein modernes Betriebssystem und UI in Ihrem Gast zu haben und eine akzeptable Erfahrung zu haben. Man wäre in der Lage, ältere Spiele in der Gast-VM zu spielen, wie alles, was auf directX9 basiert. Leider entwickelt sich die 3D-Gaming-Technologie schneller als die Fähigkeit, GPUs zu virtualisieren.