Skip to main content

Graphical applications

You can execute graphical applications. To do that there are two ways depending on the purpose. You will need a X server running on your local machine to be able to show the graphical information. Most of the UNIX flavors have an X server installed by default. In a Windows environment, you will probably need to download and install some type of X server emulator. (see Appendices)

Indirect mode (X11 forwarding)

This mode is intended for light graphical applications. It is made by tunneling all the graphical traffic through the established Secure Shell connection. It implies that no remote graphical resources are needed to draw the scene, the client desktop is responsible for that task. The way this communication is implemented implies the emulation of the X11 protocol, which implies a performance impact.

It is possible to execute graphical applications directly or using jobs. A job submitted in this way must be executed with the same ssh session.

In order to be able to execute graphical applications you have to enable in your secure shell connection the forwarding of the graphical information through the secure channel created. This is normally done adding the '-X' flag to your normal ssh command used to connect to the cluster. Here you have an example:

localsystem$ ssh -X -l username mt1.bsc.es
username's password:
Last login: Fri Sep 2 15:07:04 2011 from XXXX
username@nvb127 ~]$ xclock

For Windows systems, you will have to enable the 'X11 forwarding' option that usually resides on the 'Tunneling' or 'Connection' menu of the client configuration window. (See Appendices for further details).

Direct mode (VirtualGL)

This mode is suitable for any graphical applications, but the only way to use it is working with jobs because it is intended for applications which are GPU intensive.

VirtualGL wraps graphical applications and splits them into two tasks. Window rendering is done using X11 forwarding but OpenGL scenes are rendered remotely and then only the image is sent to the desktop client.

VirtualGL must be installed in the desktop client in order to connect the desktop with 'MinoTauro'. Please download the proper version here: http://www.bsc.es/support/VirtualGL/

Here you have an example:

localsystem$ vglconnect -s username@mt1.bsc.es
Making preliminary SSh connection to find a free
port on the server ...
username@mt1.bsc.es's password:
Making final SSh connection ...
username@mt1.bsc.es's password:
[VGL username@nvb127 ~]$ mnsubmit launch_xclock.sh

Jobs like 'launch_xclock.sh' must run the graphical application using the vglrun command:

vglrun -np 4 -q 70 xclock

It is also necessary to mark that job as 'graphical'. See [Job Directives].