[Bug 246121] [bhyve][PATCH] Append Keyboard Layout specified option for using VNC.

Peter Grehan grehan at freebsd.org
Thu May 28 22:27:55 UTC 2020


Hi Henrik,

> When I wrote my Video BIOS code one year ago, I noticed that bhyve is
> sending updates continuously from rfb_wr_thr(), without any requests.
> On the other hand, the RFB protocol specification says that "an update
> is only sent from the server to the client in response to an explicit
> request from the client", so bhyve seems to technically break this.

  So do the clients that don't send any UpdateRequest messages at all.

  Spec compliance in the VNC world is a very loose definition :(

> I tested my code with TigerVNC, and at one point I ended up with a very
> long delay for keyboard events. From my diary at the time (2019-05-02):
> 
>      "In any case, I finally found the cause of the long input queue.
>       TigerVNC sends a new update request for each display update it
>       gets, and it only expects to get one, but bhyve sent a separate
>       update for each rectangle, so as soon as display updates started,
>       the input buffer filled up with update requests."

  Ok, that's an optimization that could be done: I think there's enough 
info to do that in an update.

> By then, I had probably already changed the rfb.c code a lot, but any
> delay for TigerVNC could be due to a similar issue. I guess different
> VNC clients would react differently to unexpected update messages.

  And the majority do.

> Anyway, I wanted to mention it before you rewrite the RFB code again.
> My patch is still in limbo at https://www.gulbra.net/freebsd-bhyve/,
> and the changes in rfb.c are those that are most likely to conflict
> with other modifications. It would be better for me if I don't have to
> do the same debugging all over again if I finally return to this code.

  Thanks; I 'll have a look at it.

later,

Peter.


More information about the freebsd-virtualization mailing list