This chapter explains how to configure OpenGL Vizserver. The following topics are covered:
“Graphics Pipe Allocation Guidelines”
![]() | Note: In this chapter, the term XDM means any X display manager running on a server machine— xdm on IRIX servers and gdm on Silicon Graphics Prism servers. |
In most cases, no additional configuration needs to be done to the default configuration of the OpenGL Vizserver server before using it (see the vsserver(1m) man page). However, in some cases, you might want to configure the server for your environment's specific needs. This section describes how to configure the server using vsconfig.
Setting up the network between the OpenGL Vizserver client and server will not be discussed here. For that information, see the IRIX Admin: Networking and Mail manual.
Configuring the OpenGL Vizserver server can be done manually or by using the graphical configuration tool called vsconfig. As shown in Figure 2-1, the vsconfig tool provides an easy-to-use GUI for OpenGL Vizserver server configuration.
To launch the vsconfig tool, enter the following command as a root user:
# vsconfig |
The initial screen of the configuration GUI shows the current status of the vsserver in your system. If there is no vsserver running on your system, the intial screen will appear as shown in Figure 2-1.
If you already started vsserver and have it running on the system, the result would be as shown in Figure 2-2.
You can start and stop the OpenGL Vizserver server by pressing the Start or Stop button on the Start / Stop Server panel.
Pressing the Start button from the status shown in Figure 2-1 will give you a window as shown in Figure 2-2.
Once the OpenGL Vizserver server manager is running, you can start to use OpenGL Vizserver right away. For the instructions about how to use OpenGL Vizserver, see the OpenGL Vizserver User's Guide.
You can also start and stop the OpenGL Vizserver server using the command line interface.
To check whether the OpenGL Vizserver server manager is running, enter the following command:
$ ps -ef | grep vsserver |
To stop the OpenGL Vizserver server manager (vsserver), enter the following command:
# /etc/init.d/vizserver stop |
To start vsserver, enter the following commands:
# chkconfig vizserver on # /etc/init.d/vizserver start |
When a user starts an OpenGL Vizserver session, one or more graphics pipes need to be allocated for the session by the OpenGL Vizserver server manager. All graphics pipes allocated for a session are used by the session's X server, although it might be the case that only a subset of these pipes are actually being served by OpenGL Vizserver. The status of the Active Screens check boxes in the Session Start window of the client determines which pipes/screens are served. See “Graphics Pipe Allocation Guidelines” for more details.
One case in which a graphics pipe does not need to be allocated for a session is when a user with a local X server on the server machine starts a collaborative session. In this case, OpenGL Vizserver uses the graphics pipes that are managed by a local X server.
At startup, vsconfig extracts the number of graphics pipes resident in the system, the graphics type, the X server name, and the display size associated with each pipe. This information is shown in the top half of the Graphics Pipes panel, as shown in Figure 2-3.
A graphics pipe in a system can be in one of the following three states:
Managed by the X display manager. This means that an X server defined in the configuration file of the X display manager is using the graphics pipe.
Managed by OpenGL Vizserver. This means that the graphics pipe is not managed by XDM and the value of the Pipes managed by OpenGL Vizserver radio buttons is either All available or Specified.
Unmanaged. This means that neither XDM nor OpenGL Vizserver manages the graphics pipe.
The system in Figure 2-3 has three graphics pipes. Pipe 1 is used by X server (:0), that is, managed by XDM. And pipes 0 and 2 are not managed by XDM. So, OpenGL Vizserver can use pipe 0 and pipe 2 for itself.
The bottom half of the panel shows the current configuration of XDM and OpenGL Vizserver in the two-dimensional array format. Each row represents a graphics pipe and each column represents OpenGL Vizserver or one of the X servers. If there are k graphics pipes in your system, the system can have at most k X servers, assigning one pipe to one X server. Of course, you can put all the pipes in one X server. X server numbers usually start from 0.
The OpenGL Vizserver can use XDM managed pipes radio buttons are related to dynamic pipe allocation. See “Graphics Pipe Allocation Guidelines” for more details.
The Pipes managed by OpenGL Vizserver radio buttons specify how the OpenGL Vizserver managed pipes are determined. None means that no pipes are managed by OpenGL Vizserver; All available means that every pipe that is not managed by XDM is managed by OpenGL Vizserver; and Specified means that pipes that are specifically selected are managed by OpenGL Vizserver. In the last case, the Vizserver column in the bottom table is enabled for pipe selection.
To allocate or deallocate a graphics pipe, click the square corresponding to the graphics pipe and the server that you want to set up. The allocated one becomes a red-colored square. Press the Configure button. This will overwrite your current /var/X11/xdm/Xservers file.
For details about the X server, see the following man pages:
xdm(1)
Xserver(1)
gdm(1)
XFree86(1)
The values in the Configuration Values panel, as shown in Figure 2-4, are from entries of the /var/vizserver/config file. If this file does not exist, vsconfig will use its internal default values to set the fields in the panel. Usually you do not need to change these values, but there are some entries that you might want to modify depending on your system.
The Session Kill Notify edit box is enabled only if the Reservation System radio boxes are in Active state.
For a more detailed description of each entry, see “The /var/vizserver/config File”.
Users on the machine where the OpenGL Vizserver server is running can use OpenGL Vizserver by default, but if the entry Vizserver*UserDBStrictInterp in /var/vizserver/config is set to True, they should be listed in the user database file. See “The /var/vizserver/config File” for more details.
This section describes how to add, delete, or modify a user in the user database file by using vsconfig.
All the operations on Adding/Modifying/Deleting a user will not update the /var/vizserver/users file until you save them by selecting File > Users > Save users. They are updated on the internal database of vsconfig.
For more details about the /var/vizserver/users file, see “The /var/vizserver/users File”.
Select Add a User to view that panel, as shown in Figure 2-5.
To add a new user for OpenGL Vizserver, fill in the blanks and press the Add button.
The user's login name should be the same as given in the /etc/passwd or NIS password database if enabled.
The number of X servers is the number of active X servers allowed to this user. Since each X server requires at least one graphics pipe, you cannot have more X servers than the number of grahics pipes in your system.
The number of pipes are the maximum number of pipes assigned to this user. Again, the user cannot have more pipes than the number of graphics pipes in the system. So, a brief line next to these fields (1 <= N <= k), where k is the number of graphics pipes in your system and is automatically configured depending on the system, is helpful to help decide which number to put into these fields.
To save your work, select File > Users > Save users.
Select Modify a User to view that panel, as shown in Figure 2-6.
To modify the number of X servers or pipes assigned to a user, choose the user's login name from the pulldown list by clicking a downward-pointing arrow. Change the values in these fields as needed. Press the Modify button to save your work.
Select Delete a User to view that panel, as shown in Figure 2-7.
To delete a user from user database, select a user from the pulldown list by clicking a downward-pointing arrow. Press the Delete button.
OpenGL Vizserver provides a reservation mechanism that allows a user of the OpenGL Vizserver system to reserve a pipe at a specific time slot. To use this mechanism, you must have the vizserver_server.web module and either Netscape Fasttrack or SGI Apache web server installed.
In the Configuration Values panel of vsconfig, select the Active radio button of the Reservation System field. Then the Session Kill Notify (sec.) field becomes visible, as shown in Figure 2-8.
Making the Reservation System active means that a reservation is required for a user to start a session. Session Kill Notify indicates how many seconds before the end of a session a warning message is sent to the user.
The installed web interface is configured to work under the Netscape Fasttrack or SGI Apache web servers. A sample reservation web interface can be started from the following URL:
http://remote-host/vizserver/reservation
For remote-host, specify the OpenGL Vizserver server's hostname. For more details about how to use the reservation web interface, see the OpenGL Vizserver User's Guide.
You can configure the web interface to work with other web servers. To do so, you must ensure the following:
All the CGI files must be in the same directory.
The index.html file must redirect the web browser to welcome.cgi. If welcome.cgi is moved, index.html should be edited accordingly.
The Reservation*ImagePath entry in /var/vizserver/reservation_client.conf must point to the directory that holds the images.
For more details, see “The /var/vizserver/reservation_client.conf File”.
This section describes the following OpenGL Vizserver server configuration files:
The vsadmin command can be used to load the server's configuration files dynamically after changing the values in them.
The /var/vizserver/users file contains a list of user login names that are allowed to connect to the OpenGL Vizserver server. Each entry is listed in a separate line and has three fields separated by colons, as follows:
name:servers:pipes |
The default configuration of the OpenGL Vizserver server is to allow users who can log in to the machine to use OpenGL Vizserver without any limitation on the number of pipes. If you want to change this access scheme, set the value of Vizserver*UserDBStrictInterp in the /var/vizserver/config file to True and add users in this file. Then only the users listed in this file can use OpenGL Vizserver with the number of pipes assigned to them.
name:
This entry specifies the user's login name as given in /etc/passwd or NIS password database if enabled.
User must have the access to use the system first.
servers:
This entry specifies the number of active X servers allowed to the user. In practice, a user cannot have more than one X server.
Cannot be empty.
Since an X server needs at least one graphics pipe, the number cannot be greater than the number of graphics pipes that the server system has.
pipes:
This entry specifies the maximum number of pipes assigned to the user.
Cannot be empty.
The number cannot be greater than the number of the graphics pipes on the server system.
When you install a new version of the OpenGL Vizserver server module, the old /var/vizserver/users file is kept, unchanged, and a new one is installed as /var/vizserver/users.N.
The /var/vizserver/config file contains entries in the following format:
Vizserver*entry: value |
Generally default values in this file are enough to start the OpenGL Vizserver server manager and you do not need to modify entries in this file. But if you want to customize your system for your specific needs, you can change them by using vsconfig or by modifying this file manually. It is recommended that you use vsconfig.
Vizserver*UserDBPath:
This entry specifies the location of the user database file.
The default value is /var/vizserver/users.
Vizserver*UserDBStrictInterp:
This entry specifies whether only users from the user database can use OpenGL Vizserver.
If True, a user should be listed in the user database file to use OpenGL Vizserver. For information on how to add a user in the database file, see “Allocating Graphics Pipes for OpenGL Vizserver”.
Setting this to False means that if a user does not exist in the user database file, that user is still allowed to use OpenGL Vizserver without any limit on the number of servers and pipes.
The default value is False.
Vizserver*AuthType:
This is the user authentication mechanism to be used by the server.
The authentication mechanisms provided with the server are AUTH-PASSWORD and AUTH-PAM. See section “User Authentication” for more details about these two mechanisms.
Depending on your specific needs, other authentication modules can be developed using the OpenGL Vizserver authentication API.
The default value is AUTH-PASSWORD on IRIX servers and AUTH-PAM on Silicon Graphics Prism servers.
Vizserver*AcctPath:
Vizserver*SessionPath:
Vizserver*SessionMgrPath:
This entry specifies the OpenGL Vizserver session manager path.
This is run by the OpenGL Vizserver server manager when a session is started.
The default value is /usr/vizserver/bin/vssession.
Vizserver*XDMConfigPath:
This entry specifies the XDM configuration file, which specifies resources to control the behavior of XDM.
OpenGL Vizserver gets a value from the DisplayManager*servers field in this file because it is a system-wide default X server file, usually /var/X11/xdm/Xservers, used by XDM.
This entry does not affect Silicon Graphics Prism servers.
The default value is /var/X11/xdm/xdm-config.
Vizserver*UseXDMPipes:
This entry specifies whether OpenGL Vizserver can use XDM-managed graphics pipes for its sessions.
If False, this activates static pipe allocation mode. See “Graphics Pipe Allocation Guidelines” for more details.
This corresponds to the OpenGL Vizserver can use XDM managed pipes radio buttons in the Graphics Pipes panel of vsconfig.
The default value is True.
Vizserver*Boards:
This entry defines the set of graphics pipes available to the OpenGL Vizserver server manager.
There are three possible scenarios:
The graphics board numbers can be determined by examining the report from gfxinfo(1G).
The default value is all.
Vizserver*DisplayOffset:
This entry specifies the base display offset number for the X server started by an OpenGL Vizserver session.
X server issued by XDM starts its number from 0.
The maximum number of graphics pipes in a system is 32. So the biggest number for an XDM X server would be 31.
The default value is 32.
Vizserver*ServerCommand:
This entry specifies the command-line entry for the X server started by an OpenGL Vizserver session.
The default value differs among the various SGI servers.
Silicon Graphics Prism servers use the following XFree86 command line:
/usr/bin/X11/x <display> -xf86config <config> -layout <layout> -ac |
Onyx4 servers use the following XFree86 command line:
/usr/bin/X11/x <display> -devdir <input> -xf86config <config> -layout <layout> |
Other SGI servers use the following Xsgi command line:
/usr/bin/X11/X <display> -boards <boards> -devdir <input> -bs -nobitscale -depth 8 -class PseudoColor -c -solidroot sgiblue -cursorFG red -cursorBG white |
The <display>, <boards>, <config>, <input>, and <layout> parameters are replaced by OpenGL Vizserver in run time. Modify only the parts of the command line that does not involve these parameters (from -bs onwards).
Vizserver*Admins:
This entry specifies a comma-separated list of user login names that have administrative access to the OpenGL Vizserver server manager.
The user listed in this field can kill sessions on the server as well as update server configuration changes in the /var/vizserver/config file or XDM configuration.
The default value is root.
See the vsadmin(1) man page.
Vizserver*SessionPortBase:
This entry specifies the base port that OpenGL Vizserver should use when starting a session.
Each session uses three ports (base + 3 x pipe, base + 3 x pipe + 1, and base + 3 x pipe + 2), where base is the value of this entry and pipe is the graphics pipe number that the session is running on. For example, if the SessionPortBase is 0x2000 and a session is running on pipe 0, the session uses ports 0x2000, 0x2001, and 0x2002.
Total 3 x npipes number of ports should be opened in the server's firewall to enable access through firewalls, where npipes is the number of graphics pipes in the server.
OpenGL Vizserver listens on port 7051 (0x1b8b) for initial connections.
The default value is 0x2000.
Vizserver*ReservationPath:
This entry specifies a mdbm database file path for reservation data.
The default value is /var/vizserver/reservations.
Vizserver*ReservationActive:
If True, a reservation is required for a user to start a session.
If False, a user can start a session using any graphics pipes that are managed by OpenGL Vizserver.
The default value is False.
Vizserver*ReservationEndSessionNotify:
This entry specifies how many seconds before the end of a session a warning is sent to the user.
If Vizserver*ReservationActive is set to False, this value is of no use.
The default value is 60.
Vizserver*CompressionThreads:
This entry specifies how many compression threads are available for compressors that support multithreading.
Currently, all compressors included in OpenGL Vizserver support multiple threads. This will allow for performance scalability on machines with a large number of CPUs.
The default value for this setting is 2.
Vizserver*BaseXF86Config:
This entry specifies which file should be used by OpenGL Vizserver as the basis for generating the temporary XFree86 configuration files needed for starting X servers on Onyx4 and Silicon Graphics Prism systems.
This entry is applicable (and will be displayed in vsconfig) only on Onyx4 and Silicon Graphics Prism systems.
Change this value if you want OpenGL Vizserver to use an XFree86 configuration file that is customized to your needs.
Default value is /etc/X11/XF86Config.
Vizserver*SGCFrameSkip:
This entry specifies the frame-skip value when using an SGC card.
This entry is applicable (and will be displayed in vsconfig) only on Silicon Graphics Prism and Onyx4 systems with SGC cards and when the subsystem vizserver_server.modules.readback is installed.
If set to –1, the OpenGL Vizserver session manager will determine the optimal frame-skip value automatically.
Change this parameter to get better performance or lower system resources usage. This change will override the value automatically set by the OpenGL Vizserver session manager.
Default value is 1.
The /var/vizserver/reservation_client.conf file contains the necessary information to configure the reservation web interface shipped with OpenGL Vizserver. This file contains entries in the following format:
Reservation*entry: value |
The default values in this file are set for the reservation web interface shipped in the OpenGL Vizserver reservation module. If you develop your own reservation web interface using the OpenGL Vizserver reservation API, you may need to modify these values.
![]() | Note: The reservation_client.conf file is used by the reservation web interface that is shipped with OpenGL Vizserver. It is not used by the OpenGL Vizserver server manager or by any other reservation program developed using the reservation API. |
Reservation*Servers:
This entry specifies the name of the OpenGL Vizserver server machine where the reservation is made. Only one host is supported at this time.
The host specified in this entry must have a running OpenGL Vizserver server manager for the reservation interface to work.
The default value is the local host.
Reservation*ImagePath:
This entry specifies the directory in which the images used by the web interface are kept.
This path is relative to the web server's HTML directory.
The default value is /vizserver/images.
Reservation*ConnectionTimeout:
This entry specifies the timeout (in minutes) for disconnecting a non-active user from the reservation web interface.
After this amount of time, a reservation session is closed, and the user should log in again. Each operation of the user on the web interface resets the timer.
The default value is 5.
Reservation*MinimalTimeslot:
This entry specifies the minimal length (in minutes) of a reserved time slot.
It must be at least 1 minute.
The default value is 30.
Reservation*MaximalTimeslot:
This entry specifies the maximum length (in minutes) of a reserved time slot.
A value of 0 indicates that there is no maximum to the reservation length.
The default value is 240.
See the vsreservation(1m) man pages for more details.
Video groups provide one mechanism for clients to specify what graphics will be served when OpenGL Vizserver is in desktop sharing mode. A video group consists of a set of one or more Scalable Graphics Capture (SGC) cards, hardware readback devices, installed on the server along with all the hardware compositors, graphics pipes, or external DVI sources that feed them. You must determine the list of video groups available for clients to use.The topology and videoGroups files are used to specify these video groups.
The topology file specifies the connectivity between graphics pipes, hardware compositors, and SGC cards in the system. The videoGroups file, based on the system topology as specified in the topology file, includes the list of video groups available for clients.
The topology and videoGroups files can be generated automatically by using the detectTopology.pl script provided with OpenGL Vizserver. This script does the following:
Performs a series of tests on the system to discover its topology.
Creates the /var/vizserver/topology file.
Based on the system topology discovered in step 1, generates the file /var/vizserver/videoGroups with default video groups.
Since the detectTopology.pl script performs some invasive operations, including starting an X server on all the system's graphics pipes, run this script under username root in run-level 3 (init 3) when no graphics pipe on the system is being managed (that is, used by a running X server). Run this script every time the system's topology (including the cabling of the hardware compositors and SGC cards) changes.
There are two types of video groups:
Groups generated automatically by the detectTopology.pl script
Each of these groups contain one SGC card connected to the output of one hardware compositor. Such a group is named after the hardware compositor it contains and the graphics pipes feeding this compositor.
Groups added manually by a system administrator
Each of these groups contain one or more SGC cards and can be given an arbitrary name. Choose a name that is easily associated with the video group, since the user starting a session on the client side has to select the video group based on its name.
The following is an example of a topology file on an arbitrary 12-pipe, 3-compositor, 8-SGC system:
SC0 0 1 2 3 # Compositor 0 is connected to pipes 0, 1, 2 and 3 SC1 4 5 SC2 6 7 SGC0 8 # SGC card 0 is connected to pipe 8 SGC1 9 SGC2 10 SGC3 SC0 # SGC card 3 is connected to compositor 0 SGC4 SC1 SGC5 SC2 SGC6 4 # SGC card 6 is connected to pipe 4 (which is also the # master of compositor 1) SGC7 6 |
The following is an example of a matching videoGroups file (generated by detectTopology.pl and modified by a system administrator):
# Automatically generated video groups: SC0{0,1,2,3} SGC3 SC1{4,5} SGC4 SC2{6,7} SGC5 # Administrator-defined video groups: big_compositor_plus_pipe_nine SGC3 SGC1 two_compositors SGC4 SGC5 compositor_plus_its_master_pipe SGC4 SGC6 all_compositors SGC3 SGC4 SGC5 pipe_eight SGC0 |
Two authentication mechanisms are currently provided with OpenGL Vizserver:
AUTH-PASSWORD
AUTH-PAM
The AUTH-PASSWORD authentication scheme used by a server is an unencrypted user/password mechanism based on the system's passwd database.
This mechanism uses the Pluggable Authentication Modules (PAM) mechanism provided with IRIX 6.5.22 or later and with every SGI ProPack release. When using the AUTH-PAM module, the OpenGL Vizserver PAM configuration file (/etc/pam.d/vizserver ) determines how authentication is performed by the server.
Notes:
In order to use the AUTH-PAM mechanism on IRIX servers, you need to install the vizserver_server.modules.pam_auth subsystem.
When using the AUTH-PAM module in the server, no authentication module is needed in the client.
For more information about PAM usage and configuration, see the following documents:
Linux-PAM System Administrators' Guide (/usr/share/doc/pam/html/pam.html)
PAM(8) man page
![]() | Note: This section is not applicable when a client user explicitly selects a video group when starting a session. In this case, the graphics pipe allocation is implied by the video group definition. |
As mentioned in “Allocating Graphics Pipes for OpenGL Vizserver”, the managed graphics pipes in the OpenGL Vizserver system are managed by either XDM or OpenGL Vizserver.
When graphics pipes are allocated to the OpenGL Vizserver sessions by the OpenGL Vizserver server manager, there are two types of allocation methods used: static pipe allocation and dynamic pipe allocation. The terms static and dynamic refer to the mobility of graphics pipes between XDM and OpenGL Vizserver.
As noted earlier, all graphics pipes allocated for a session are used by the session's X server, although it might be the case that only a subset of these pipes are actually being served by OpenGL Vizserver. The status of the Active Screens check boxes in the Session Start window of the client determines which pipes/screens are served. For example, a user might request to start a four-pipe session, of which only screens 0 and 2 are specified to be served. In this case, the following will happen:
Four pipes will be allocated to the session by the server manager.
The X server used by this session will include four screens: 0, 1, 2 and 3.
Only screens 0 and 2 will be actually served by OpenGL Vizserver to the client.
This section describes the policy for allocating graphics pipes by the server manager and the process for configuring with this policy in the following subsections:
The three parameters in the server's configuration that affect graphics pipe allocation are the following:
Vizserver*Boards: Specifies which graphics pipes are managed by OpenGL Vizserver.
Vizserver*UseXDMPipes: Specifies whether OpenGL Vizserver can use XDM-managed graphic pipes for its sessions.
Vizserver*ReservationActive: Specifies whether a graphics pipe reservation by the user is required in order to use the OpenGL Vizserver managed pipes.
For more details about these parameters, see “The /var/vizserver/config File”.
When the Vizserver*UseXDMPipes parameter's value is False, the server operates in a static pipe allocation mode. In this mode, OpenGL Vizserver can allocate only the graphics pipes that it manages.
If the Vizserver*ReservationActive parameter's value is False, a user can open a session using any graphics pipes that are managed by OpenGL Vizserver (subject to availability).
If the Vizserver*ReservationActive parameter's value is True, a user cannot have a session using more than the maximum number of graphics pipes reserved. If no reservation was made by a user, the user cannot open a session at all.
When the Vizserver*UseXDMPipes parameter's value is True, the server operates in a dynamic pipe allocation mode. In this mode, OpenGL Vizserver can allocate the graphics pipes that it manages, as well as the graphics pipes managed by XDM.
OpenGL Vizserver allocates XDM-managed pipes for a session's use only if the X server that currently uses the graphics pipes is not logged in. In other words, the X server is in the login stage and the login screen is displayed.
On IRIX servers only, in order for the server to know which X servers are logged in and which are not, three scripts used by XDM need to be changed to record the X server's state in the system's utmpx database. This change is made automatically when installing the server by installing the new scripts on the system (in /var/X11/xdm), and modifying the XDM configuration file (/var/X11/xdm/xdm-config).
The following are the pertinent scripts:
Xlogin | This script starts the login process of the X server. Upon installation of OpenGL Vizserver, this script is replaced by Xlogin.vizserver. | |
Xstartup | This script is run after a user has logged into the X server. Upon installation of OpenGL Vizserver, this script is replaced by Xstartup.vizserver. | |
Xreset | This script is run after a user has logged out of the X server. Upon installation of OpenGL Vizserver, this script is replaced by Xreset.vizserver. | |
Notes: |
The new *.vizserver scripts are based on the default scripts installed by IRIX. If these scripts on the installed machine were changed, you will need to copy the relevant lines from the *.vizserver scripts into your local scripts manually.
The OpenGL Vizserver scripts just described use the program vssessreg, which is installed as part of OpenGL Vizserver, to update the utmpx database upon changes in the X server's login state. On Silicon Graphics Prism systems, this behavior is already built into the standard X scripts (using the Linux utility sessreg). Therefore, OpenGL Vizserver does not require the installation of customized X scripts on these systems.
On startup and also on every configuration update request triggered by vsconfig or by the SIGHUP signal, the server reads the XDM configuration file (/var/X11/xdm/Xservers for xdm and /etc/X11/gdm/gdm.conf for gdm) to ascertain the current state of the system's graphics pipes. The server will also modify the file every time a graphics pipes managed by the XDM is allocated dynamically or when returned to XDM at the end of the session. Therefore, do not modify the contents of the file externally while the XDM's X servers are dynamically allocated.
Changing the allocation configuration of graphics pipes might cause active OpenGL Vizserver sessions to terminate.
When the server is in dynamic pipe allocation mode and the Vizserver*ReservationActive parameter's value is False, the graphic pipe allocation policy is as follows:
The server allocates as many of the OpenGL Vizserver managed graphics pipes as it can.
If that is not enough to fullfill the session's needs, the server tries to allocate available graphic pipes that belong to X servers from which graphic pipes were already allocated.
If that is not enough to fullfill the session's needs, the server tries to allocate XDM-managed pipes from X servers that are not logged in.
If the Vizserver*ReservationActive parameter's value is True, the policy is similar, with one difference: the server will not allocate graphics pipes from its own managed pipes more than the number of pipes reserved by the user (that is, if no reservation was done, only XDM-managed graphics pipes will be allocated).
In any case, unless the Vizserver*Boards parameter in the server's configuration file is set to all, OpenGL Vizserver will not attempt to use graphics pipes that are not explicitly assigned to it. For instance, if the Vizserver*Boards value is 1,2,3, OpenGL Vizserver will not use pipe 0 even if it is available for dynamic pipe allocation.
When the server allocates an XDM-managed graphics pipe, the XDM X server using the pipe is killed and the session's own X server can use this pipe.
As mentioned previously, more than one session might use graphics pipes from the same XDM X server. When all the graphics pipes used by the sessions are freed, after sessions end, the XDM X server is restarted and returned to a login state.
OpenGL Vizserver supports the use of hardware readback using an SGC card in conjunction with the digital output from a Silicon Graphics Prism or Onyx4 graphics pipe. An SGC card is a digital video interactive (DVI) capture device. It connects to the server's PCI-X bus and is used to drastically improve the readback rate of OpenGL Vizserver from the server-side X server by connecting the pipe's DVI output to the SGC card input using a DVI cable.
OpenGL Vizserver will use SGC cards to perform the readback needed for its operation if the following conditions are true:
The OpenGL Vizserver server host is an Onyx4 or Silicon Graphics Prism system.
The OpenGL Vizserver server host has SGC cards installed.
All pipes belonging to the subset of “active screens”—that is, screens user-selected for OpenGL Vizserver to serve to clients—are connected to SGC cards.
Note that if any one of the session's allocated pipes belonging to an active screen is not connected to an SGC card, readback from all pipes will revert to software.
Upon session startup, OpenGL Vizserver will automatically detect the connections among the session's allocated pipes and the SGC cards and use the required devices appropriately.
Pipe allocation by the OpenGL Vizserver server manager is independent of the SGC cards. That is, if some of the pipes on your system are connected to an SGC card and some are not, the only way to force the allocation of pipes connected to SGC cards is by changing the Vizserver*Boards value in the server's configuration file /var/vizserver/config to indicate which pipes are connected to SGC cards.
To provide a uniform user experience where all sessions run fast regardless of which graphics pipes they are allocated, ensure that all graphics pipes used by OpenGL Vizserver are connected to an SGC card.