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.

  • 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. =)
    – Signal
    Jan 22, 2010 at 16:02
  • 7
    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, 2017 at 14:06
  • You have mixed up server and client: Often done with X11. Server does not mean remote. In your case the remote is an application server, where the X11 clients run. Locally you will have an X11-server (display, keyboard, mouse, screen). Jun 23, 2020 at 9:32

5 Answers 5


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. Jan 22, 2010 at 15:38
  • 6
    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, 2010 at 17:27
  • 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. May 21, 2017 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. Dec 3, 2018 at 10:35

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.

  • 1
    Note that it's just Xorg built using MSVC instead of GCC Jul 30, 2015 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
    Aug 1, 2015 at 14:16
  • 5
    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, 2016 at 12:24
  • @tjmoore That fork is now abandoned and refers back to original vcxsrv on SourceForge. It's very odd to reject a project just because of where it's hosted: there's nothing fundamentally wrong with SourceForge, yes it's clunky but reliability of each project just depends on whoever the developer is - just like GitHub. In fact it's good GitHub doesn't (quite) have a monopoly on open source forges. Oct 4, 2020 at 3:13
  • 1
    @ArthurTacca at the time I'd posted the comment, SourceForge were bundling junk/malware into installers. It was not safe to download from SourceForge. It appears that has changed now. howtogeek.com/218764/…
    – tjmoore
    Oct 20, 2020 at 11:47

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... Jan 27, 2010 at 17:08
  • It should: multiply everything by 10.
    – whitequark
    Jan 27, 2010 at 17:49
  • 2
    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, 2017 at 11:27

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!


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.