Solaris Handbook for Sun Frame Buffers

Chapter 8 Expert3D Graphics Accelerator

This chapter describes how to change the Expert3D Graphics Accelerator screen resolution to work properly with different monitors. It also describes the Expert3D internal and external connectors and their use.

The Sun Expert3D graphics accelerator is a high-resolution, high-performance graphics frame buffer that provides hardware texture mapping. The Expert3D system supports screen resolutions up to 1920 x 1200, double-buffered, z-buffered, and 1280 x 1024 stereo.


Note -

ifb is the UNIX device name for the Expert3D Graphics Accelerator.


Configuration Utilities

Two configuration utilities are available for the Expert3D Graphics Accelerator: fbconfig and SUNWifb_config.

The fbconfig Utility

The fbconfig utility is a generic command line interface to query and configure frame buffer attributes. fbconfig works with the Creator3D and Elite3D graphics accelerators, in addition to the Expert3D.

The fbconfig utility can be used to do the following:

For more information on fbconfig, see the fbconfig man page.

The SUNWifb_config Utility

The SUNWifb_config utility is specific to Expert3D; it cannot be used with any other frame buffers. You can use the SUNWifb_config utility to:

For more information, see the SUNWifb_config man page.

Default Screen Resolutions

For most installations, the Expert3D automatically configures itself to the proper screen resolution and refresh rate for the attached monitor. However, if a non-Sun monitor is attached to the Elite3D, the monitor may not have the proper screen resolution.

Table 8-1 lists the default screen resolutions by monitor sense code.

Table 8-1 Elite3D 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 Expert3D 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 Expert3D-supported screen resolutions. The fbconfig or SUNWifb_config utilities can be used to set the Expert3D system to any one of these resolutions.

Table 8-2 Expert3D-supported Screen Resolutions

Screen Resolution 

Vertical Refresh Rate 

Description 

Video Mode Format 

Symbolic Name 

1920 x 1200 

75 Hz 

Non-interlaced 

1920x1200x75

 

1920 x 1200 

70 Hz 

Non-interlaced 

1920x1200x70

 

1920 x 1080 

76 Hz 

Non-interlaced 

1920x1080x76

 

1920 x 1080 

72 Hz 

Non-interlaced 

1920x1080x72

 

1792 x 1344 

75 Hz 

Non-interlaced 

1792x1344x75

 

1600 x 1280 

76 Hz 

Non-interlaced 

1600x1280x76

 

1600 x 1000 

76 Hz 

Non-interlaced 

1600x1000x76

 

1600 x 1000 

66 Hz 

Non-interlaced 

1600x1000x66

 

1440 x 900 

76 Hz 

Non-interlaced 

1440x900x76

 

1280 x 1024 

112 Hz 

Stereo, non-interlaced, 56 Hz field rate per eye 

1280x1024x112 

 

1280 x 1024 

85 Hz 

Non-interlaced 

1280x1024x85

 

1280 x 800 

76 Hz 

Non-interlaced 

1280x800x76

1280

1280 x 1024 

67 Hz 

Non-interlaced 

1280x1024x67

 

1280 x 1024 

60 Hz 

Non-interlaced 

1280x1024x60

 

1280 x 800 

76 Hz 

Non-interlaced, Creator 

1280x800x76

 

1152 x 900 

76 Hz 

Non-interlaced 

1152x900x76

1152

1152 x 900 

66 Hz 

Non-interlaced 

1152x900x66

 

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

 

Changing Screen Resolutions (-res)

To Find Resolutions Supported By Expert3D and the Connected Monitor
  1. Use the SUNWifb_config command as follows:


    SUNWifb_config -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 SUNWifb_config command as follows:


    SUNWifb_config -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:


    SUNWifb_config -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 SUNWifb_config. The SUNWifb_config 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 SUNWifb_config Visual Flags

Name 

Possible Values 

Defaults 

linearorder

first/last

last

deflinear

true/false

false

overlayorder

first/last

last

defoverlay

true/false

false

expvis

enable/disable

enable

sov

enable/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 SUNWifb_config 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 SUNWifb_config command with one of the -linearorder options.

    For example:


    SUNWifb_config -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 SUNWifb_config 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 SUNWifb_config command with one of the -overlayorder options.

    For example:


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

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


    SUNWifb_config -deflinear true

  1. To set the default visual to be an overlay visual, enter the SUNWifb_config command as follows:


    SUNWifb_config -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 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:


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

To Advertise SERVER_OVERLAY_PROPERTY and Export SOV
  1. Enter the following:


    SUNWifb_config -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 Expert3D system. 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:


    SUNWifb_config -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:


    SUNWifb_config -gfile filename

Choosing Extended Overlay (-extovl)

Enabling the extended overlay option will switch the Expert3D system to the extended overlay functionality. The extended overlay mode enables full 256-color overlays and hardware-accelerated Server Overlay Visuals. The maximum number of underlay Window IDs (WIDs) is increased from 32 to 64 and three new overlay WIDs are provided.

To Configure for Extended Overlay Mode
  1. Enter the following:


    SUNWifb_config -extovl enable

Multiple Monitor Configuration

