X11vnc has slow redraw/reaction while tigervnc server on a new display is much faster

I’ve setup x11vnc to start with the system, and it’s working. However it’s pretty slow at reacting to my actions and takes time to redraw the screen when there’s change. I’ve been using vncserver to use my laptop remotely for a while and never really noticed any delay/lag/latency in the animations or my actions. There might have been a couple of times where it loaded slowly briefly, but not enough times for me to be annoyed. But x11vnc is never really good. If I open a text editor and just type, it is many characters behind and sometimes doesn’t even show each character, but draws them in blocks. Anything GUI related takes seconds to change. If I open a fullscreen app, it starts loading horizontal bars from the top down, looks like a slow motion digital camera capture. Is there any way I can optimize it? I don’t need everything to be super pretty and perfect, so if I need to reduce quality or disable animations or anything, I will do that.

Some info about my PC and what I have configured: I’m using Gnome3, worked perfectly fine on vncserver without much effort. For my normal vncserver I installed tigervnc from the repos. I am logging in within my home network for both x11vnc and tigervnc, never through the internet. I log into my vnc sessions from my work computer that is setup in my home office, which has windows 10 with RealVNC installed, which I use for both x11vnc and the tigervnc, so the only difference is the vnc session created on my Manjaro PC.
Here is my x11vmc.service config in systemd:

[Unit]
Description=VNC Server for X11
Requires=display-manager.service
After=display-manager.service

[Service]
Type=forking
ExecStart=/usr/bin/x11vnc -nap -wait 50 -noxdamage -rfbauth /home/jacob/.vnc/passwd -display :1 -forever -o /home/jacob/.vnc/x11vnc>
Restart=on-failure
RestartSec=10
User=jacob

[Install]
WantedBy=multi-user.target

Thanks in advance!

Try different encoding:

vncviewer -encodings 'copyrect tight zrle hextile'

man x11vnc has a lot of options :wink:

I saw that, but you’re supposed to do that on the viewer side right? And I’m logging in from windows, so that command doesn’t do anything. But I did set the encoding to zrle, zrle2, and hextile on my windows machine, but it didn’t seem to help. Also the man page for x11vnc was so much info that I was a little overwhelmed with it all. I tried searching for encodings there but didn’t find anything.

VNC has a lot of different implementations and forks. Not easy to decide what is good or bad.

On the AUR there is:

  1. tightvnc
  2. tigervnc (based on tightvnc)
  3. turbovnc (optimized tightvnc)

My experience is that x11vnc is good for internal networks, but bad for connections over the internet unless you have a 100MBit connection.

I would suggest to try turbovnc :wink: It worked for me good, but didn’t use windows anyway.

Yeah, I’m already not making any connection of the internet. Just in my local LAN. I’ll look up if I can try something else on windows. I guess I can try to connect from another linux machine to test if it’s the windows client not doing good or if it’s the server. Thanks for the suggestions!