Solved Is bhyve/VNC capable doing 4k?

Hi,
I am using vm-bhyve with these particular VNC related options, example:

Code:
graphics="yes"
graphics_port="5902"
graphics_listen="127.0.0.1"
graphics_res="1920x1080"
xhci_mouse="yes"

Is there any way how to push that to 4k, that is 3840x2160? On the client side I use tiger-vncviewer. For completeness, I have Tumbleweed running on the VM (should not matter).
Out of the box, it does not work and I saw that mentioned in the documentation somewhere.
 
Code:
                 w=width and h=height
                             A display resolution, width and height,
                             respectively.  If not specified, a default
                             resolution of 1024x768 pixels will be used.
                             Minimal supported resolution is 640x480 pixels,
                             and maximum is 1920x1200 pixels.
bhyve(8)
 
Code:
                             Minimal supported resolution is 640x480 pixels,
                             and maximum is 1920x1200 pixels.
bhyve(8)
Yes, I saw that. My question could rather be translated as: "Is that the hard limit with no (easy) way how to workaround that other than e.g. extending bhyve implementation, tweaking VNC server etc.?" Reasons for not supporting bigger resolutions are performance, or there's something deeper? I can imagine performance being deep enough reason already, just curious.
 
"Is that the hard limit with no (easy) way how to workaround that other than e.g. extending bhyve implementation, tweaking VNC server etc.?"
It's probably limited by the EFI framebuffer, the graphics option only works if you UEFI boot the VM and the "graphics" interface uses the (virtual) EFI framebuffer of the VM. So I suspect this isn't "easily" changed just by modifying some bits of the bhyve(8) code.
 
If you want higher resolution you could use RDP. You need an RDP server in your VM and an RDP client. I have used it successfully at 4k with a debian VM and Remmina as RDP client.
 
If you want higher resolution you could use RDP. You need an RDP server in your VM and an RDP client. I have used it successfully at 4k with a debian VM and Remmina as RDP client.
RDP outside of Windows (i.e xorgxrdp) actually uses VNC (Xvnc or xorg-vfbserver) underneath, so you don't really gain anything extra.
 
I didn't know that. I did get 4k resolution though, probably because it wasn't limited by the EFI buffer.
Yep. It creates a "virtual" Xserver (either based on Xvfb or a backend "dummy" driver for Xorg) instance which is limited only by available RAM and then sends those pixels. It seems to use Xvnc tech to provide this rather than reinventing the wheel.

Unlike Microsoft's "Full Fat" RDP (which is admittedly very good) along with instrumented drawing API and suitable widget set, the RDP on Linux and BSD creates very simple RDP shim packets which contains entirely raster pixels rather than intelligent protocol so annoyingly we lose a lot of performance.

That said, I personally find RDP clients tend to be more popular and supported than VNC clients these days so it might contribute to it feeling snappier.
 
Back
Top