-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
noVNC stops working when lossy compression is enabled in qemu #1767
Comments
It's very intriguing that a reconnect doesn't help. That usually resets any protocol issues. Do you think you could do a recording of the data stream on a reconnect and attach here? There are flags to websockify to enable that. |
@CendioOssman Recorded the stream for 5-6 seconds after reconnect |
Thank you for the recording. I can see now see the issue here, and I get this error from noVNC in the browser console:
So we have a clear reason for the failure. It's a bit unexpected given the setting you've described, though. The gradient filter is lossless, so it should be more used when lossy compression is disabled, not enabled. The gradient filter is rarely used in current VNC servers, so noVNC never got around to implementing it. QEMU is popular with noVNC, though, so I'm surprised that this hasn't surfaced earlier. |
This commit is a basic implementation of the gradient filter required by by qemu `lossy` option.
This commit is a basic implementation of the gradient filter required by qemu `lossy` option.
Describe the bug
Qemu has a flag to enable or disable lossy compression. noVNC works without any issue when this flag is set to off(default). But when lossy flag enabled, noVNC screen goes blank/gets stuck as soon as the guest os completes boot and loads desktop. Disconnecting and reconnecting doesn't fix this issue. No relevant logs are printed on the noVNC console.
Initially I thought this is an issue with qemu, but qemu vnc screen is connecting without any issue from tigervnc.
To Reproduce
Steps to reproduce the behavior:
qemu-system-x86_64 -enable-kvm -cpu host -smp 4 -m 2000 -cdrom lmde-5-cinnamon-64bit.iso -vnc :0,lossy=on
./utils/novnc_proxy --vnc localhost:5900
Expected behavior
noVNC should show the guest screen
Client
Server (please complete the following information):
The text was updated successfully, but these errors were encountered: