xpipe-io / xpipe

Your entire server infrastructure at your fingertips
https://xpipe.io
Apache License 2.0
2.3k stars 66 forks source link

VNC with Raspberry Pi 5 is not supported #280

Open FDelporte opened 3 weeks ago

FDelporte commented 3 weeks ago

When connecting with VNC to a Raspberry Pi 5 with the latest OS, the following error is thrown:

java.lang.RuntimeException: com.shinyhut.vernacular.client.exceptions.NoSupportedSecurityTypesException: The server does not support any VNC security types supported by this client

It is known that VNC on RPi5 is different: https://help.realvnc.com/hc/en-us/articles/14110635000221-Raspberry-Pi-5-Bookworm-and-RealVNC-Connect

FYI, TigerVNC is compatible with RPi5.

OS info:

$ uname -a
Linux pi5 6.6.31+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux
crschnick commented 3 weeks ago

I will have to look up which security types it supports. I already prepared for this somewhat by forking and manually implementing more secure authentication measures at https://github.com/xpipe-io/vernacular-vnc/tree/aeseax, but that is not fully tested yet.

I'm also not sure what kind of settings you have available on the VNC server that you can tweak until I release that version. The idea in xpipe is to always tunnel and authenticate via SSH, so even unsecure authentication measures are secure when you use them with xpipe and don't publicly expose the VNC port.

crschnick commented 3 weeks ago

It seems like running a wayvnc server isn't that trivial in a VM.

Could you list the available security types for your server? They should look something like this: None, VncAuth, Plain, TLSNone, TLSVnc, TLSPlain, X509None, X509Vnc, X509Plain, RA2, RA2ne, RA2_256, RA2ne_256. They will probably be in some kind of config

FDelporte commented 3 weeks ago

Could you list the available security types for your server?

That's out of my knowledge ;-) I looked around a bit in the files on the RPi5 itself but didn't find any useful info I'm afraid. This seems to be the source repo for this VNC server in Raspberry Pi OS: https://github.com/any1/wayvnc/tree/master/protocols

crschnick commented 3 weeks ago

Alright, I managed set it up somehow. Can you share the config contents so I can reproduce this on my end?

crschnick commented 2 weeks ago

So even if there is no config file, you can manually create one at ~/.config/wayvnc/config.

If you create one with enable_auth=false as content, it should work for now. That is sufficient if you're using it only locally and have not exposed it to the public.