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.
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.
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.
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.
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!
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.