I recently switched to FreeBSD on one of my Cleints and need a Windows to work 10 machine, for different applications,  which I set up with bhyve and administrate with vm-bhyve.

I don't want to install Windows here 10 come in yourself, because there are already good tutorials for this. For example here: ateamsystems    freebsdwiki   vm-bhyve-wiki

bhyve is FreeBSD’s answer to the previously available solution VirtualBox and Xen. bhyve is still a very young development, which has the advantage, that it is very modern and can be configured in a clearly structured manner. On the other hand, there are still a few teething problems.

I have achieved the best performance results, if both network and storage is operated using virtio and the installation is on a ZFS volume.

I also made a few tweaks, which significantly improved the usability of the system.

Powermanagement

I achieved a very positive effect by stopping the powerd or. powerdxx Deamons. Windows 10 then reacted faster to inputs and it didn't feel so laggy anymore. With me, the impression gradually emerged, that the paints are not due to an incorrect configuration, but that here the graphics unit used by RDP, der Remote-Display-Adapter, could be the cause.

XFreeRDP AVC Codecs

With the introduction of Windows Server 2012 and higher, support for the codecs AVC420 and AVC444 is supported. To force the use of these codecs, group policies must be configured on the system. Best with Windows + R key call the execution window and start gpedit.msc.

The settings can be found under:
Computerkonfiguration -> Administrative templates -> Windows components -> Remotedesktopdienste -> Remotedesktopsitzungs-Host -> Environment for remote session

  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

After the setting, force the adoption of the guidelines! Either with a restart or the command gpupdate /force

On the FreeBSD host with bhyve, on the windows 10 running, you need the h264 codec and xfreerdp should be compiled with the appropriate flags. Otherwise just create a new one and set the appropriate options.

You can now call up the connection from xfreerdp, to specify the corresponding AVC codec, that is used.

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

The responsible option is called gfx. Simply add the appropriate codec by :Select CODEC. AVC444 is the most current and probably the most perfomant solution. With me, however, artifacts have always shown up, which is probably since Windows 10 Build 1903 occur. Different approaches did not bring any improvement. That's why it comes to me 420 Codec in use, which speeds up the graphic display and is completely sufficient for my purposes.

Windows 10 can be operated well since then and I have to say, bhyve as well as the complete BSD system find my favor.

FreeBSD and Windows 10 protect from the outside world

One thought on “FreeBSD bhyve with Windows 10

  1. me says:

    In the meantime it is also possible to use the AVC444 codec for my Windows 10 Machine. In this case it was up to Freerdp. I recompiled it from the usr / ports directory and openh264 de- and ffmpeg activated.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.