SourceForge has been redesigned. Learn more.

Cygwin/X Testing and Info

  • Sean Ziegeler

    Sean Ziegeler - 2006-04-04

    Great software!  Incidentally, I was considering implementing something very similar (though with significantly fewer features) that would work with Low-Bandwidth X (LBX).  This is even better.  Fortunately, I did some googling first. :)

    The documentation mentions Hummingbird extensively for Windows, but I didn't see any mention of Cygwin/X.  From what I can tell, it should work in theory.  Unless someone happens to know that it does not work, I'm planning on testing it.  I can post my results here later, if desired.


    • DRC

      DRC - 2006-04-04

      You'll need to rebuild the client from source using Cygwin, but you're right -- it should work, in theory.  You'll also want to look into enabling cygserver, because that's the only way you can get XShmPutImage() to work on Cygwin (Using XShmPutImage() provides about a 4X improvement in VirtualGL's drawing performance.)

      The main reason why we use Hummingbird at the moment is that it has the best performance and supports transparent overlays and stereo.  But I'd certainly consider any alternatives that had similar performance and features.


    • DRC

      DRC - 2006-04-04

      Also, you'll probably want to use the source from the CVS head.  The currently posted tarballs are rather stale.  I'm working on releasing 2.0 beta1, but ironically enough, it's being held up by an Exceed issue.

    • Sean Ziegeler

      Sean Ziegeler - 2006-04-05

      Ok, thanks for the information. 

      The server will be RHEL 3 on dual Opterons with NVidia Quadro FX 3400's.  Should I use the CVS head for that as well, or the RPM's from 1.x?

      • DRC

        DRC - 2006-04-05

        I'm trying to get 2.0beta1 out before the end of the week.  I'd recommend using 2.0dev1 on the server in the meantime.

    • DRC

      DRC - 2006-04-06

      Well, apparently theory and reality weren't quite equal in this case.  :)  I had to make a few changes to the makefiles to get it to build cleanly on cygwin.  The changes are checked in and should work now.

      This solution is a bit of a kludge at the moment.  Building under Cygwin using the Intel Performance Primitives is a Catch 22 -- you can't link against IPP unless you use MinGW mode (cc -mno-cygwin), but you can't link against the Cygwin X11 libs unless you don't use MinGW mode.  So for the moment, it's necessary to build the Cygwin version of VGL using libjpeg (which is a lot slower than IPP.)  You can then copy over turbojpeg.dll from a released version of VirtualGL to speed things up.

      Quick & dirty how-to:
      1) Start a Cygwin shell
      2) Check out VirtualGL from the CVS head (see web-site for details)
      3) cd vgl
      4) make platform=cygwin
      5) /usr/bin/cygserver-config
         (answer yes)
      6) cygrunsrv -S cygserver
      7) export CYGWIN=server
      8) startx

      You should now have an xterm.  In this xterm:

      9) xhost +{VirtualGL_server_machine}
      10) cd {wherever_you_built_VirtualGL}/cygwin/bin
      11) ./vglclient

      The above assumes that you have the necessary Cygwin packages installed (OpenSSL, libjpeg, X11 headers/libs, etc.)

      Once 2.0beta1 is released, you can copy the turbojpeg.dll out of there into vgl/cygwin/bin (or I'll send you a copy in E-Mail if you need it sooner), and it should work.  Unfortunately, the version from 1.0 won't work, because some of the symbol definitions changed.

      • Sean Ziegeler

        Sean Ziegeler - 2006-04-06

        Hey, thanks for all the effort!  No rush on the dll.  I'll wait for the 2.0beta1 release.  In fact, I'll wait for the beta for the server as well.  I would imagine any feedback would be more useful to you that way.  Besides, it makes our sysadmins happier when I can give them RPM's. :)

    • DRC

      DRC - 2008-10-22

      Note that Cygwin/X is officially supported in VGL 2.1 and later.  See vgl/BUILDING.txt for instructions on how to build a Cygwin VirtualGL package.  We will begin releasing Cygwin package binaries with VGL 2.2.