Solaris Handbook for Sun Frame Buffers

Chapter 8 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:

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 8-1 lists the default screen resolutions by monitor ID sense code.

Table 8-1 Elite 3D Graphics Accelerator Monitor Sense Codes

Code 

Screen Resolution 

1152 x 900 at 66 Hz 

1152 x 900 at 76 Hz 

1024 x 768 at 60 Hz 

1280 x 1024 at 67 Hz 

1152 x 900 at 66 Hz 

1280 x 1024 at 76 Hz 

1152 x 900 at 66 Hz 

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.

Supported Screen Resolutions

Table 8-2 lists the Elite3D-supported screen resolutions.

Table 8-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.

Changing Screen Resolutions (-res)

To Find Resolutions Supported By Elite3D and the Connected Monitor
  1. 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
  1. Use the afbconfig command as follows:


    afbconfig -res video-mode try

    See Table 8-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
  1. Enter the following:


    afbconfig -res stereo

This changes the resolution to 960 x 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 8-3 can be used to configure the list of the exported visuals for the specified device.

Table 8-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

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.

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

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

  1. To set the default visual to be a linear visual, enter the afbconfig command as follows:


    afbconfig -deflinear true

  1. 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)
  1. 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
  1. 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
  1. 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
  1. 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
  1. Enter the following:


    afbconfig -extovl enable

    Table 8-4 lists the default settings for the afbconfig -extovl. options.

    Table 8-4 Default Settings for afbconfig -extovl Options

    Possible Values 

    Defaults in Solaris 2.5.1 

    Defaults in Solaris 2.6 

    enable/disable 

    disable 

    enable 

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
  1. Enter the following:


    afbconfig -maxwids number_of_WIDs
    

    Table 8-5 lists the default settings for afbconfig -maxwids options.

    Table 8-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 

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:

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:

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:

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:


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:

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

Figure 8-1 Elite3D Stereo Connector

Graphic

Table 8-6 lists the stereo cable signals.

Table 8-6 Elite3D Stereo Connector Signals

Pin 

Description 

Ground 

No connection 

+12V 

STEREO signal 

No connection 

No connection 

No 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 8-2.

Figure 8-2 Elite3D Stereo Signal

Graphic

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