To run more than one frame buffer, you need to modify your /etc/config/Xservers file. The Expert3D device is identified as ifbx (for example, ifb0 and ifb1 for two Expert3D devices. To do this:

  1. Become superuser and open the /etc/dt/config/Xservers file.


    # cd /etc/dt/config
    # vi Xservers
    

  2. Modify the file by adding the device locations for the applicable frame buffers being used.

    The following example shows the Xservers configuration file modified for one Creator card and two Expert3D cards:


    :0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -dev /dev/fbs/ffb0 
    
    -dev /dev/fbs/ifb1 -dev /dev/fbs/ifb0 -nobanner

    See "Multiview Ports" for information on configuring multiple Expert3D cards in a single system.

Defining the Expert3D Card as the Default Console

On a multiple-monitor system, you may wish to define which of the monitors is your default console. To make your Expert3D Card be the default console display:

  1. At the OpenBoot prompt, type the following:


    ok show_displays
    

    The system will output a list of the available frame buffers, similar to the following:


    a) /PCI@@l1, 2000/SUNW,Expert3D@1
    b) /PCI@@l5, 2000/SUNW,afb@1
    q) NO SELECTION

  2. Select the option for the device you want to use as the console.

    In the above example, you would select option a if you want to make the Expert3D device be the console.

  3. Set this device to be the console device.

    At the OpenBoot prompt, enter the following:


    ok setenv output-device <Control-Y> <ENTER>
    ok reset
    

You can also create an alias for the Expert3D system to simplify future OpenBoot commands. After running the show-displays command and choosing the Expert3D device from the menu, type the following:


ok nvalias screen1 <Control-Y>
ok nvstore

To verify that this alias is correctly set, type the following:


ok devaliases

You can then refer to screen1 for the Expert3D device. For example:


ok setenv output-device screen1

Expert3D Connectors

The Expert3D board has both internal and external I/O connectors. The internal connectors are used for multiviewing and the external ports are used for external video synchronization and stereo. Figure 8-1 shows the external I/O connectors.

Figure 8-1 Expert3D External Connectors

Graphic

Stereo Connector

The stereo connector allows connection of stereo goggles to the Expert3D Graphics Accelerator. The stereo connector is a seven-pin DIN connector, as shown in Figure 8-2

Figure 8-2 Expert3D Stereo Connector

Graphic

Table 8-4 lists the stereo cable signals.

Table 8-4 Expert3D Stereo Connector Signals

Pin 

Description 

Ground 

5.0V (fused, will supply up to 300 mA, limited to 1.0A) 

+12V (fused, will supply up to 300 mA, limited to 1.0A) 

STEREO signal 

No connection 

No connection 

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

Figure 8-3 Expert3D Stereo Signal

Graphic

A stereo cable and goggles for use with the Expert3D 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

Video Synchronization Port

The video synchronization port provides an input to the Expert3D board used to provide a periodic signal to which the display system attempts to lock its vertical refresh rate. This port uses a 75 ohm BNC male connector. A 75 ohm coax cable terminated with a female BNC connector is needed to connect to this port.

The video synchronization port supports the following formats:

Multiview Ports

The internal Multiview In and Multiview Out ports on the Expert3D card, shown as J1 and J2 in Figure 8-4, are used for cable connections from one Expert3D card to another. These ports are accessible only inside the workstation chassis.

Figure 8-4 Expert3D Multiview In and Multiview Out Connectors

Graphic

Configuring Multiple Expert3D Graphics Cards

You can frame lock only two Expert3D cards for multiviewing. When two Expert3D cards are used in a multiviewing configuration, one of the cards is designated as the master and the other as the slave.

To configure two Expert3D cards for multiviewing through frame locking:

  1. Select an Expert3D card to designate as the master for the system.

    One solution for designating an Expert3D to be the master is to use the Expert3D card that serves as the boot/console head for the system.

  2. Make sure that each Expert3D card installed has the same screen resolution as the Expert3D in the master mode.

    If the resolution on each Expert3D card is not the same, you must change it to match the Expert3D in master mode.

    To check the resolution of an Expert3D card, use the SUNWifb_config utility. For example:


    % SUNWifb_config -dev /dev/fbs/ifb0 -prconf
    

    You must repeat this command for each Expert3D card in the system.

    The SUNWifb_config utility displays the current screen resolution setting. It also displays additional information, such as whether the Expert3D card is a master or a slave.

    If you need to change the resolution of an Expert3D card, use the SUNWifb_config utility. For example


    % SUNWifb_config -dev /dev/fbs/ifb1 -res 1280x1024x76 now nocheck
    
    :

  3. Connect the frame lock multiview cable to each Expert3D card.

    See Figure 8-4.

    1. Connect the top of the multiview frame lock cable assembly to the Multiview-out Jx connector of the master Expert3D card.

    2. Connect the other end of the multiview frame lock cable to the Multiview-in Jx connector of the slave Expert3D card.

  4. From the master Expert3D card display window, configure the other Expert3D card in slave mode.

    To do this, use the SUNWifb_config utility.


    % SUNWifb_config -dev /dev/fbs/ifb1 -slave on
    

    You must configure each card separately.

Your system is now ready for frame lock and buffer swap synchronization software applications.

To reconfigure your Expert3D card from slave mode back to master mode, do one of the following:

You must configure each card in slave mode separately.