New Page 1

# Configuring the server

This page provides a complete list of all the configuration parameters for the Chromium server.

An example of setting a server parameter is:

    	node = CRNetworkNode()
    	node.Conf('optimize_bucket', 0)

Parameter Name | Type | Description
| exit_if_no_clients | Boolean | Determines whether or not the crserver exits when there are no more client connections (or we'd otherwise deadlock on a synchronization call.) The default is 1 (true). | debug_barriers | Boolean | When set, this option prints debugging information related to barriers. The default is 0 (off).
ignore_papi | Boolean | If set, the crserver passes barrier and semaphore functions through to the head SPU, instead of processing them locally. The default is 0 (off).
lightning2 | Boolean | If this flag is set, leave a 2-pixel wide gap between tiles, and draw the strip headers for Lightning-2 for image reassembly. Also, this flag will cause the servers to use Lightning-2's back-channel communication to synchronize their swapping. Currently, this option is mostly unimplemented (only the gaps are left).
local_tile_spec | Boolean | For warped tile sort. XXX more info needed.
only_swap_once | Boolean | If this flag is set, the Chromium server will only execute swap and clear commands from one of the connected clients (whichever connects first). This greatly simplifies the design of a parallel application, and allows parallel applications to run without modification using sort-first or sort-last architectures. When using sort-first, this option should be used in conjunction with the `auto_barrier` option in the `tilesort` SPU. The default is `false`.
optimize_bucket | Boolean | If this flag is set, use a more complex algorithm to compute the set of intersected tiles when a bounds_info packet arrives. This is the same optimized algorithm that is used by the tilesort SPU to determine tile overlaps. This algorithm requires that the tiles all be the same size. The default is 1.
overlap_blending | String | This option specifies which mode the blend geometry for warped tiles (if any) should be used. The valid modes are: 'knockout' - Only draw the overlap regions once. One server will draw the region with full intensity, all others will draw black 'blend' - Draw the overlap regions with various intensities, based on how many tiles overlap the region. This doesn't behave as expected unless you have matched displays. However, using the `'overlap_levels'` option below one can achieve not-too-objectional results
overlap_levels | Array of floats | This should be used with the `'blend'` mode of `'overlap_blending'` above. The i-th index of the array indicates the intensity. Overlap regions outside of the specified range will be drawn at full intensity.
projection_matrix | List of 16 Floats | Specifies a projection matrix to use instead of the normal OpenGL projection matrix (for left view if in stereo mode). Used for non-planar tilesort.
right_projection_matrix | List of 16 Floats | Specifies a projection matrix to use instead of the normal OpenGL projection matrix for right stereo views. Used for non-planar tilesort.
right_view_matrix | List of 16 Floats | Specifies a viewing matrix to premultiply onto the normal OpenGL modelview matrix for right stereo views. Used for non-planar tilesort.
shared_display_lists | Boolean | If zero, all clients connected to the server will get a private pool of display list IDs. If one, all clients connected to the server will share a common pool of display list IDs. The default is one (a shared pool of IDs).
shared_texture_objects | Boolean | If zero, all clients connected to the server will get a private pool of texture object IDs. If one, all clients connected to the server will share a common pool of texture object IDs. The default is one (a shared pool of IDs).
shared_programs | Boolean | If zero, all clients connected to the server will get a private pool of program IDs. If one, all clients connected to the server will share a common pool of program IDs. The default is one (a shared pool of IDs).
shared_windows | Boolean | If true, clients will share windows on the server. Otherwise, every client request for a new window will create a new window that's never shared among clients. Typically would be set for sort-last rendering, or parallel rendering into one window. The default is zero (no window sharing).
spu_dir | String | This option specifies the directory to search for Chromium SPU DLLs. Setting this option is equivalent to calling the `appNode.SPUDir()` function.
use_dmx | Boolean | This should be set to 1 when using DMX. The default is 0.
vertprog_projection_param | String or Integer | This option is useful for programs that use GL_NV_vertex_program or GL_ARB_vertex_program (or Cg) on tilesort configurations. Since tile sorting requires manipulating the projection matrix and vertex programs may use projection parameters passed via generic program parameters, Chromium may be unable to manipulate the projection matrix in the normal manner. This option allows one to give a hint to Chromium as to which program parameters contain the projection matrix information. If vertprog_projection_param is an integer N, then Chromium will assume that (local) program parameters N through N+3 contain the projection matrix. If vertprog_projection_param is a string S and you're using Cg, Chromium will look for S in the vertex program string comments (emitted by Cg) and try to deduce which program parameters contain the projection matrix. In the Cg demo programs, the combined modelview and projection matrix is usually named "ModelViewProj".
view_matrix | List of 16 Floats | Specifies a viewing matrix to premultiply onto the normal OpenGL modelview matrix (for left view if in stereo mode). Used for non-planar tilesort.