Ich bin vor kurzem auf einem meiner Cleints auf FreeBSD umgestiegen und benötige für die Arbeit eine Windows 10 Maschine, für verschiedene Anwendungen,  die ich mit bhyve aufgesetzt habe und mit vm-bhyve administriere.

Ich möchte hier nicht auf die Installation von Windows 10 selbst eingehen, denn hierfür existieren bereits gute Tutorials. Zum Beispiel hier: ateamsystems    freebsdwiki   vm-bhyve-wiki

bhyve ist FreeBSD’s antowrt auf die bisher verfügbaren Lösung VirtualBox und Xen. bhyve ist noch eine recht junge Entwicklung, was den Vorteil hat, dass es sehr modern ist und sich klar strukturiert konfigurieren lässt. Andererseits gibt es noch ein paar Kinderkrankheiten.

Die besten Performancergebnisse habe ich erreicht, wenn sowohl network als auch storage mittels virtio betrieben wird und die Installation auf einem ZFS Volume liegt.

Zusätzlich habe ich ein paar Optimierungen vorgenommen, die die Bedienbarkeit des Systems teils deutlich verbesserten.

Powermanagement

Einen sehr positiven Effekt erzielte ich durch stoppen des powerd bzw. powerdxx Deamons. Windows 10 reagierte danach schneller auf Eingaben und es fühlte sich alles nicht mehr so laggy an. Bei mir ist nach und nach der Eindruck entstanden, dass die Lacks nicht auf eine falsche Konfiguration zurückzuführen sind, sondern dass hier die von RDP verwendete Grafikeinheit, der Remote-Display-Adapter, die Ursache sein könnte.

XFreeRDP AVC Codecs

Mit der Einführung von Windows Server 2012 und höher, wird die Unterstützung der Codecs AVC420 und AVC444 unterstützt. Um die Nutzung dieser Codecs zu erzwingen, müssen Gruppenrichtliniern auf dem System konfiguriert werden. Am besten mit Windows + R Taste das Ausführungsfenster aufrufen und gpedit.msc starten.

Die Einstellungen sind zu finden unter:
Computerkonfiguration -> Administrative Vorlagen -> Windows Komponenten -> Remotedesktopdienste -> Remotedesktopsitzungs-Host -> Umgebung für Remotesitzung

  1. Configure H.264/AVC hardware encoding for Remote Desktop connections
  2. Prioritize H.264/AVC 444 Graphics mode for Remote Desktop connections
  3. Use the hardware default graphics adapter for all Remote Desktop Services sessions

Nach dem Einstellen die Übernahme der Richtlininien erzwingen! Entweder mit einem Neustart oder dem Befehl gpupdate /force

Auf dem FreeBSD Host mit bhyve, auf dem Windows 10 läuft, braucht ihr den h264 Codec und xfreerdp sollte mit den entsprechenden Flags kompiliert sein. Ansonsten einfach neu erstellen und die entsprechenden Optionen setzen.

Im Aufruf der Verbindung von xfreerdp gibt es nun die Möglichkeit, den entsprechenden AVC Codec anzugeben, der verwendet wird.

xfreerdp /v:192.168.101.31:3389 /sec:nla /log-level:debug /u:me /cert-ignore /p:me /multimon +compression +clipboard -menu-anims +fonts /gfx:AVC420 -bitmap-cache -offscreen-cache -glyph-cache /sound
xfreerdp /v:192.168.101.31:3389 /sec:nla /log-level:debug /u:me /cert-ignore /p:me /multimon +compression +clipboard -menu-anims +fonts /gfx:AVC444 -bitmap-cache -offscreen-cache -glyph-cache /sound

Die verantwortliche Option heißt gfx. Einfach den entsprechenden Codec durch anhängen von :CODEC wählen. AVC444 ist die aktuellste und wohl perfomanteste Lösung. Bei mir haben sich aber immer wieder Artefakte gezeigt, die vermutlich seit Windows 10 Build 1903 auftreten. Verschiedene Lösungsansätze brachten keine Besserung. Bei mir kommt deswegen der 420 Codec zum Einsatz, der die grafische Darstellung beschleunigt und für meine Zwecke völlig ausreichend ist.

Windows 10 lässt sich seither gut bedienen und ich muss sagen, bhyve wie auch das komplette BSD System finden meinen Gefallen.

FreeBSD und Windows 10 vor der Außenwelt schützen

One thought on “FreeBSD bhyve mit Windows 10

  1. me sagt:

    In der Zwischenzeit ist es auch möglich den AVC444 Codec für meine Windows 10 Maschine zu verwenden. Es lag in diesem Fall an Freerdp. Ich habe es aus dem usr/ports Verzeichniss neu kompiliert und openh264 de- und ffmpeg aktiviert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.