-
Notifications
You must be signed in to change notification settings - Fork 20
Clustering
PolyVR enables the deployment of applications on distributed visualisation environments. Such a system is a cluster of workstations connected over network. Each workstation can have one or more graphic card needed for all the displays of the virtual environment setup. Typical systems are CAVEs or tiled power walls.
To setup your cluster environment you will need:
-
OpenSG cluster server on each node, for each graphic card
- Install OpenSG on each node
- A suitable server can be found in the OpenSG examples or from PolyVR
- src/cluster/VRServer # the application
- src/cluster/start slave1 # start script, pass a name for multicast
-
Configure PolyVR, open the 'Setup' tab
- Add a Network Node and slave
- RMB > add > node
- RMB > add > slave
- Add a cluster window
- RMB > add > window
- Configure how many tiles the window has, Nx/Ny
- for each entry (Nx*Ny), write the slave identifier, you can find it in the slave config.
- Add a Network Node and slave
This only works with Quaddro graphic cards and G-Sync
-
Configure all X server on each Node, the goal is to make them listen on port 6000
- Execute
xhost+to allow the other nodes to access the X server- Make this persistent by adding it to
nano ~/.xprofile - Make the file executable
chmod +x ~/.xprofile
- Make this persistent by adding it to
- Config file
/etc/gdm3/custom.conf[security] DisallowTCP=false
- There is an issue with recent X, it doesnt start listen on tcp automatically as it used to..
- it might in this case be necessary to "hack" it, bypassing GDM
-
sudo nano /usr/bin/Xorg, just add-listen tcpto both commands
- restart gdm
sudo systemctl restart gdm, check with nmap or netstat
- Execute
-
Tests for debugging:
-
nvidia-smidisplays the graphic cards and driver version -
netstat -an | grep 6000check if there is something running on port 6000, should be the X Server deamon -
nmap -p6000 127.0.0.1check port 6000 related stuff -
sudo iptables -A INPUT -p tcp --dport 6000 -j ACCEPTopens the port 6000 in the firewall -
nvidia-settings -c :0 -q [gpu:0]/RefreshRatecheck the nvidia screens/displays -
nvidia-settings -c :0 -q REMOTE_COMPUTER:0[gpu:0]/RefreshRatecheck if you can access a remote x server -
ps ax | grep Xshows the command the X Server was started with, check TCP related options!
-
-
Once the X server configured follow this guide to create a framelock script:
https://download.nvidia.com/XFree86/Linux-x86_64/295.59/README/framelock.html