6

I don't know much about X-Windows. Sometimes I run a remote X-windows session to an HP DL380 host from my MacBook Pro on the same LAN. I'm using X11 forwarding with the ssh -X option. The X-Windows performance is kind of slow. How can I speed this up? Can I install a video card in the HP DL380 to speed up performance? Is there another way?

Michael Hampton
  • 244,070
  • 43
  • 506
  • 972
  • From all that I understand about X, a better/newer video card shouldn't make remote rendering better, but I am hoping someone can chime in with more info, great question. – Tim Jan 24 '12 at 21:20
  • 2
    The location of the _server_ when it comes to X is counterintuitive to some people. For clarity, specify in your question which machine you want to install the card on: the machine running the program(s) or the machine with the display, keyboard, and mouse. – JdeBP Jan 24 '12 at 21:23
  • From what I understand, the application will run on the remote host but the X-Windows server will run on the local host, which in this case is the MacBook Pro. – Nathan Farrington Jan 25 '12 at 01:15
  • Try `ssh -CX`. The -C helps a lot. – pzanoni Apr 04 '12 at 16:02

4 Answers4

4

Short answer, No, X is a brain dead protocol. Why X isn't dead by now is astonishing. (I had high hopes for display postscript but that went nowhere...). In X-windows the "Server" is your Mac. The client is the application you are running. X tells your Mac what to render and the Mac does all the work on drawing the screen. At best it's possible that should it be possible to get a better card for your Mac, you might increase performance- but not by much. X "accelerators" like NX work by compressing and caching X calls (essentially replacing X with a better protocol)

Jim B
  • 24,081
  • 4
  • 36
  • 60
4

See http://www.miscdebris.net/blog/2007/06/01/speed-up-ssh-x11-forwarding/ and copied below for a really useful tip on how to speed up X11 forwarding. It made a huge difference for me, even over our 100-Mbit LAN.

Speed up SSH X11 forwarding Posted June 1st @ 9:50 by Werner

I use an Ubuntu server as a work-horse for my calculations and connect from my desktop-pc with ssh to the server. For some applications (gnuplot =) this is really slow altough it’s over LAN. I found on the internet some instructions to improve this situation: instead of the AES cipher the arcfour and blowfish ciphers perform much better and switching on compression also doesn’t hurt. Therefore one should use

ssh -c arcfour,blowfish-cbc -XC host.com

to connect to with ssh. And guess what? This really improves the situation, especially for gnuplot. Thanks Samat!

A.L
  • 126
  • 1
  • 8
Ian Crew
  • 41
  • 1
  • 1
    This made my remote X app go from sludge to thin mud thanks! Makes it bearable. – Kuberchaun Jun 17 '15 at 14:07
  • +1, thanks! I found that `arcfour` and `blowfish-cbc` aren't supported by my client and server 8 years later, but `-C` alone is a big win. (I tried a few currently supported ciphers (from the output of `ssh -Q cipher`, filtered to what the server supports), but I didn't notice any performance differences.) – Chris Povirk Jun 17 '20 at 14:25
1

X should be fast enough on a LAN so your problem may be elsewhere. However, you could try to X acceleration software such as NX or VNC.

Mark Wagner
  • 18,019
  • 2
  • 32
  • 47
  • 1
    VNC is not an X11 accelerator. It's a completely different protocol which basically amounts to a continuously-updated screenshot. – Wyzard Jan 25 '12 at 06:01
  • Here as a [presentation](http://vis.lbl.gov/Presentations/2008/AcceleratingRemoteDisplayPerformanceForGUIBasedApplications.pdf) comparing X, VNC, and NX. The performance of VNC and NX is about the same. X "should" perform very well over a LAN too based on these reported RTT measurements. But you are right, the best way to speed up X is to use NX or VNC. Thanks! – Nathan Farrington Jan 25 '12 at 08:21
1

No, the X window is rendered on the client.

tomstephens89
  • 1,011
  • 1
  • 12
  • 24