necouchman commented on PR #469: URL: https://github.com/apache/guacamole-server/pull/469#issuecomment-2143435189
Well, finally tracked down what's going on, here, and it appears that there is a bug in libvncclient, and not all of the required data is initialized to send a screen update. In particular, the RFB protocol specifies that a the screen update message should include the screen id, x and y offset, width and height, and (unused but initialized) flags. libvncclient currently only initializes and sends the x and y offset, resulting in bogus data being sent for the id, offset, and flags. While some VNC servers may be forgiving of this (or ignore it), TigerVNC does not, and this results in its refusal to resize correctly. I've put in a pull request in the LibVNC/libvncserver repo to correct this, and it appears to work. However, until they accept that and release a new version, this effectively will not work. The options, then, are: * Don't merge this code until libvncserver/libvncclient has a release that will actually make use of it. * Merge this code, anyway, with a warning that it will probably not work with most VNC servers. * Write a function that uses the `WriteToRFBServer` function and generate our own resize message, with the expected data, and then update Guacamole to use the corrected/built-in method when it gets fixed. I'm tempted to go with the last option so that this feature can be used, so I'll see what I can come up with. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@guacamole.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org