At ArrayFire, we constantly encounter projects that require OpenGL and run on a remote server that does not have a display.
In this blog, we have compiled a list of steps that users can use to run OpenGL full profile applications over SSH on remote systems without a display.

A few notes before we get started.
<ul>
	<li>The first part of the blog that shows the configuration of the xorg.conf file it limited to NVIDIA Quadro and Tesla cards (with display).</li>
	<li>NVIDIA GeForce cards do not support this functionality.</li>
	<li>AMD cards support this capability without the modification of xorg.conf file.</li>
	<li>For now, we will show the working of this on Linux.</li>
</ul>

Requirements:
To run the tool, you will need libGL.so, libX11.so, and libGLEW.so (to us glGetString). Another tool I would recommend strongly is glewinfo. Most linux distributions ship this with the glew-utils package.

Part 1: Setting up X (NVIDIA Only)
To get X to run on NVIDIA cards, we need to make a small change to the xorg.conf file. Before making the change, make sure you create a back up of the current version on your system.
Open xorg.conf (located in /etc/X11/xorg.conf). Look for "Section Device". You NVIDIA card should be listed here. Add this line before the end of the section: <code>Option         "UseDisplayDevice" "none"</code>. If you have more than one NVIDIA card listed, add this line to all the cards. Save and close the file and restart the system.

Part 2: Login and Initial Diagnosis
