Looking Glass - VM Display Duplikation via Shared-Memory (Einrichtung)

in #deutsch6 years ago


Heute möchte ich dir Looking Glass vorstellen. Looking Glass ist eine Möglichkeit, den Bildschirminhalt deiner Windows VM an deinen Linux Host zu übertragen.

Das mag auf den ersten Moment nicht neu klingen, da es solche Technologien schon gibt, doch Looking Glass nutzt anstatt einer Netzwerkschnittstelle einen gemeinsamen Speicher. Das minimiert die Latenz der Bildübertragung theoretisch auf 0ms. Da es sich bei Speicher aber um ein elektronisches Bauteil mit gewissen Latenzen handelt, kommt man (laut Projektseite) auf etwa 16ms. Beim Austausch der Bilddaten über den Speicher wird außerdem keine Kompression angewendet, es kommt also (theoretisch) ein verlustfreies Bild am anderen Ende an.

Wenn du Looking Glass ausprobieren möchtest, folgt hier ein kleines Tutorial, wie du es dir einrichten kannst.

Wie benutze ich Looking Glass?

Schritt 0: Anforderungen checken

Alles was du für Looking Glass brauchst ist ein unter KVM virtualisiertes und mit libvirt verwaltetes Windows 10 mit GPU Passthrough. Die Gast-GPU sollte außerdem DXGI Desktop Duplication oder die NVIDIA Capture API unterstützen.

Schritt 1: Gerät einfügen

Als erstes fügst du via virsh edit folgendes Gerät in die <devices> Liste deiner VM ein:

Es kann sein, dass deine libvirt Version diese Syntax nicht annimmt. Alternative Methoden findest du in der Dokumentation.

Speicherplatz X berechnen

<size unit='M'>X</size> gibt die Größe des geteilten Speichers (Host/VM) an. Diese berechnest du wie folgt:

Den Wert musst du nun noch auf die nächst höhere Zweierpotenz (2,4,8,16,32,64,...) aufrunden.

Schritt 2: Speicher reservieren

Desweiteren solltest du einen gemeinsamen Speicherbereich in deinem Dateisystem festlegen (hier als Bash Script):

(user durch deinen Nutzernamen ersetzen)

Dieses lässt du am besten mit systemd oder ähnlichen Tools automatisch starten.

Schritt 3: Einrichtung im Gastsystem

Lade dir nun den vshmem Treiber für Windows herunter. Zum Verfassungsdatum gibt es unter diesem Link die aktuellste Version.

Wechsele nun in deine Windows VM und sucht nach einem Gerät mit dem Namen "PCI standard RAM Controller" (kann im Deutschen variieren) und installiere dafür den soeben heruntergeladenen Treiber.

Danach lädtst du dir hier den neusten Looking Glass Host herunter und startest die entpackte .exe Datei.

Schritt 4: Installation des Clients

Zurück in deinem Linux Host lädtst du dir einen entsprechenden Client herunter. Unter Arch Linux gibt es solch einen zum Beispiel im AUR. Eine Übersicht aller Clients findest du in der Dokumentation.

Schritt 5: Ausführen des Clients

Nach der Installation führst du den Befehl looking-glass-client in deiner Shell aus und voila, du siehst das Bild deiner Windows VM.

Solltest du für das Nutzen deiner VM keinen Spice Server verwenden, hängst du einfach noch ein -s an den Befehl an, um Looking Glass ohne Spice zu starten.

Schritt 6: Spaß haben ;)

Nun liegt es an dir, diese neue Technologie auszuprobieren und damit ein bisschen Erfahrung zu sammeln. Ich hoffe du hast viel Freude damit.

Danke fürs Lesen,
Thilo

Quellen:
Looking Glass Projektseite
Arch Wiki

Sort:  

Sieht interessant aus, müsste ich mal austesten, ohne hoffentlich dabei meine VM zu zerschießen. Ein Nutzen fällt mir dafür aber nicht ein - die Gast GPU ist direkt mit meinem Bildschrim verbunden.

Das gleiche Prinzip wird doch auch bei QubesOS angewandt, nur ohne native Gast-GPU.

Hello @thilobillerbeck, upv0t3
This is a free service for new steemit users, to support them and motivate them to continue generating valuable content for the community.
<3 This is a heart, or an ice cream, you choose.

:)


R4ND0M:
9649 3264 6028 6710
1635 4998 3821 1876
8210 8247 1870 9823
9435 2915 5759 9633