vnc3d/vglconnect – vis
wiki:vnc3d/vglconnect

Using VirtualGL with the VGL Transport (and no VNC)

http://www.virtualgl.org/pmwiki/uploads/Main/virtualgl.gif

VirtualGL is an open source package which gives any Unix or Linux remote display software the ability to run OpenGL applications with full 3D hardware acceleration. The OpenGL commands and 3D data are instead redirected to a 3D graphics accelerator on the application server, and only the rendered 3D images are sent to the client machine.

VirtualGL has two built-in “image transports” which can be used to send rendered 3D images to the client machine. The VGL Transport is most often used whenever the 2D X server (the X server used to draw the application’s GUI and transmit keyboard and mouse events back to the application server) is located across the network from the application server, for instance if the 2D X server is running on the user’s desktop machine.

| more ...

Advantages/Disadvantages of the VirtualGL/VGL Transport

Advantages

  • Every application window appears as a separate window on the user’s desktop.
  • consumes fewer server resources, since the 2D (X11) rendering occurs on the client machine
  • supports stereographic and overlay rendering

Disadvantages

  • The VGL Transport relies on the chatty remote X11 protocol.
    As a result, the VGL Transport is not recommended for use on high-latency or low-bandwidth networks.
    Please use VNC for this
  • As with any remote X11 app, if the network connection drops, then the application will exit.

Using VirtualGL with the VGL Transport requires four general steps.

  1. Install VirtualGL on your local machine.
  2. Start an X Server on your local machine.
  3. Connect to JURECAVIS with vglconnect -s.
  4. Start the application with vglrun.


1. Install VirtualGL …

Before you use can call vglconnect -s <userid>@jurecavis.fz-juelich.de you have to install VirtualGL on your local machine:

| more ...


2. Start an X Server …

Start an X Server on your local machine.

  • Linux
    • your X11 server is used for your standard desktop and should be running already
  • MacOSX
    • start the Mac X11 application
    • in the X11 application, start a new xterm [Command-N] if one isn’t already started
  • Windows\Cygwin
    • start Cygwin/X
    • start a new xterm if one isn’t already started (right-click on the Cygwin/X taskbar icon, then select Applications–>xterm.)


3. Connect to JURECAVIS …

In this scenario any OpenGL commands are computed to a JPEG on JURECAVIS and send to the local machine via the VGL Transport Layer.
The 2D (X11) command are directly passed to the local X server running on your machine.

By default the X11 traffic is encrypted, but the VGL Transport is left unencrypted to maximize performance.
This will fail on JURECA - you need to encrypt the VGL Transport, too, which is forced with the -s flag:

vglconnect -s -bindir /usr/bin <USERID>@jurecavis.fz-juelich.de
  • -s = Tunnel VGL Transport and X11 through SSH (default: tunnel only X11).
  • -bindir <d> = Path in which the VGL executables and scripts are installed on JURECA.

Important:
vglconnect searches for additional VirtualGL-tools in $VGL_BINDIR on your local machine if set.
Elsewise it expects these at a default location which can differ depending on your installation.
(/usr/bin or /opt/VirtualGL/bin - check vglconnect script to know)

| more ...

4. Start the application …

Now you are logged in to JURECA and must start your OpenGL application on JURECA with vglrun:

vglrun <APP>

| more ...


any feedback welcomed - h.zilken@…, j.goebbert@…

Last modified 3 years ago Last modified on 10/03/16 12:42:26

Attachments (1)

Download all attachments as: .zip