Virtuelle PCs

Windows7Fan

Komplett-PC-Käufer(in)
Wann gibt es endlich PC Emulatoren mit vernünftiger DX3D unterstützug es kann doch nicht so schwer sein den Grafikbeschleungier des Hostes durchzuschleifen oder irre ich mich da ?

Na ja oder ich bin icht Up to Date ich freue mich schon auf eure Antworten

Mit freundlichen Grüßen
Windows7Fan
 
Eins zu eins wird das wohl nie funktionieren, liegt in der Natur der Sache (technisches Prinzip). Warum überhaupt in einer Virtualisierung (Emulation) zwangsweise Performance verschenken ? MS DirectX / Direct 3D gibt es momentan schon in der Virtualisierung, der VMware Player 3 unterstützt DirectX 9 und Virtual Box 3 wohl auch.
 
das "durchschleifen" der GPU ist afaik schon machbar, aber eher noch als experimentell anzusehen.
dazu müsste aber auch für jede VM eine eigene GPU vorhanden sein, da das wechseln der GPU/VM zuweisung sonst nicht funktioniert.

soviel ich weiss kann man zb bei Parallels Workstation mit einem SLI verbund aus Quadro karten die MOS (ich glaub so hies das) unterstützen, die Grafikunterstützung im Betrieb zwischen den VMs wechseln, aber auch da ist dann ein gelichzeitiger Betrieb 2er VMs mit GPU support nicht möglich. ich glaube die Quaddros mit MOS wären die 3800, 4800 und 5800 also auch kein billiger spass.
 
Wann gibt es endlich PC Emulatoren mit vernünftiger DX3D unterstützug
und was soll das bringen.. ?
halte ich für ziemlich sinnfrei und diametral zum gedanken einer VM.
mehr als aero-beschleunigung wirds wohl nicht so schnell werden.

für browserspiele reichts allemal.
 
könnti, würdi, täti, hätti, wari..

sprich: ein "server" mit einer grafikkarte, der mehrere spiele
auf mehrere clients verteilt.. ? und alle wollen crysis 2 in full hd.
und wer soll das bezahlen ?

träum weiter.. aber mach dich nicht nass dabei.
 
ich rede hier nicht von spielen. da die grafikunterstützung ja noch nicht soweit ist, ist das für diverse Office-Anwendungen aber doch einsetzbar.

für schnelle spiele (speziell ego shooter und rennsimulationen) ist es auch nicht sogut geeignet, da durch die komprimierung des signals ein kleines delay bzw unschärfe entsteht.
 
Zuletzt bearbeitet:
DAS geht ja schon seit anbeginn.
verwende VMs mittlerweile extzessiv.

aber: was hätte "office" mit directx zu tun.. ?
 
VMware kann doch schon recht lange DirectX emulieren, so dass es z.B. für MMORPGs ausreicht. VirtualBox zieht so langsam nach, für viel mehr Leistung und aktuellste fehlerfreie Unterstützung (dx11+) wird es so aber nie reichen, weil der Overhead und Programmieraufwand viel zu groß ist. Grafikkarte durchschleifen geht im Windowsbereich glaube ich nur mit den teueren Lösungen von VMware, unter Linux seit letzten Jahr mit Xen und vielleicht mit KVM, aber noch recht buggy. Und natürlich kann man die Grafikkarte nicht unter mehreren VMs teilen. Hier mangelt es meiner Meinung nach aber an passender Hardware, weil man bei Intel VT-D Hardware (z.B. Q45, einige X58) und bei AMD IOMMU-kompatible Chipsätze (nur 890FX) braucht. Die meisten Prozessoren können's, aber die wenigsten Mainboards.
Sobald Q67-Boards problemlos lieferbar sind probier ich die Geschichte vielleicht mal beim Homeserer aus, aber nicht zum Zocken sondern für Videobeschleunigung für HDTV.
 
directx emulieren ist nicht alles. die rechenleistung der simulierten Grafikkarte ist mit grafikkarten von vor 10 jahren vergleichbar (wenn überhaupt). ok, einen benchmark hab ich damit nicht gemacht, aber von der "gefühlten" leistung her, war das grottenschlecht.
 
Wie bereits erwähnt wurde verstößt das Durchschleifen der Graka gegen das Konzept einer VM (u.a. Sicherheitsrisiken), zumal auch nur eine VM die Graka simultan nutzen könnte.
 
Wenn ich mich auch nochmal einmischen kann:
Warum sollte das einbinden einer Graka das Sicherheitskonzept verletzen?
Immerhin greifen ja die VMs direkt auf die CPU zu. Alles zu emulieren wäre viel zu leistungssaugend (wurde auch schon öfters erwähnt).
Ich hab mit Vmware jedenfalls schonmal ein 3D game gespielt , und ich glaube nicht, dass die CPU die Berechnungen übernommen hat. Also denke ich mal, dass VMware die Grafikkarte schon einbindet.
 
