=Windows Client=
==Install Cygwin
https://www.cygwin.com/setup-x86_64.exe
Install the following packages:
* xorg-server
* xinit
* xorg-docs
* xlaunch
* x11-fonts-*
* openssh
* rsync
* libturbojpeg
* libturbojpeg-devel
* libturbojpeg1
* wget
* curl
* tmux
Cygwin guide here:
http://x.cygwin.com/docs/ug/setup.html
==Install the VirtualGL Cygwin Libraries
Open the Cygwin Terminal as an administrator. There should be a Cygwin64 Terminal desktop shortcut, right click it and select "Run as administrator".
```
lang=bash
$ wget https://iweb.dl.sourceforge.net/project/virtualgl/cygwin/x86_64/VirtualGL-2.5.2-20170302.tar.bz2
$ bzip2 -d VirtualGL-2.5.2-20170302.tar.bz2
$ tar xvf VirtualGL-2.5.2-20170302.tar
$ rsync -vr ./opt/* /opt/
$ rsync -vr ./usr/* /usr/
```
You should be able to run vglclient now.
```
$ vglclient
VirtualGL Client 64-bit v2.5.2 (Build 20170302)
start-- 440: Could not open display
```
==Configure XWin
Launch XWin from the start menu.
{F917}
Select Multiple Windows > Start no client > Clipboard + Native OpenGL> Save Configuration > Finish
Launch Cygwin Terminal from the XWin Menu in the taskbar.
{F919}
Run vgclient in a tmux session:
```
$ hmux
$ vgclient
VirtualGL Client 64-bit v2.5.2 (Build 20170302)
Listening for unencrypted connections on port 4242
#Create a new session in tmux with ctrl+b c
ssh -Y -C $NETID@server
$ vglrun glxgears #you should see the glxgears 3d application
```
=Linux VGL Server=
==Install NVIDIA Driver
You know what to do.
==Install VGL
Guide:
https://github.com/aancel/admin/wiki/VirtualGL-on-Ubuntu
Direct Link to Downloads:
https://sourceforge.net/projects/virtualgl/files/2.5.2/
Open up a terminal on the client machine and run vglclient:
```
/opt/VirtualGL/bin/vglclient
```
After that connect to you server with the following arguments:
```
ssh -Y -C $NETID@cubix.cse.unr.edu
```
The run the application with VGL:
```
/opt/VirtualGL/bin/vglrun glxinfo
```
===X11 Configuration
```
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "PCI:7:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "ConnectedMonitor" "CRT-0,DFP-0"
Option "CustomEDID" "CRT-0:/etc/X11/edid1.conf; DFP-0:/etc/X11/edid2.conf"
SubSection "Display"
Depth 24
EndSubSection
EndSection
```
==Configuration Files
===edid1.conf
```
00 ff ff ff ff ff ff 00 10 ac 10 d0 55 4a 50 30
1a 12 01 03 68 2b 1b 78 ee 8d b0 a2 54 4a 9c 25
11 50 54 a5 4b 00 71 4f 81 80 01 01 01 01 01 01
01 01 01 01 01 01 21 39 90 30 62 1a 27 40 68 b0
36 00 ae 0e 11 00 00 1c 00 00 00 ff 00 47 32 36
37 48 38 36 50 30 50 4a 55 0a 00 00 00 fd 00 38
4b 1e 53 0f 00 0a 20 20 20 20 20 20 00 00 00 fc
00 44 45 4c 4c 20 45 32 30 37 57 46 50 0a 00 33
```
===edid2.conf
```
00 ff ff ff ff ff ff 00 10 ac 4e 40 49 35 31 30
0e 14 01 03 80 2f 1e 78 ee ee 95 a3 54 4c 99 26
0f 50 54 a5 4b 00 71 4f 81 80 b3 00 01 01 01 01
01 01 01 01 01 01 7c 2e 90 a0 60 1a 1e 40 30 20
36 00 da 28 11 00 00 1a 00 00 00 ff 00 52 38 38
30 4b 30 34 32 30 31 35 49 0a 00 00 00 fc 00 44
45 4c 4c 20 50 32 32 31 30 0a 20 20 00 00 00 fd
00 38 4b 1e 53 10 00 0a 20 20 20 20 20 20 00 57
```