Solaris Handbook for SMCC Frame Buffers
  Suchtext Nur in diesem Buch
Dieses Buch im PDF-Format herunterladen
CHAPTER 9

Elite3D Graphics Accelerator


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.

Note - 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

Default Screen Resolutions

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 9-1 lists the default screen resolutions by monitor ID sense code.
TABLE 9-1
CodeScreen Resolution
71152 . 900 at 66 Hz
61152 . 900 at 76 Hz
51024 . 768 at 60 Hz
41280 . 1024 at 67 Hz
31152 . 900 at 66 Hz
21280 . 1024 at 76 Hz
11152 . 900 at 66 Hz
01024 . 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 . 900 at 66 Hz.

Supported Screen Resolutions

TABLE 9-2 lists the Elite3D-supported screen resolutions.
TABLE 9-2
Screen ResolutionVertical Refresh RateDescriptionVideo Mode FormatSymbolic Name
1280 . 102476 HzNon-interlaced1280x1024x761280
1280 . 102467 HzNon-interlaced1280x1024x67
1280 . 102460 HzNon-interlaced1280x1024x60
TABLE 9-2 (Continued)
Screen ResolutionVertical Refresh RateDescriptionVideo Mode FormatSymbolic Name
1280 . 102485 HzNon-interlaced1280x1024x85
1280 . 80076 HzNon-interlaced1280x800x76
1152 . 90076 HzNon-interlaced1152x900x761152
1152 . 90066 HzNon-interlaced1152x900x66
1024 . 80084 HzNon-interlaced1024x800x84
1024 . 76877 HzNon-interlaced1024x768x77
1024 . 76875 HzNon-interlaced1024x768x75
1024 . 76870 HzNon-interlaced1024x768x70
1024 . 76860 HzSVGA1024x768x60svga
960 . 680112 HzStereo, non-interlaced, 56 Hz field rate per eye960x680x112sstereo
960 . 680108 HzStereo, non-interlaced, 54 Hz field rate per eye960x680x108s
768 . 57550 HzInterlaced - PAL768x575x50ipal
640 . 48060 HzInterlaced - NTSC640x480x60intsc
640 . 48060 HzNon-interlaced640x480x60
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.

Changing Screen Resolutions (-res)

· To Find Resolutions Supported By Elite3D and the Connected Monitor

· Use the afbconfig command as follows:

  afbconfig -res \?  

You can change the screen resolution temporarily as a test to determine if the monitor supports the specified resolution.

CAUTION Caution - 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.

· To Change Screen Resolutions Temporarily

· Use the afbconfig command as follows:

  afbconfig -res video-mode try  

See TABLE 9-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.

· To Change the Screen Resolution to Stereo

· Enter the following:

  afbconfig -res stereo  

This changes the resolution to 960 . 680 at 112 Hz stereo the next time Xsun is run.

Changing Screen Visuals List

The X server screen visuals list can be altered through afbconfig. The afbconfig options in TABLE 9-3 can be used to configure the list of the exported visuals for the specified device.
TABLE 9-3 afbconfig
NamePossible ValuesDefaults in Solaris2.5.1/ 2.5.1 SHWPDefaults in Solaris 2.6
linearorderfirst/lastlastlast
deflineartrue/falsefalsefalse
overlayorderfirst/lastlastlast
defoverlaytrue/falsefalsefalse
expvisenable/disabledisableenable
sovenable/disabledisableenable

Changing the Visual List Order (-linearorder, -overlayorder)

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  

Changing the Default Visual (-deflinear, -defoverlay)

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  


CAUTION Caution - 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.


CAUTION Caution - 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.

Changing OpenGL Visual Support (-expvis)

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.

· To Activate OpenGL Visual Support (Visual Expansion)

· Enter the following:

  afbconfig -expvis enable  

Changing SERVER_OVERLAY_VISUALS Support (-sov)

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.

· To Advertise SERVER_OVERLAY_PROPERTY and Export SOV

· Enter the following:

  afbconfig -sov enable  

Setting Gamma Correction (-g, -gfile)

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.

· To Set the Gamma Correction Using a Value

· Enter the following:

  afbconfig -g 2.22  

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.

· To Set the Gamma Correction Using a File

· Enter the following:

  afbconfig -gfile filename  

Choosing Extended Overlay (-extovl)

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.

· To Select Extended Overlay Mode

· Enter the following:

  afbconfig -extovl enable  

TABLE 9-4 lists the default settings for the afbconfig -extovl. options.
TABLE 9-4 afbconfig -extovl
Possible ValuesDefaults in Solaris 2.5.1Defaults in Solaris 2.6
enable/disabledisableenable

Choosing the Number of WIDs and Colors in the Overlay (-maxwids)

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.

· To Select the Number of WIDs

· Enter the following:

  afbconfig -maxwids number_of_WIDs  

TABLE 9-5 lists the default settings for afbconfig -maxwids options.
TABLE 9-5 afbconfig -maxwids
Possible ValuesDefaults in Solaris 2.5.1Defaults in Solaris 2.6
1, 2, 4, 8, 16, 32, 6432Not available

Impact on Screen Visual List by Various afbconfig Visual Flags

Effect on the Default Visual and the Visual Group Ordering

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

Effect on the Number of Visual Instances Within Selected Groups

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)

Note - There is no double-buffer capable overlay visual instance.

Addition of the SERVER_OVERLAY_VISUALS Property and the Transparent SOV Visuals in the 8-bit Overlay Group

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  
  
  ===========================================================  


Stereo Connector

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 9-1.

Grafik

FIGURE 9-1

TABLE 9-6 lists the stereo cable signals.
TABLE 9-6
PinDescription
1Ground
2No connection
3+12V
4STEREO signal
5No connection
6No connection
7No connection

Stereo Signal

The STEREO signal is a TTL-level, 50 percent duty cycle signal that switches between left and right stereo shutters, as shown in FIGURE 9-2.
Left

Right

shutter

shutter

FIGURE 9-2 Elite3D Stereo Signal
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