VNC between two Linuii. Mouse sluggishness and no cursor change on the client. - Page 1
Forum section: electronics / general

author: Ed.Kloonk
author_rank: Super Contributor
timestamp: June 10, 2023, 07:38:24 am
content: So I usually just ssh the remote X server, this time I wanted the whole remote desktop and I haven't used VNC for a very long time. Like before, using krfb and krdc with the highest LAN settings I can find on krdc.Hunted around on the web and found a few old answers that seem to indicate the limitations of VNC.Wanted to ask if I can expect a better result with a bit of effort or is it a lame duck?

author: grumpydoc
author_rank: Super Contributor
timestamp: June 10, 2023, 11:44:21 am
content: How remote is the server?I find VNC (over an ssh tunnel) OK on my LAN and perfectly serviceable most of the time when accessing my machines at work and usable to access my VPS (which is in France) but it can be totally killed by latency and bandwidth much below 10Mbps.I haven't tried the native encryption support.

author: Ed.Kloonk
author_rank: Super Contributor
timestamp: June 10, 2023, 12:26:16 pm
content: Quote from: grumpydoc on June 10, 2023, 11:44:21 amUm, right next to the client machine. Both connected to gigabit unmanaged switch.

author: grumpydoc
author_rank: Super Contributor
timestamp: June 10, 2023, 01:02:13 pm
content: In that case it should work pretty well.When you say "sluggishness" is that just "I can tell it's not the machine in front of me" or "I can't use this *&^%!! thing".

author: Ed.Kloonk
author_rank: Super Contributor
timestamp: June 10, 2023, 01:20:34 pm
content: Quote from: grumpydoc on June 10, 2023, 01:02:13 pmA bit of both. Working within a code editor, mouse is sticky. Manipulating code is bunk and unsettling. And the mouse cursor doesn't change from pointer to text input to column position adjust when hovering over things.Getting a marginally better result by dropping out of full-screen with the client && reducing to the size in client to a postage stamp. There is a bottleneck somewhere...

author: grumpydoc
author_rank: Super Contributor
timestamp: June 10, 2023, 01:27:59 pm
content: Any unexpected latency visible with ping?Does iperf3 reveal any bandwidth problems?Which specific VNC server and client are you using?

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 10, 2023, 07:12:44 pm
content: Quote from: Ed.Kloonk on June 10, 2023, 01:20:34 pmHave you tried really only a single application? Or is the problem more general?Some GUI applications do not play well with VNC due to a number of reasons. I use VNC on my LAN with no performance issue per se, but some applications are dogs under VNC, typically wxWidgets-based stuff can elicit various issues such as rendering performance and mouse cursor issues. Or directly GTK-based stuff as well (in particular GTK 3.)One example is KiCad - absolutely horrific experience via VNC.

author: Ed.Kloonk
author_rank: Super Contributor
timestamp: June 15, 2023, 10:40:07 am
content: Update. Solved.On the Desktop Client krdc there is a button "Show Local Cursor".Toggling this causes the mouse to be snappy (or not). As I was in full-screen mode, it's not obvious what mode the feature is in since the icons dont properly indicate statuses in the auto-dropdown config thingy.But it does in the regular non full-screened mode. Selected.I prolly didn't need to go medieval on the cat5 cabling, though I did find a dodgy wire on a patch cable. So that's nice.Still haven't found an answer to my other question, though. The cursor doesn't change when hovering over different things. I understand that this(was) is a limitation of VNC and I've been spoilt by remoting xserver applications.What do you think?

author: DiTBho
author_rank: Super Contributor
timestamp: June 15, 2023, 11:24:40 am
content: Quote from: SiliconWizard on June 10, 2023, 07:12:44 pmone can develop a def-io virtual framebuffer in kernel space readdressing TLB dirty events that collide on the framebuffer area on interrupts that shot packets on the ethernet, to make a kind of "remote framebuffer" kernel space protocol.it works, but introduces latencies, and requires some form of compression, plus it's easy to implement stuff on the LLC layer, a bit more complex on the UDP layer, and much more complex on the TCP layer to the point you'd better use a "userspace helper", which eases your life but introduces more latency.Code:._______________ ___________| | | || computer | | xterm || | | || _____RAM___ | | || | | | | hardware || |virtual | | |framebuffer|==== video| |framebuffer| | ethernet | || | |=================== || |___________| | | || Kernel defio | | ||_______________| |___________|(Sonoko)So, it's better to use the physical framebuffer and an external capture device that captures the video output, compresses it to the differences without loss, and sends it via the network (even better if optical network).Code:._____________ _______________| | | || computer | | xterm || | | || | | ______RAM__ || | ______ | | | || hardware | | | | |virtual | || framebuffer |== video ==| grab |== lan ==| |framebuffer| |=== video| | |______| | |___________| ||_____________| |_______________|(Zaphire)Solves all the problems in a single shot!Just ... the complexity goes outside your computer, and developing such equipment costs a lot of time and money.Sonoko and Zaphire, are two of my projects

author: Ed.Kloonk
author_rank: Super Contributor
timestamp: June 15, 2023, 11:26:59 am
content: Quote from: DiTBho on June 15, 2023, 11:24:40 amIf I didn't know better, you're man after my own heart.