RFB doesn't use client's SetPixelFormat

From: Justin England <justin_at_rapidcity.net>
Date: Thu, 17 Aug 2023 17:31:09 UTC
Greetings,

I am using FreeBSD 13.2-STABLE and have recently attempted to get noVNC’s web based VNC client to work with my bhyve VNC consoles, but immediately realized that the colors are not correctly displayed where essentially the reds and blues are reversed.

After doing some research, that is exactly what is happening.  Web browsers seem to use BGR colors where bhyve’s RFB uses RGB.  Reading through the mailing lists / forums of noVNC, this appears to be a common issue and usually means that the embedded RFB server does not properly use the pixel format that the client requests.

After quickly going through the RFB protocol and bhyve’s rfb.c source, sure enough, when bhyve receives a SetPixelFormat from the client, it basically ignores it and moves on. ( rfb_recv_set_pixfmt_msg() )

At this point, I’m not sure what to do next.

Does anybody have a work around for this?

Is this something that will be added in a future release?

Should I file a bug report as recommended by the noVNC developers?


I appreciate any help I can get with this.

Thanks,

Justin England