The libhyve-remote aims to abstract functionalities from other third party libraries such like libvncserver, freerdp and spice to be used in hypervisor implementation. With a basic data structure it is easy to implement any remote desktop protocol without dig into the protocol specification or third part libraries, you can check some of our examples.
We don't static link any third party library, instead we use dynamic linker and we load only functionalities that we believe is necessary to launch the service.
Our target is to abstract functionalities from libvncserver, freerdp and spice. Right now libhyve-remote only supports libvncserver. It is possible to launch a vnc server with different screen resolution as well as with authentication.
With this patch we implement support to bhyve use libhyve-remote that basically abstract some functionalities from libvncserver.
We can:
- Enable wait state.
- Enable authentication.
- Enable different resolutions.
- Have a better compression.
Also we add a new flag to be called with -s that is vncserver, if the libhyve-remote library is not present in the system we fallback to bhyve RFB implementation, ex.:
-s 2,fbuf,tcp=0.0.0.0:5937,w=800,h=600,password=1234567,vncserver,wait