# # This file is read by nanoscale to determine which ports to listen # to and the how to start the associated render server. # # Render servers # # Server Port Usage # ====== ==== ===== # nanovis 2000 production # vtkvis 2010 production # geovis 2015 testing # vmdshow 2018 testing # pymolproxy 2020 production # # The syntax is # register_server ?? { # commands... # } { # variables... # } # # Registers a server by at port . # When a connection is made to , is run. # Environment variables will be set before executing command. # # Note: Don't set DISPLAY here. nanoscale itself sets the DISPLAY # variable. # # Defaults: # o Server reads from file descriptor 0. # o Server writes to descriptor 1. # o Server stdout and stderr are redirected to a log file. # set exec_prefix "@exec_prefix@" set bindir "@bindir@" set libdir "@libdir@" # GeoVis server (port 2015) -- # Map renderer # register_server geovis 2015 \ -output 3 -logstdout no -logstderr no \ { ${bindir}/geovis -o 3 -p ${libdir}/resources } { LD_LIBRARY_PATH ${libdir} OSGEARTH_DEFAULT_FONT /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf __GL_SYNC_TO_VBLANK 0 } # NanoVis -- # Server Type Volume renderer # Port 2000 # Threaded yes # Notes: # o Continue to use default options until we offically upgrade # nanovis to the latest release. We are currently using a 1.2 # version of nanovis. # o Requires change to 1.2 nanovis. Can't redirect stderr to log # or X will complain about performing socket operation on non-socket # descriptor. # register_server nanovis 2000 \ -output 3 -logstdout no -logstderr no \ { ${bindir}/nanovis -o 3 -p ${libdir}/shaders:${libdir}/resources } { LD_LIBRARY_PATH ${libdir} __GL_SYNC_TO_VBLANK 0 } # VtkVis -- # Server type 3D drawings (scene graphs). Contour and surface graphs. # Port 2010 # Threaded yes # Notes: # o Removed ${vtkdir} from LD_LIRBRARY_PATH. Not needed with VTK 6. # o Using new features in nanoscale/vtkvis to use file descriptor 3 # for server output. No automatic logging of stdout and stderr. # register_server vtkvis 2010 \ -output 3 -logstdout no -logstderr no \ { ${bindir}/vtkvis -o 3 } { LD_LIBRARY_PATH ${libdir} __GL_SYNC_TO_VBLANK 0 } # PymolProxy -- # Server type Molecular layouts using Pymol viewer. # Port 2020 # Threaded yes # Notes: # o Need PYMOL_SITE_PATH for parallelpiped box.py location. # o Makes no sense to log stdout and stderr of the proxy. # o Renamed to just pymolproxy and removed non-threaded entry. # register_server pymolproxy 2020 \ -logstdout no -logstderr no \ { ${bindir}/pymolproxy ${bindir}/pymol -p -q -i -x -X 0 -Y 0 } { PYMOL_SITE_PATH ${libdir}/pymol LD_LIBRARY_PATH ${libdir} __GL_SYNC_TO_VBLANK 0 } # VmdShow -- # Server type Molecular layouts using VMD viewer (for mdshowcase). # Port 2018 # Threaded no # Notes: # o Commands are sent directly to the VMD process that uses custom # TCL code to process. # o Redirect input to descriptor 3: Otherwise VMD will get select hit. # o Redirect output to descriptor 4: Lots of information written to # stdout and stderr of VMD. Captured in log file. # o Executing binary without wrapper shell script. Requires VMDDIR set. # o Meshing programs surf and msms require explicit environment variables. # o __GL_SYNC_TO_VBLANK probably doesn't matter. # o Client doesn't send data files to VMD, but file paths. Unlikely # client will block on a large write. # register_server vmdshow 2018 \ -input 3 -output 4 -combinelogs yes \ { ${libdir}/vmd/vmd_LINUXAMD64 -startup ${libdir}/vmd/vmdserver.tcl \ -args -stdio } { VMDDIR ${libdir}/vmd SURF_BIN ${libdir}/vmd/surf MSMSSERVER ${libdir}/vmd/msms STRIDE_BIN ${libdir}/vmd/stride LD_LIBRARY_PATH ${libdir} __GL_SYNC_TO_VBLANK 0 }