SETMON(1G) SETMON(1G) NAME setmon - set the current and default video output format SYNOPSIS /usr/gfx/setmon [ options ] format DESCRIPTION setmon changes the video output format to the one specified; it also specifies the default video format to be used at system power-up or graphics initialization. You must set the DISPLAY environment variable to the local machine (e.g. :0.0) so that any GL calls that setmon makes will occur on the local machine, and not over a network interface. If none of (-n, -x, -w) options are specified on the command line, then setmon will prompt for input to determine whether the format being loaded should also be saved into the eeprom. If the format is to be loaded into the eeprom, you must be root, or no operations will take place. Command line options are: -n Specifies that format should not be saved and used as the default, but should just be loaded temporarily. This is the opposite of the -x option. -x The specified video format will take effect when the X server restarts (when one logs out from an X session) or during the next boot cycle. You must be the root user to use the -x option. This option is currently allowed on RealityEngine, InfiniteReality, VPro (V6, V8), IMPACT, CRM, XL, and GR2 (Elan, Extreme, XS or XZ) graphics. (CRM graphics is found on O2 workstations). On RealityEngine and InfiniteReality graphics, this saves the specified format in the appropriate eeprom in the graphics subsystem. On other graphics systems, the name of the format is stored in /var/X11/Xvc/<gfxname><pipe>_TimingTable, where <gfxname> is: NG1 if the graphics type is XL, GR2 if the graphics type is GR2, Crm if the graphics type is CRM, Impact if the graphics type is IMPACT. Odyssey if the graphics type is VPro. Except for CRM, <pipe> can be 0 or 1. (A "pipe" is synonomous with "graphics head" or graphics board".) On CRM graphics, <pipe> is always 0. Multipipe graphics is not supported on the O2 workstation. For example, for the first graphics board on an IMPACT system, the name of the format is stored in /var/X11/Xvc/Impact0_TimingTable. On graphics systems where the format name is not stored in eeprom, the format specified by "setmon -x" will take effect whenever graphics is initialized. To do so, use the following command sequence: su (/usr/gfx/stopgfx; /usr/gfx/startgfx) & -w On systems which support -x, specifies that format is to be loaded now, and also that format will be used as the default when the X server restarts. (-w is like -x, but in addition, the specified video format is loaded into the hardware immediately.) You must be root to use the -w option. -aacctype Sets the type of accumulation support for the frame buffer. acctype specifies either software only support at 16 bits per component (-a0) or hardware accelerated support at 24 bits per component (-a1). This option requires the -x option and is only supported on VPro graphics. -dfbdepthbytes Specifies the depth of the framebuffer. fbdepthbytes can be either 8 bytes per pixel (-d8) or 16 bytes per pixel (-d16). This option requires the -x option and is only supported on VPro graphics. -DDACgainlevel Specifies the gain level for the DACs. DACgainlevel can be either the nominal default setting - RS343 (-DRS343) or VESA level (-DVESA). This option is only supported on OCTANE systems with IMPACT graphics. -g Enables genlock (external video clock). This option is not supported on CRM graphics. -t Specifies that genlock input operates at TTL levels rather than nominal video levels (only applicable when genlock is specified). -T Specifies that sync output should be at TTL levels rather than nominal video levels. Currently only supported on RealityEngine; other systems default to TTL levels. -G Specifies that genlock input is through the GREEN input rather than the SYNC input (only applicable when genlock is specified). -ssyncselect Specifies the source of the sync signal. syncselect is any combination of r, g, b, and a to represent the sync signal on the same combination of the red, green, blue, and alpha video cables. If syncselect is n, the sync signal will be generated on the sync cable. If syncselect is not specified, the sync signal will default to the green cable. -jgenlockdelay Specifies the number of pixels to adjust the display, relative to the genlock input signal. Currently, only supported on GR2 graphics (Elan, Extreme, XS or XZ) for NTSC and PAL monitors. Positive values move display to the left, and negative values move display to the right. Must be used with the -g option. -Finput_signal On systems with GR2 graphics (Elan, Extreme, XS or XZ), input_signal specifies whether the input signal used for framelocking is interlaced (-Fi) or non-interlaced (-Fn). On Indy XL graphics systems, it specifies whether the input signal used for framelocking comes from Vino (-Fv) or Galileo (-Fg) video. On Indigo2 XL systems, it specifies whether the input signal used for framelocking comes from the backplane (-Fv) or Galileo (-Fg) video. On Indigo2 or OCTANE systems with IMPACT graphics, it specifies whether the input signal used for framelocking is an internal (-Fi) or external (-Fe) video signal. -Lformat On system with Vpro graphics, format specifies the name of the video format used for external framelocking. -mwidthxheight Specifies the area that the X server should manage; this may be larger than the area displayed by format. If not specified, this defaults to the area required by format. This is currently supported only on RealityEngine. -S For use only on machines with multiple channel options (RealityEngine, Impact and Octane systems). This flag specifies that the Channel Option should be enabled. You must specify a format which is appropriate for the option; the available formats are described in the documentation accompanying the hardware option. Conventional names for appropriate formats are prefaced by the number of outputs, ie 4@640x480_60 indicates that four channels, each 640 wide by 480 tall and refreshed 60 times a second, should be output. Please note that systems that can drive multiple channels can also typically drive single channels, and that the -S option indicates which category of timing formats the user is requesting. -v Enable verbose mode. On systems supporting custom video output formats, statistics related to downloaded file size and compression are printed. For Impact and Octane configurations, requesting a format that cannot successfully be downloaded with the -v flag will return formats that can be downloaded. -ppipenumber Specifies the pipe for which the format is to be changed on systems with multiple graphics pipes. The pipenumber is a small integer, typically 0, 1, or 2. If the pipenumber is not specified with this command line option, the pipenumber is derived from the trailing digit of the DISPLAY environment variable. For example, the DISPLAY value :0.0 refers to pipe 0, :0.1 refers to pipe 1, and :0.2 refers to pipe 2. On systems with IMPACT graphics, this option must be used with the -x option when invoking setmon without the X server running. -cframelock master or slave Implemented on Indigo2 XL-XL dual-head, and VPRO graphics. On Vpro graphics, used to determine whether to send csync output through the Genlock port. If -cm is used, csync will be output on the Genlock connector for use in genlocking multiple systems. If -cs is used, the csync output will be shut off so that the Genlock port can be used as a genlock input. On Indigo2 XL-XL dual-head use m to set the master and use s to set the slave head if you want to change the default settings for framelocking through the backplane. By default, the bottom (pipe0) graphics board will be the master and the top (pipe1) board will be the slave. The master sends out a framelock sync signal to the backplane. The slave receives the framelock sync signal from the backplane. Make sure the pipe number refers to the appropriate board; set the pipe number as described in the discussion of the -p option above. Use -Fv to framelock the slave to the sync from the backplane. Use -Fg to framelock the master to the Galileo, assuming the video board will be attached to the master. Refer to the galileo man page for more details on framelocking to the video board. format specifies the desired video output format. format may be the name of a "standard" format such as 60 or ntsc. Note that case doesn't matter when specifying a standard format. If not one of the standard format names, format is interpreted as the filename (minus the '.vfo' extension) of a valid video format file. Generally, video format files reside in the directory /usr/gfx/ucode/<boardname>/vof. Here is a complete list of the "standard" format names, not all of which are allowed on all graphics systems: 30hz 30 (alias for 30hz) 50hz 50 (alias for 50hz) 60hz 60 (alias for 60hz) ntsc hdtv vga pr60 pal 343 str_rect stereo (alias for str_rect) st492 (alias for str_rect) str_bot str_top sqr_rect squareo (alias for sqr_rect) sq492 (alias for sqr_rect) sqr_bot sqr_top vof0 vof1 vof2 vof3 70hz 70 (alias for 70hz) 72hz 72 (alias for 72hz) 75hz 75 (alias for 75hz) 76hz 76 (alias for 76hz) iris3k presenter (alias for iris3k) presenter1280 (alias for 60hz) XS, XZ, Elan, and Extreme Graphics support the standard names 30HZ, 50HZ, 60HZ, 72HZ, NTSC, PAL, IRIS3K, STR_RECT, STR_BOT, STR_TOP and 343. Also, format may be the name (minus the '.vfo' extension) of one of the video format files which reside in /usr/gfx/ucode/GR2/vof. Entry/Starter Graphics supports 60HZ. XL Graphics (Indy or Indigo2) supports supports the standard names 50HZ, 60HZ, 70HZ, 72HZ, 76HZ, NTSC, PAL, IRIS3K, STR_RECT, STR_BOT, and STR_TOP. Video format files reside in /usr/gfx/ucode/NG1/vof. CRM Graphics supports the standard names 50HZ, 60HZ, 72HZ, 70HZ, 75HZ, STR_RECT, STR_BOT, and STR_TOP. Also allowed is the name (minus the '.vfo' extension) of one of the video format files which reside in /usr/gfx/ucode/CRM/vof. The following letters at the end of a format name signify: p format is for a Flat-Panel Display. s format is for stereo. IMPACT Graphics supports the standard names 50HZ, 60HZ, 72HZ, 76HZ, STR_RECT, STR_BOT, and STR_TOP. Also, format may be the name of one of the video format files (minus the '.vfo' extension). These files reside in the directory /usr/gfx/ucode/MGRAS/vof for Indigo2 High Impact and Solid Impact and OCTANE SI and SSI systems. (Systems with one RE.) The directory is /usr/gfx/ucode/MGRAS/vof/2RSS for Indigo2 Maximum Impact and OCTANE MXI systems, which have two RE's. The following letters at the end of a format name signify: p format is for a Flat-Panel Display. s format is for stereo. _32db allows deep (32-bit) double-buffered visuals, but with no Z. _pbuf allows programs to allocate pbuffers in the Z bitplanes of the framebuffer. RealityEngine and InfiniteReality Graphics support the standard names 60HZ 30HZ, NTSC, PAL, 343, HDTV, VGA, 72HZ, STR_RECT, STR_BOT, and STR_TOP. In addition, format may be the name of one of the video format files, which are named according to the convention: <width>x<height>_<framerate> For example, 1280x1024_60 implies a video format that is 1280 pixels wide, 1024 pixels high and runs at 60 Hz. Letters added at the end of a format name signify special options: i for interlaced, s for stereo, q for field sequential, f for framelocking, and k for special alternate formats respectively. For RealityEngine, the video format files reside in the directory /usr/gfx/ucode/RE/dg2/vof. For InfiniteReality, the video format files reside in /usr/gfx/ucode/KONA/dg4/vfo. Those directories contain a README file which describes the formats shipped with a release. Infinite Reality Graphics always operates as a multiple-channel device, and a simple video format for a single channel is insufficient to describe the operation of the entire video subsystem. Instead of simple video formats, only video format combinations are supported. On Infinite Reality, setmon requires a combination file - a file describing frame buffer layout and formats for all channels - as the format parameter. These combination files can be built with a program, ircombine(1g), that assembles an ensemble of formats. The individual formats used by ircombine(1g) reside in /usr/gfx/ucode/KONA/dg4/vfo, and are described in /usr/gfx/ucode/KONA/dg4/vfo/README. A number of pre-built combinations can be found in the directory /usr/gfx/ucode/KONA/dg4/cmb. The names of these files are sometimes precisely descriptive of their content, but you can use ircombine(1G) to extract a full analysis of any combination. Note that if you create new combinations of your own, you must place them in /usr/gfx/ucode/KONA/dg4/cmb before they can be loaded with setmon. For backward compatibility, setmon supports a set of pre-built combinations that contain only one format each. These combinations are named similarly to the corresponding formats on Reality Engine. The NTSC and PAL video formats are actually the 525 and 625 line component RGB formats, and are not the composite video formats that these names imply. To get composite video output from other systems, you may choose to purchase an encoder option such as the CG3 or BVO (which encodes the 525 or 625 component RGB formats into true NTSC and PAL respectively), or a video peripheral product which provides composite output from an external frame buffer. setmon does not control the composite outputs of RealityEngine or InfiniteReality. For RealityEngine, the composite output is controlled by the vout command. For InfiniteReality, it is controlled by the ircombine(1g) command. On systems that support custom video output formats, a user-defined format may be selected by placing the file containing the VOF into the appropriate /usr/gfx/ucode/vof subdirectory. A given user-defined format may then be selected by specifying the file name as the format argument. EXAMPLES /usr/gfx/setmon -s g 30HZ sets the video output format to 30 Hz, sync-on-green. /usr/gfx/setmon -x 1280x1024_60 sets a RealityEngine, InfiniteReality, IMPACT or CRM to run 1280 x 1024 at 60Hz non-interlaced resolution the next time graphics is initialized. /usr/gfx/setmon -x -s b 640x480_180q sets a RealityEngine or InfiniteReality to run 640 x 480 x 180 Hz color field sequential output with sync on blue when graphics is next initialized. /usr/gfx/setmon -g -s rgb vof3 sets the video output format to the VOF contained in the file vof3.u found in the appropriate /usr/gfx/ucode/vof subdirectory. The format is genlocked and with sync-on-red/green/blue. NOTES 1. Above, IMPACT graphics also refers to: IMPACTPC (Impact graphics on IP28) and IMPACTSR (Impact graphics on OCTANE). 2. Even if you use /usr/gfx/setmon -n to change the display resolution to something other than the resolution that was active when the X server was started, X will continue to manage a framebuffer area of the original size and resolution. However, if the new size set by setmon is smaller than the orignal size, then part of the framebuffer will be unviewable. 3. On IMPACT and CRM, some formats may not be loadable using /usr/gfx/setmon -n because those formats require the X server to change its notion of the screen resolution or the available visuals. To change to these formats, it is necessary to use /usr/gfx/setmon -x and restart the X server. In addition, the pixel depth on RealityEngine and InfiniteReality is not changed by /usr/gfx/setmon -n. To change pixel depth it is necessary to use /usr/gfx/setmon -x and restart the X server. 4. On GR2 graphics (Elan, Extreme, XS or XZ), the X server must be running before using setmon. On IMPACT graphics, setmon must be run with the -x and -p options if the X server is not running. 5. On systems with GR2 graphics (Elan, Extreme, XS or XZ), sync appears on the red, green, and blue signals, by default. But you can use the -s <r,g,b,n> option to specify otherwise. Sync is always on the sync pin. 6. On systems with CRM or IMPACT graphics, sync appears on the red, green and blue signals. The -s option does not affect the sync signals on these systems. 7. /usr/gfx/setmon -g -j 10 NTSC sets the video output format to NTSC, and adjusts display by 10 pixels to the left, relative to the genlock input signal. 8. /usr/gfx/setmon -g -j -10 NTSC sets the video output format to NTSC, and adjusts display by 10 pixels to the right, relative to the genlock input signal. 9. STR_BOT is used to turn on full-screen stereo, and signals the X server that the bottom half of the screen is to be displayed as the primary buffer. STR_TOP is used to turn on full-screen stereo, and signals the X server that the top half of the screen is to be displayed as the primary buffer. STR_RECT turns on full-screen stereo, but does not inform the X server of the fact, which gives the old full-screen stereo behavior. 10. /usr/gfx/setmon -cs -Fv 1280x1024_50 With the DISPLAY environment variable or the -p option set appropriately, the "-cs" changes the Indigo2 XL board to a slave and the "-Fv" framelocks the slave to the sync signal coming from the backplane of the Indigo2. If the board is the slave by default, you don't need the -c option. Type "/usr/gfx/gfxinfo" to see the default settings. 11. /usr/gfx/setmon -cm -Fg 1280x1024_50 The "-cm" sets the Indigo2 XL board to a master which sends a framelock sync signal to the backplane of the Indigo2. The "-Fg" framelocks the master to the video board which is assumed to be attached to the master board. If the board is the master by default, you don't need the -c option. Type "/usr/gfx/gfxinfo" to see the default settings. SEE ALSO ircombine(1g), setmonitor(3g), vout(1V) Page 10