41

I need to connect to a headless X Windows server (running on Ubuntu) from my MS Windows 7 computer over a 100 Mbit network. I could use VNC (or any other remote viewer) but the 3D graphics performance would be lousy I imagine. I used to have it hooked up to a monitor, but that's broken now and I can't afford a new one. A friend advised that I could try and use an X client, and that the 3D graphics wont suffer too much over 100 Mbit. Cygwin seems to be an option, but I was wondering if there were any more lightweight options.

closed as off-topic by a CVn, DavidPostill, fixer1234, Kevin Panko, Nifle May 26 '15 at 11:51

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking product, service, or learning material recommendations are off-topic because they become outdated quickly and attract opinion-based answers. Instead, describe your situation and the specific problem you're trying to solve. Share your research. Here are a few suggestions on how to properly ask this type of question." – a CVn, DavidPostill, fixer1234, Kevin Panko, Nifle
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    There is something I call the physical terminology, that is servers (think of the machine) have a keyboard and a screen (and sometimes a mouse). However, they provide services to other users and machines (dhcp, dns, mail...), but that is what I call the virtual terminology. In the case of X, the server is taking your input (physical) and providing you with access to remote applications and services (virtual). So applications you run (on Linux) connect to the server (on Windows), and send their commands to the server, which draws them on the screen for you. Hence why it is a server you need. =) – Wolf Jan 22 '10 at 16:02
  • 3
    Extremely annoying community policing here. This is EXACTLY a question I would have liked the answer for, but some over-eager moderator-trolls have closed the frikkin' question. Which has a respectable 33 stars, and whose top answer also respectable 26. When is this crap gonna stop?? – stolsvik Nov 8 '17 at 14:06
32

Xming is popular and free, although since I use the rest of Cygwin anyway, I tend to use Cygwin's X server.

Oh and by the way, the client/server terminology in X seems backwards until you think about it the right way: servers are the things that provide a display service; they display the graphics and take mouse/keyboard input (like your Windows box); clients are the programs (running on Ubuntu in your case) that need the display service.

  • Nice thanks for the info. Installed that now, just need to figure out how to use it. – Nick Bolton Jan 22 '10 at 15:38
  • 5
    To use Xming, SSH into your Ubuntu box with PuTTY, but make sure to check "Enable X11 Forwarding" under the Connection > SSH > X11 section. Set the display to localhost:0 (IIRC), and then startup the programs you want. Good luck! – Steiv Jan 22 '10 at 17:27
  • @Steiv: Works for me! Thanks! – Le Quoc Viet Apr 12 '17 at 18:57
  • I've used Xming a lot in the past. But I just installed it on a new computer and had, well, issues. I wanted to add the Windows fonts, but the requisite commands aren't there. Then I noticed that it hasn't been updated since 2007! I'm gonna give VcXsrv a try. – Isaac Rabinovitch May 21 '17 at 5:09
  • That's a bad choice. Xming fails silently if you run into problems, leaving you to guess what is wrong. The log is useless. – Paulo Carvalho Dec 3 '18 at 10:35
19

As of 2015, I'd favor VcXsrv Windows X Server after using Xming for years.

It's free, it's open-source, and 64-bit versions are offered.

  • Note that it's just Xorg built using MSVC instead of GCC – Johan Boulé Jul 30 '15 at 15:12
  • 1
    The SF page introduces it as follows: "Windows X-server based on the xorg git sources (like xming or cygwin's xwin), but compiled with Visual C++ 2012 Express Edition." - Recent versions of XMing (Xorg) are only available for paying members. Thats where VcXsr enters the stage. – Gernot Krost Aug 1 '15 at 14:16
  • 2
    sourceforge hosted. Not touching with a barge pole. edit: someone else has the same concern. Here's a fork on GitHub addressing that and other issues: github.com/ArcticaProject/vcxsrv – tjmoore Dec 4 '16 at 12:24
  • @tjmoore that fork seems to be dead; SF mirror on github: xqq/vcxsrv – Gernot Krost Jun 17 '18 at 12:45
3

I tried transmitting 3D graphics over the network one time and figured out one thing: performance is bad. This happens because all accelerated graphics drivers do not really transmit any 3D data through the network (even if this is loopback or even UNIX abstract socket) but do some direct rendering.

The configurations I tested included both Xming (Xming is really ported Xorg) on Windows + X clients on Linux and both Xorg and clients on Linux. Network was 100Mbit, graphics card was NVidia GeForce FX 5200 (that's not a very recent card, but it definitely can handle glxgears), and both computers have PIV class processors and around 1Gb of RAM through for these two limits were not reached.

I started glxgears as a client. In both cases it displayed very chopped animation and FPS values around 30 or 50. To compare, I also run glxgears native and it showed around 8000 on Linux host and IIRC 500 on Xming with ported glxgears (that was about a year ago and Xming performance may be better now). So network performance is definitely the bottleneck for 3D graphics.

Also I must note that VNC operates only with 2D graphics: it has a very simple protocol that consists mostly of commands like "show this rectangular image on that coordinates", so it definitely won't show any 3D performance.

  • Nice answer. I wonder if gigabit ethernet improves performance... – Nick Bolton Jan 27 '10 at 17:08
  • It should: multiply everything by 10. – whitequark Jan 27 '10 at 17:49
  • I think "mutliply by 10" is a dangerous assumption (although I've never made a comparison). Much of why X sucks so much is latency, and its inability (xcb makes it a bit better) to hide that latency. Bandwidth is not so much a concern since the amount of data is small. Latency (speed of light, and switching delay) is exactly the same on GbE. Assume a 1ms latency round-trip, for realtime graphics that is 1/16 of a frame's time just "gone", that's a huge impact. – Damon Sep 5 '17 at 11:27
2

It sounds like VirtualGL is the kind of thing you're looking for, though I know even less about it than the Wikipedia article. Good luck!

1

You might want to try Xming. Also, check out this LinuxJournal article, which gives a lot of info on the subject.

Note that on Linux, for security reasons, xdmcp is not enabled by default. For added security, I recommend you encrypt your connection using SSH. See this section from TLDP for more information about how to set everything up.

Not the answer you're looking for? Browse other questions tagged or ask your own question.