FreeBSD Bhyve Graphical Console Output Windows

Posted on Posted in Uncategorized

Its an exiting day, one of the core missing features of the Bhyve hypervisor has finally landed in a project branch of FreeBSD, graphical console support by way of VNC. No longer do you need serial access or more importantly, require the need for an AutoUnattend.xml file to facilitate the installation of Microsoft Windows. What was once the tedium of clicking through the installation wizard of Windows now seems exciting and novel again 🙂

The latest development R300829 brings new device emulation in the form of fbuf, a raw framebuffer, including PS2 keyboard/mouse and XHCI USB controller with USB tablet backend support.

Raw Framebuffer device

-s 29,fbuf,tcp=0.0.0.0:5900,w=800,h=600,wait \ 

-s 29,fbuf
Framebuffer device attached to PCI slot 29

tcp=0.0.0.0:5900
VNC server listening socket. VNC server is listening on all IP addresses on port tcp/5900. The VNC server attaches to the fbuf device and provide PS2 Keyboard and mouse

w=800,h=600,wait
This specifies the graphics resolution with w being the width and h being the height. wait instructs Bhyve to not boot the VM until the VNC client is connected to the VNC server. This is very handy when installing an OS such as Windows and requires keyboard input to boot from CD/DVD.

XHCI USB device

-s 30,xhci,tablet

XHCI USB Controller device attached to PCI slot 30. This is a USB 3.0 USB controller, so will only work out of bo with guest OSes that have built-in USB 3.0 tablet

But, as previously noted in my FreeBSD Bhyve Hypervisor Running Windows Server 2012 R2 Standard post, a little effort and patients is required to get things up and running.

Requirements

  • Updated Bhyve binary with graphics support
  • GOP UEFI firmware curtsey of Peter Grehan – BHYVE_UEFI_20160526.fd
  • FreeBSD 11-CURRENT – r300097
  • A VM guest capable of booting from UEFI

Links to related articles

Leave a Reply

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