Irgendwelche Ideen, ob Sie eine Windows-VM über IronHide zur Beschleunigung von Grafikkarten ausführen können? Ich möchte mit meiner Grafikkarte Spiele spielen / Unschärfe usw. ansehen.
virtualbox
nvidia-optimus
bumblebee
mwjackson
quelle
quelle
Antworten:
Vielleicht hilft hier eine Erklärung zwischen Grafiken in einem virtuellen Gast und dem tatsächlichen Host-Betriebssystem.
Zuerst die Grundlagen:
Alles in einem virtuellen Gast ist eine Abstraktion. Dies bedeutet, dass jedes Gerät und jeder Treiber in einem virtuellen Gast-Betriebssystem nicht vom tatsächlichen Host-Gerät und Treiber abhängt.
Um Ihnen ein einfaches Beispiel zu geben. Eine Maus wird als ein bestimmtes Gerät angesehen - der Linux-Kernel sieht dieses Gerät und ermöglicht dem Gastbetriebssystem, dieses Gerät zu verwenden. Dieses "virtuelle Gerät" wird vom Virtualisierungstool - VirtualBox, VMWare, Xen usw. - dem realen physischen Gerät zugeordnet. Somit muss das Gastbetriebssystem nie verstehen, was die physische Maus ist, sondern nur sehen, was das Virtualisierungstool ihr zugeordnet hat . Der Vorteil dieses Ansatzes besteht darin, dass Sie den virtuellen Gast auf verschiedene Hosts verschieben können. Er funktioniert auf die gleiche Weise, da keine direkte Abhängigkeit vom Host selbst besteht.
Um dies in der Praxis zu zeigen, können Sie
lsusb
sowohl auf dem Host als auch auf dem Gast ausgeführt werden. Auf meinem Host verfügt O / SI über die folgenden USB-Geräte:Auf meinem Gast sieht oneiric O / SI die folgenden USB-Geräte - diese unterscheiden sich vom Host:
Jedes Gast-Betriebssystem, ob Windows oder Linux, sieht nur dieses virtuelle Gastgerät.
Hostgrafiken gegen Gastgrafiken
Dies gilt auch für Grafiken.
Meine Hostgrafiken sind:
Auf meinem Gast-Oneiric-Betriebssystem wird die folgende Grafikkarte angezeigt - Sie können sehen, dass sie nicht mit dem Host identisch ist:
Ebenso - ein Windows-Gastbetreiber sieht nur ein ähnliches virtuelles Gastgerät.
In der trüben Welt von VirtualBox installieren die Guest Additions, die Sie manuell installieren können (oder in 11.10 - Jockey sieht und empfiehlt die Installation), zusätzliche Kernelmodule (oder Gerätetreiber für Windows-Gäste), um dem Gastbetreiber einen erweiterten Zugriff zu ermöglichen Ihre Host-O / S-Grafiken. Auch hier handelt es sich nicht um eine direkte Zuordnung, sondern um die Anzeige von 3D-beschleunigten Grafiken.
Wenn eine Anwendung in Ihrer virtuellen Maschine 3D-Funktionen über die OpenGL-Programmierschnittstelle (oder für ein Windows-Gastbetriebssystem - seine DirectX-Aufrufe) verwendet, versucht VirtualBox, die Funktionen Ihres Hosts zu verwenden, anstatt sie in Software zu emulieren (was langsam wäre) 3D-Hardware.
Ich betone erneut, dass das Gast-Betriebssystem Ihre eigentliche Grafikkarte nicht sieht, sondern nur den OpenGL- (oder DirectX-) Anruf vom Gast direkt an die Host-Hardware weiterleitet, um sie zu verarbeiten.
In den VirtualBox-Einstellungen sollten Sie den Grafikkartenspeicher und die 3D-Grafikkarteneinstellung ändern. Ihr Gastbetreiber sieht dann eine "3D Accelerated Card" mit 128 MB RAM. Es spielt keine Rolle, ob Ihre Host-Grafikkarte besser als diese ist - Ihr Gastbetreiber sieht nur diese "einfache" abstrahierte virtuelle Grafikkarte.
Da Sie erwähnt haben, dass Sie ein Windows Guest-Betriebssystem verwenden, gilt das Kontrollkästchen 2D für Sie, da eine ähnliche Weitergabe von Programmierschnittstellenaufrufen durchgeführt wird.
Bumblebee / IronHide ist ein entweder / oder Grafik-Schaltmechanismus - Sie verwenden entweder integrierte Grafik oder NVidia / ATI-Grafik mit höherer Kapazität, aber nicht beide gleichzeitig.
Da die OpenGL- (oder DirectX-) Fähigkeit der höher umschaltbaren Grafik größer ist als die des integrierten Chipsatzes, werden Sie bei grafikintensiven Guest O / S-Anwendungen eine relativ verbesserte Grafikleistung feststellen. Diese Verbesserung ist jedoch nicht so dramatisch wie das native Ausführen derselben Anwendung auf dem Host, da sie immer noch unter den Einschränkungen des virtuellen Gastgrafikgeräts mit 128 MB funktioniert.
Quelle
quelle
Eine Antwort über https://askubuntu.com/a/85138/38052 erklärt, wie alles, was der Gastbetreiber sieht, eine Art Abstraktion ist. Während dies früher völlig wahr war, glaube ich, dass sich die Dinge ändern und es möglicherweise nicht mehr ganz wahr ist.
Einige neuere Prozessoren unterstützen auch die E / A-MMU-Virtualisierung. Die Technologien heißen Intel VT-d für die Intel-Version und AMD-Vi für die AMD-Version. So zitieren Sie den Wikipedia-Artikel zur x86-Virtualisierung:
Das klingt ziemlich interessant, aber ich kann bereits einige Probleme vorhersehen. Zum einen rendert der Intel IGP in Optimus-Laptops immer die endgültige Bildschirmausgabe. Mir ist nicht klar, wie das Guest O / S und das Host O / S das IGP steuern werden. Ein Gedanke ist, dass, wenn es möglich ist, den Host ohne Grafiken auszuführen, während Gäste ausgeführt werden, dies funktionieren könnte, aber mir ist unklar, wie man dies tatsächlich tun würde.
quelle
OK, ich war neugierig, also habe ich es versucht.
QEMU und jetzt VirtualBox unterstützen die Weitergabe von PCI-Geräten an den Gastcomputer. Das heißt, wenn Sie eine zweite Grafikkarte haben, können Sie diese an einen Windows-Gast auf einem Linux-Host weitergeben und in einer virtualisierten Windows-Umgebung die volle 3D-Leistung (Spiele) erhalten. Dies ist bei einem Desktop-Rig mit zwei Grafikkarten der Fall. Der Geräte-Manager würde "NVIDIA GTX ... was auch immer" anzeigen, anstatt "Virualbox Graphics Adapter" zu sagen.
Optimus ist immer komplizierter. Ich teste dies auf einem ASUS UX501. Ich konnte den NVidia-Chip an den Windows-Gast weitergeben und er wird im Geräte-Manager als "3D-Video-Controller" angezeigt. Ich konnte jedoch keine Windows-Treiber installieren, um dies zu unterstützen. Das Vorhandensein der Intel-Grafiken scheint eine Voraussetzung zu sein.
Sarang hatte Recht, misstrauisch zu sein. Es sieht so aus, als wäre der NVIDIA-Chip kein "Display-Adapter", wie er einen Monitor antreiben würde, sondern nur ein Beschleuniger für den integrierten Intel-Chip. Sie scheinen nicht als zwei separate Geräte unabhängig voneinander zu funktionieren.
quelle