EEVblog Electronics Community Forum

Products => Computers => Networking & Wireless => Topic started by: Ed.Kloonk on June 10, 2023, 07:38:24 am

Title: VNC between two Linuii. Mouse sluggishness and no cursor change on the client.
Post by: Ed.Kloonk on June 10, 2023, 07:38:24 am
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?
Title: Re: VNC between two Linuii. Mouse sluggishness and no cursor change on the client.
Post by: grumpydoc on June 10, 2023, 11:44:21 am
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.
Title: Re: VNC between two Linuii. Mouse sluggishness and no cursor change on the client.
Post by: Ed.Kloonk on June 10, 2023, 12:26:16 pm
How remote is the server?

Um, right next to the client machine. Both connected to gigabit unmanaged switch.
Title: Re: VNC between two Linuii. Mouse sluggishness and no cursor change on the client.
Post by: grumpydoc on June 10, 2023, 01:02:13 pm
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".
Title: Re: VNC between two Linuii. Mouse sluggishness and no cursor change on the client.
Post by: Ed.Kloonk on June 10, 2023, 01:20:34 pm
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".

A 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...
Title: Re: VNC between two Linuii. Mouse sluggishness and no cursor change on the client.
Post by: grumpydoc on June 10, 2023, 01:27:59 pm
Any unexpected latency visible with ping?

Does iperf3 reveal any bandwidth problems?

Which specific VNC server and client are you using?
Title: Re: VNC between two Linuii. Mouse sluggishness and no cursor change on the client.
Post by: SiliconWizard on June 10, 2023, 07:12:44 pm
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".

A 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...

Have 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.
Title: Re: VNC between two Linuii. Mouse sluggishness and no cursor change on the client.
Post by: Ed.Kloonk on June 15, 2023, 10:40:07 am
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?
Title: Re: VNC between two Linuii. Mouse sluggishness and no cursor change on the client.
Post by: DiTBho on June 15, 2023, 11:24:40 am
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.

one 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: [Select]
._______________                 ___________
|               |               |           |
|   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: [Select]
._____________                              _______________
|             |                            |               |
|   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  :o :o :o
Title: Re: VNC between two Linuii. Mouse sluggishness and no cursor change on the client.
Post by: Ed.Kloonk on June 15, 2023, 11:26:59 am
Sonoko and Zaphire, are two of my projects  :o :o :o

If I didn't know better, you're man after my own heart.  :)

 ;)