Is there a frame drop option in X11Forwarding?

Is there a frame drop option in X11Forwarding?



I'm running a computer vision model on a headless remote VM (Ubuntu 16.04) over X11Forwarding with good ol' Putty and Xming as my Windows X Server.



All is well but seems there is no frame drop if the client-server bandwidth can't keep up, which means my application is slowed down and only renders a few frames a second when it can do hundreds if bandwidth is plenty.



Is there a force frame drop option built into X11 forwarding, and if there is, how do i turn it on?






The X11 protocol does not have a notion of frames, and hence does not support frame dropping (i.e. there is no resynchronisation point).

– Simon Richter
Sep 12 '18 at 13:29




3 Answers
3



I highly recommend Xpra for this sort of use-case: not only does it provide the ability to disconnect and reconnect to X applications running on a remote host, it also supports a variety of image encodings and window refresh settings to provide a decent experience in different circumstances.



It has a native Windows client so it should be easy enough to set up. You’ll need to install it on the remote VM too, but that’s as easy as apt install xpra on Ubuntu.


apt install xpra






This looks very promising, however i can't seem to make it bind to a TCP port.

– evilSnobu
Sep 12 '18 at 8:54






Are you connecting using SSH, or directly?

– Stephen Kitt
Sep 12 '18 at 8:59






My Xorg was f****. Fixed it and it's all fine now, this Xpra thing is really good, especially when you switch to HEVC (x265) encoding. Very very nice and not blocking. Thanks!

– evilSnobu
Sep 12 '18 at 9:40







I cannot recommend Xpra any more. It's probably the best free option out there today.

– wbkang
Sep 13 '18 at 1:35



According to this related question, looks like X11Forwarding
isn't the best option for graphics intesive applications, as the X11 protocol wasn't designed with bitmap drawing performance in mind.


X11Forwarding



It basically sends drawing instructions to the network, which is "all good" if we're talking about a couple of windows with text, but it's obviously overkill for millions of pixels changing every frame, expecially when network experiences high latency/jitter/packet loss.



As suggested in the answer to the question mentioned, you could try x2go
and see if it fits your needs.



EDIT as per comment



If x2go won't do, you can try VNC which looks like has frame dropping capabilities. For example, I use x11vnc for connecting to my desktop from
a remote connection with x11vnc -display :0 -auth .Xauthority which hooks to my display.


x2go


VNC


x11vnc


x11vnc -display :0 -auth .Xauthority



Don't know if it would work with Xming but you can give it a try.


Xming






Unfortunately the Windows port of x2go is completely broken, already tried it.

– evilSnobu
Sep 12 '18 at 8:00







In the past I also trying x2go with a Mac client, and gave up on it.

– Rui F Ribeiro
Sep 12 '18 at 8:25



The pure X11 protocol does not lend well itself for guaranteeing transmission, and much over SSH.



I recommend NoMachine. It can do bandwidth compression and network optimization. It also has clients for Mac, Windows and Linux.



PS. NoMachine has the free and the paid versions. I always used the free.



See NoMachine



For virtual desktops (case a) the X11 vector graphics mode
(previously known as “lightweight” mode) is enabled by default. This
method reduces the bandwidth usage (and the HW requirements because is
less CPU intensive) on both client and server by optimizing the X11
protocol by means of compression techniques, round trip suppression
and cache algorithms.



The X11 vector graphics mode is convenient to avoid loss of image
quality and can be useful when working with traditional GUIs or large
amount of text, but it's not suggested for multimedia contents or
applications with many graphical effects.



More about the X11 vector graphics mode:
https://www.nomachine.com/AR02L00779



For connections to the physical desktop or when the X11 vector
graphics mode is disabled for virtual desktops (case b) NoMachine
implements the display protocol using a combination of video and image
encoding based on standard codecs and a number of techniques developed
by NoMachine itself.



It also implements a network adaptive display quality technique. This
means that NoMachine will automatically try to reduce the display
quality when it detects that the network is congested. Purpose of this
mechanism is to keep the session responsive through all the different
network conditions.



More about finding the most suitable configuration for multimedia
playing:



https://www.nomachine.com/AR01M00832






Is that "Free as in closed-source advertisement for our paid option" or "Free as in Stallman"?

– pipe
Sep 12 '18 at 13:47






@pipe Somewhere in the middle, I think. I have used the free version for personal use it with much satisfaction, I also was laterally involved and know of big projects that used the free version. The paid version can apparently save some trouble customizing things around in more complex environments from what more experienced people told me.

– Rui F Ribeiro
Sep 12 '18 at 14:14



Thanks for contributing an answer to Unix & Linux Stack Exchange!



But avoid



To learn more, see our tips on writing great answers.



Required, but never shown



Required, but never shown




By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

Edmonton

Crossroads (UK TV series)