Jede VM wird in einem geschützten Bereich ausgeführt (ne Art Sandbox). Dabei stellt der Virtual Machine Monitor bzw. bei modernen CPUs die Hardwarevirtualisierung sicher, dass diese Trennung eingehalten wird. Wenn du jetzt die Grafikkarte direkt einbindest, wird dieses Sicherheitskonzept durchbrochen und man könnte mit einem (böswillig) modifizierten Grafiktreiber oder im schlimmsten Fall sogar Anwendungssoftware, die diesen Treiber nutzt, aus der geschützten VM ausbrechen und das Hostsystem kompromittieren. Da solche Treiber auf Kernelebene laufen, haben sie in der Regel fast uneingeschränkten Zugriff auf das Betriebssystem. Dann kann man z. B. rootkits, Trojaner oder ähnliches einfach einbinden und sogar am Virenscanner vorbeischleusen (die arbeiten mit ner Art Dateifiltertreiber, den man auf OS Ebene sicherlich leicht austricksen oder abschalten kann).
 
Jede VM wird in einem geschützten Bereich ausgeführt (ne Art Sandbox). Dabei stellt der Virtual Machine Monitor bzw. bei modernen CPUs die Hardwarevirtualisierung sicher, dass diese Trennung eingehalten wird. Wenn du jetzt die Grafikkarte direkt einbindest, wird dieses Sicherheitskonzept durchbrochen und man könnte mit einem (böswillig) modifizierten Grafiktreiber oder im schlimmsten Fall sogar Anwendungssoftware, die diesen Treiber nutzt, aus der geschützten VM ausbrechen und das Hostsystem kompromittieren. Da solche Treiber auf Kernelebene laufen, haben sie in der Regel fast uneingeschränkten Zugriff auf das Betriebssystem. Dann kann man z. B. rootkits, Trojaner oder ähnliches einfach einbinden und sogar am Virenscanner vorbeischleusen (die arbeiten mit ner Art Dateifiltertreiber, den man auf OS Ebene sicherlich leicht austricksen oder abschalten kann).

Also nochmal langsam für mich^^
Die CPU Befehle der VM werden NICHT direkt auf der CPU ausgeführt?

Also bis jetzt hab ich das so gedacht: Alle Befehle werden direkt auf der CPU ausgeführt, außer die RING 0 /previligierter Modus Befehle, die werden von der Software (wie VMware) entsprechend interpretiert.

Oke und du sagst, das ist nicht so. Sondern alles wird auf der Virtualisierungsschicht der CPU ausgeführt?
Wenn man die Grafikkarte direkt einbindet, jao stimmt, dann hätte man auch direkt auf sie zugriff, was meist ungut ist^^
Ich weiß ja nicht wie das mit der Grafikkarte ist. Bei der CPU werden ja einfach nur eine Abfolge von Assembler (bzw assembilierte) Befehlen ausgeführt (Korrigiere bitte, wenn ich falsch liege).
Wenn es bei der Graka genau so wäre, könnte man es doch so machen: VMware stellt einen signierten Treiber zu Verfügung. Der Treiber ist für die "Grafikkarte" in der VM (ka was VMware da vorgaugelt).
Programm in der VM -> Grafiktreiber von VMWware in der VM -> virtuelles Device/Hardware in der VM -> VMware interpretiert, wie immer alles, was auf die virtuelle Hardware zugreift -> schickt es weiter an die richtige Graka

Also die wahrscheinlichkeit ist groß, dass ich gerade großen Mumpitz erzähle.... aber dazu bin ich ja hier, damit ihr mich verbessert :P

Aber so insgesamt ist das Thema der VMs und Virtualisierung verdammt interesant

mfg
Lukas
 
Nee, die VM führt nicht alle Befehle selbst aus, dann hätten wir ja ne Emulation mit 5% Performance ;)
Aber bei CPUs ohne Hardwarevirtualisierung (AMD-V, Intel VT) muss die VM Software selbst dafür Sorge tragen, dass jede VM isoliert läuft (vereinfacht gesagt). Es gab auch mal ne Untersuchung, dass der x86-Befehlsatz für Secure Virtual Machines nicht unbedingt geeignet ist...

Bei Treibern ist generell das Problem, dass diese HW-spezifisch sind. Du kannst nicht einfach einen "General-Treiber" nutzen, der dann den eigentlichen Grafiktreiber anspricht, da du ja trotzdem diesen Treiber und vor allem die dahinter liegende HW kennen musst. Es aht ja schließlich nicht jede Graka das gleiche Featureset. Abgesehen davon gibt es für so eine Bastelei keinen HW-Support und das müsste daher alles in SW geregelt werden -> Goodbye, Framerate!

Rein technisch ist es halt machbar, aber dann wird die Graka halt direkt eingebunden. Daneben können sich noch weitere mehr oder weniger lustige Komplikationen einstellen, zum Beispiel wenn du eine 3D-Anwendung auf dem Host und eine in der VM starten willst.
 
Wenn ich das bei AWS richtig habe, mietet man da denn kompletten Rechner bzw. Cluster bestehend aus 2x Xeon 5570 und 2x Tesla M2050??? Kann ich mir für den Preis aber iwie nicht vorstellen :ugly:
 
Ok, dann seien es eben physische Server. (Übrigens der Preis ist pro genutzte Stunde.)
Aber wie realisiert das dann Onlive? Die stellen bestimmt nicht für jeden User einen extra Server bzw. GPU bereit. Oder?
 
Zuletzt bearbeitet:
Hmm. Irgendwie ist es verdammt schwierig zu dem Thema Infos zu bekommen. Soweit ich das bis jetzt sagen kann, nutzen die keine VMs. Aber ich kann mir nicht vorstellen, dass die einen Server/User haben. Vielleicht haben die eine Möglichkeit gefunden, mehrere Spiele gleichzeitig auszuführen oder so.
 
Zurück