Open ulmitov opened 1 year ago
Probably a network issue, after which the data gets interpreted wrongly:
2023-07-13 18:00:24 [WARNING] 'Timed Out', retrying in 0 seconds...
But <Encoding.TIGHT: 7>
is also not implemented; basically only <Encoding.RAW: 0>
is implemented.
I seem to have a similar issue when trying to connect to the PiKVM VNC server. It fails with the following message in the server logs:
[main]: ... has_tight [] -- False
[main]: ... tight_jpeg_quality [] -- 0
[main]: ... has_h264 [] -- False
[main]: Error: Tight JPEG encoding is not supported by client
Since you mentioned that Tight is not implemented as an encoding, and the PiKVM docs mention this as a requirement, I'd assume there is no way around this.
As someone with zero knowledge of how VNC encodings work: Is this something that could relatively easily be added to vncdotool, or would this be a greater effort or maybe even impact functionality like expect
?
While refactoring vncdotool
I already had some quick thoughts on adding support for other encoding as vncdotool
currently only supports RAW
.
vncdotool.rfb.RFBClient._handleRectangle()
to handle other formats. For JPEG that should be easy as we already depend on Pillow, which supports many formats: get the right number of octets from the network stream, pass it to Pillow for decoding, paste the result into the screen buffer.vncdotool.rfb.RFBClient.SUPPORTED_ENCODINGS
.
No handler for TIGHT ?
vncdotool version last master ersion