This chapter describes how to change the Elite3D Graphics Accelerator screen resolution to work properly with different monitors.
You can change the Elite3D X11 screen and associated graphics hardware through the afbconfig utility. Options are specified on the command line. The specified options are stored in the OWconfig file. You use these options to initialize the Elite3D device the next time Xsun is run on that device. Updating options in the OWconfig file provides persistence of these options across Xsun sessions and system reboots.
afb is the UNIX device name for the Elite3D family of graphics accelerators.
Use the afbconfig utility to specify the following:
Video mode (screen resolution and refresh rate)
Type of visuals (linear or nonlinear)
Whether to use 8-bit pseudocolor visual (overlay visual)
Whether linear visuals will be reported before their nonlinear counterparts in the screen visuals list
How to set the default screen visual
How OpenGL visuals will be supported
Whether Server Overlay Visuals (SOV) will be available
The maximum number of Elite3D X channel pixels reserved for use as WIDs
Whether the pseudocolor overlay visual will come before the pseudocolor underlay visual in the screen visuals list
Configurable gamma correction by specifying a gamma value or a file containing a gamma-correction table
Extended overlay option enables a full 256-color overlay and hardware-accelerated transparency visuals
The Elite3D system reads the VESA standard Extended Display Identification Data (EDID) from the monitor to determine the default screen resolution. If the EDID data is not available for the monitor, the monitor ID sense code is used to determine the default screen resolution.
Table 7-1 lists the default screen resolutions by monitor ID sense code.
Table 7-1 Elite 3D Graphics Accelerator Monitor Sense Codes
Code |
Screen Resolution |
---|---|
7 |
1152 x 900 at 66 Hz |
6 |
1152 x 900 at 76 Hz |
5 |
1024 x 768 at 60 Hz |
4 |
1280 x 1024 at 67 Hz |
3 |
1152 x 900 at 66 Hz |
2 |
1280 x 1024 at 76 Hz |
1 |
1152 x 900 at 66 Hz |
0 |
1024 x 768 at 77Hz |
If the Elite3D system is unable to determine the monitor type, such as for non-Sun monitors, it defaults to a resolution of 1152 x 900 at 66 Hz.
Table 7-2 lists the Elite3D-supported screen resolutions.
Table 7-2 Elite 3D-supported Screen Resolutions
Screen Resolution |
Vertical Refresh Rate |
Description |
Video Mode Format |
Symbolic Name |
---|---|---|---|---|
1280 x 1024 |
76 Hz |
Non-interlaced |
1280x1024x76 |
1280 |
1280 x 1024 |
67 Hz |
Non-interlaced |
1280x1024x67 |
|
1280 x 1024 |
60 Hz |
Non-interlaced |
1280x1024x60 |
|
1280 x 1024 |
85 Hz |
Non-interlaced |
1280x1024x85 |
|
1280 x 800 |
76 Hz |
Non-interlaced |
1280x800x76 |
|
1152 x 900 |
76 Hz |
Non-interlaced |
1152x900x76 |
1152 |
1152 x 900 |
66 Hz |
Non-interlaced |
1152x900x66 |
|
1024 x 800 |
84 Hz |
Non-interlaced |
1024x800x84 |
|
1024 x 768 |
77 Hz |
Non-interlaced |
1024x768x77 |
|
1024 x 768 |
75 Hz |
Non-interlaced |
1024x768x75 |
|
1024 x 768 |
70 Hz |
Non-interlaced |
1024x768x70 |
|
1024 x 768 |
60 Hz |
SVGA |
1024x768x60 |
svga |
960 x 680 |
112 Hz |
Stereo, non-interlaced, 56 Hz field rate per eye |
960x680x112s |
stereo |
960 x 680 |
108 Hz |
Stereo, non-interlaced, 54 Hz field rate per eye |
960x680x108s |
|
768 x 575 |
50 Hz |
Interlaced - PAL |
768x575x50i |
pal |
640 x 480 |
60 Hz |
Interlaced - NTSC |
640x480x60i |
ntsc |
640 x 480 |
60 Hz |
Non-interlaced |
640x480x60 |
|
Some monitors may not support some the resolutions supported by the Elite3D system. You can get the list of resolutions supported by the Elite3D and the connected monitor using the afbconfig command.
You can change the screen resolution temporarily as a test to determine if the monitor supports the specified resolution.
Do not change screen resolution while the window system is running. Changing screen resolution while the window system is running may put the screen display in an unusable state.
Use the afbconfig command as follows:
afbconfig -res video-mode try |
See Table 7-2 for the list of video-mode options (see the "Video Mode Format" and "Symbolic Name" columns in the table). You will have five seconds to confirm the video mode by typing y.
This changes the resolution to 960 x 680 at 112 Hz stereo the next time Xsun is run.
The X server screen visuals list can be altered through afbconfig. The afbconfig options in Table 7-3 can be used to configure the list of the exported visuals for the specified device.
Table 7-3 The Default Settings of the afbconfig Visual Flags
Name |
Possible Values |
Defaults in Solaris2.5.1/ 2.5.1 SHWP |
Defaults in Solaris 2.6 |
---|---|---|---|
linearorder |
first/last |
last |
last |
deflinear |
true/false |
false |
false |
overlayorder |
first/last |
last |
last |
defoverlay |
true/false |
false |
false |
expvis |
enable/disable |
disable |
enable |
sov |
enable/disable |
disable |
enable |
By default, the nonlinear visual comes before the linear visual on the screen visual list. You can modify the order of the visual list by using the afbconfig command.
Most 3D applications require a linear visual. Some 3D applications do not search for a linear visual using XSolarisGetVisualGamma(3). Instead, these applications search the screen visual list for the first 24-bit TrueColor visual they find. To enable these applications to run with the correct visual, use the -linearorder option to change the visual list order so that the linear 24-bit TrueColor visual is the first one the application finds.
The desired visual ordering in the screen visuals list will be available whenever the window system is restarted.
To change the setting, enter the afbconfig command with one of the -linearorder options.
For example:
afbconfig -linearorder first |
By default, the 8-bit PseudoColor visual comes before the 8-bit PseudoColor Overlay visual on the screen visual list. You can modify the order of the visual list by using the afbconfig command.
Some applications that use the 8-bit PseudoColor Overlay visual, search the visual list for the first 8-bit PseudoColor visual they find. To enable these applications to run with the correct visual, use the -overlayorder option to change the visual list order so that the 8-bit PseudoColor Overlay visual is the first 8-bit PseudoColor visual the application finds.
The desired visual ordering in the screen visuals list will be available whenever the window system is restarted.
To change the setting, enter the afbconfig command with one of the -overlayorder options.
For example:
afbconfig -overlayorder first |
By default, the 8-bit PseudoColor underlay visual is the default visual of the screen. The default visual can be changed to either a linear underlay visual or an overlay visual through afbconfig.
To set the default visual to be a linear visual, enter the afbconfig command as follows:
afbconfig -deflinear true |
To set the default visual to be an overlay visual, enter the afbconfig command as follows:
afbconfig -defoverlay true |
Since there is no linear overlay visual, the user should not specify both "-deflinear true" and "-defoverlay true" simultaneously, or the result will be undefined.
Note that the visual ordering options (overlayorder and linearorder) are independent of the default visual options (defoverlay and deflinear). Moving the overlay visual groups, for example, to the front does not automatically make it a default visual. Some applications make this assumption and hence receive a "BADMATCH" X error when they try to match the colormap created by the default visual and the first 8-bit PseudoColor visual they can find.
Solaris 2.6 SHWP supports the OpenGL visual expansion. With visual expansion, five visual groups: the 8-bit PseudoColor, 24-bit TrueColor (Linear and Non-Linear), 24-bit DirectColor, and 8-bit PseudoColor Overlay, are expanded from a single visual to multiple visual instances of the same visual type. Different instances of the same visual groups represent different GLX capabilities (e.g., single-buffer or double-buffer capable, monoscopic or stereoscopic capable, or a combination of both). The number of visual instances depends on whether the X server is started in monoscopic or stereoscopic mode.
SERVER_OVERLAY_VISUALS is one of the root window's properties that contains the visual ID, transparent type, transparent value, and layer of the server overlay visuals (SOV) of the screen. You can toggle the advertisement of this property and the export of the transparent server overlay visuals using afbconfig.
Gamma correction may be set by specifying a gamma correction value or by specifying a file that contains a gamma table.
The -g option will set the gamma table entries based on the gamma value specified. A gamma value of 2.22 represents linear gamma correction and matches the fixed value on the Elite3D products. This value is a per-screen value and therefore all gamma corrected or linear visuals will use this value.
The -gfile option will set the gamma table entries explicitly from a file containing three columns of 256 integers ranging from 0 to 255. The format is three integers separated by a newline character. Each line contains the RGB value to be put in the table for that entry. This value is a per-screen value and therefore all gamma-corrected or linear visuals will use this value.
In extended overlay mode, the overlay visuals will have 256 opaque colors. The server overlay visuals (SOV) will have 255 opaque colors and one transparent color. The extended overlay mode also enables hardware-accelerated transparency, which provides better performance for windows using the SOV visuals. In extended overlay mode, there are 64 WindowIDs (WIDs) for windows using non-overlay visuals and three WIDs for windows using the overlay visuals.
If extended overlay mode is disabled, the number of colors for overlay visuals is 256 minus the value set for the maxwids option (default 32). The SOV-capable visuals also have (256 - maxwids) colors and a software emulation of transparency.
Enter the following:
afbconfig -extovl enable |
Table 7-4 lists the default settings for the afbconfig -extovl. options.
Table 7-4 Default Settings for afbconfig -extovl Options
Possible Values |
Defaults in Solaris 2.5.1 |
Defaults in Solaris 2.6 |
---|---|---|
enable/disable |
disable |
enable |
This option is available only if the extended overlay mode is disabled. This maxwids option specifies the maximum number of Elite3D X channel pixel values that are reserved for use as window IDs (WIDs). The remaining pixel values are the number of colors available for overlay windows. The legal values for the maxwids option are 1, 2, 4, 8, 16, 32, or 64.
Enter the following:
afbconfig -maxwids number_of_WIDs |
Table 7-5 lists the default settings for afbconfig -maxwids options.
Table 7-5 Default Settings for afbconfig -maxwids Options
Possible Values |
Defaults in Solaris 2.5.1 |
Defaults in Solaris 2.6 |
---|---|---|
1, 2, 4, 8, 16, 32, 64 |
32 |
Not available |
In summary, the appearance of the X server screen visual list can be changed to fit the user's needs using any of the afbconfig visual flags (e.g., linearorder, overlayorder, expvis, sov, etc.). This section briefly shows the effect of these visual options on the visual list.
Without any alteration using afbconfig, the X server screen visual list can roughly be categorized in the following visual groups and order:
8-bit PseudoColor
8-bit Miscellaneous (StaticColor, Non-linear StaticGray, etc)
8-bit Linear StaticGray
8-bit PseudoColor Overlay
24-bit Non-linear TrueColor
24-bit DirectColor
24-bit Linear TrueColor
The default screen visual will be the 8-bit PseudoColor visual. The deflinear and defoverlay options will alter this pointer to point to the first 8- or 24-bit linear visual, depending on the X server depth when it starts up, and the first 8-bit overlay visual, respectively. You can rearrange the entire "8-bit PseudoColor Overlay" group, the "8-bit Linear StaticGray" group, and the "24-bit Linear TrueColor" group to be ahead of all other visual groups of the same depth by using the linearorder and overlayorder flags. For example, if you specify the following:
afbconfig -overlayorder first |
The screen visuals list will be rearranged in the following order:
8-bit PseudoColor Overlay
8-bit PseudoColor
8-bit Miscellaneous (StaticColor, Non-linear StaticGray, etc.)
8-bit Linear StaticGray
24-bit Non-linear TrueColor
24-bit DirectColor
24-bit Linear TrueColor
The expvis flag will change the number of visual instances in the following visual groups:
8-bit PseudoColor
8-bit PseudoColor Overlay
24-bit Non-linear TrueColor
24-bit DirectColor
24-bit Linear TrueColor
The number of instances that expvis will alter depends on whether the monitor is in monoscopic or stereoscopic resolution. In monoscopic resolution, if expvis is enabled, the order of the screen visual groups will be preserved, but within each group mentioned above, a "double-buffer capable" visual instance will be added. In stereoscopic resolution, two additional visual instances: "double-buffer, stereo capable" and "single-buffer, stereo capable", will be added. The "double-buffer capable" visual instances, if present, will always come ahead of the "single-buffer capable" visual instances, and the monoscopic visual instances will always come ahead of the stereoscopic ones.
For example, if you specify the following in stereoscopic resolution:
afbconfig -overlayorder first -expvis enable |
the screen visual list will be:
8-bit PseudoColor Overlay (Mono, Stereo)
8-bit PseudoColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
8-bit Miscellaneous (StaticColor, Non-linear StaticGray... etc)
8-bit Linear StaticGray
24-bit Linear TrueColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
24-bit Non-linear TrueColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
24-bit DirectColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
There is no double-buffer capable overlay visual instance.
Without the sov option being enabled, the only overlay visuals available are the ones without transparency. Enabling the sov option will add the transparent SOV visual instances into the screen visual list and also add the SERVER_OVERLAY_VISUALS property to the root window property. The transparent SOV visual instances belong to the "8-bit PseudoColor Overlay" visual group. The SERVER_OVERLAY_VISUALS property will contain the visuals' ID, transparent type, value, and layer of all available overlay visuals of the screen.
For example, if you specify the following in stereoscopic resolution:
afbconfig -overlayorder first -expvis enable -sov enable |
the screen visuals list will be:
8-bit PseudoColor Overlay (Mono, Stereo, Mono SOV, Stereo SOV)
8-bit PseudoColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
8-bit Miscellaneous (StaticColor, Non-linear StaticGray, etc.)
8-bit Linear StaticGray
24-bit Linear TrueColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
24-bit Non-linear TrueColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
24-bit DirectColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
and the SERVER_OVERLAY_VISUALS property will contain the following information:
=========================================================== SERVER OVERLAY VISUALS (SOV) Info =========================================================== No. of SOV visuals = 4 SOV #0,ID 0x36, TRANSPARENT_TYPE 0, VALUE 0, LAYER 1 SOV #1,ID 0x37, TRANSPARENT_TYPE 0, VALUE 0, LAYER 1 SOV #2,ID 0x38, TRANSPARENT_TYPE 1, VALUE 255, LAYER 1 SOV #3,ID 0x39, TRANSPARENT_TYPE 1, VALUE 255, LAYER 1 =========================================================== |
The stereo connector allows connection of stereo goggles to the Elite3D Graphics Accelerator. The stereo connector for the Elite3D board is a seven-pin DIN connector as shown in Figure 7-1.
Table 7-6 lists the stereo cable signals.
Table 7-6 Elite3D Stereo Connector Signals
Pin |
Description |
---|---|
1 |
Ground |
2 |
No connection |
3 |
+12V |
4 |
STEREO signal |
5 |
No connection |
6 |
No connection |
7 |
No connection |
The STEREO signal is a TTL-level, 50 percent duty cycle signal that switches between left and right stereo shutters, as shown in Figure 7-2.
A stereo cable and goggles for use with the Elite3D Graphics Accelerator are available from the following source:
StereoGraphics Corporation 2171-H East Francisco Blvd. San Rafael, CA 94901 (415) 459-4500 FAX: 415-459-3020