C H A P T E R  9

Expert3D and Expert3D-Lite Graphics Accelerator

This chapter describes how to change the Sun Expert3D and Expert3D-Lite graphics accelerators screen resolutions to work properly with different monitors. It also describes the internal and external connectors and their use.



Note - The Expert3D-Lite software packages and configuration utilities are the same as the Expert3D graphics card. Expert3D information in this chapter, therefore, also pertains to the Expert3D-Lite graphics accelerator devices.



The Expert3D graphics accelerator is a high-resolution, high-performance graphics frame buffer that provides hardware texture mapping. The Expert3D system only, 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 and Expert3D-Lite graphics accelerators.




Configuration Utilities

Two configuration utilities are available for the Expert3D and Expert3D-Lite graphics accelerators: fbconfig and SUNWifb_config. References to Expert3D also applies to Expert3D-Lite.

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 Expert3D, the monitor may not have the proper screen resolution.

TABLE 9-1 lists the default screen resolutions by monitor sense code.

TABLE 9-1 Expert3D 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 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 9-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 9-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)


procedure icon  To Find Resolutions Supported By Expert3D and the Connected Monitor

single-step bulletUse 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 - 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.



procedure icon  To Change Screen Resolutions Temporarily

single-step bulletUse the SUNWifb_config command as follows:

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


procedure icon  To Change the Screen Resolution to Stereo

single-step bulletEnter 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 9-3 can be used to configure the list of the exported visuals for the specified device.

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

single-step bulletTo 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.

single-step bulletTo 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.

single-step bulletTo set the default visual to be a linear visual, enter the SUNWifb_config command as follows:

SUNWifb_config -deflinear true

single-step bulletTo set the default visual to be an overlay visual, enter the SUNWifb_config command as follows:

SUNWifb_config -defoverlay true



caution icon

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 icon

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.


procedure icon  To Activate OpenGL Visual Support (Visual Expansion)

single-step bulletEnter 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.


procedure icon  To Advertise SERVER_OVERLAY_PROPERTY and Export SOV

single-step bulletEnter 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.


procedure icon  To Set the Gamma Correction Using a Value

single-step bulletEnter 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.


procedure icon  To Set the Gamma Correction Using a File

single-step bulletEnter 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.


procedure icon  To Configure for Extended Overlay Mode

single-step bulletEnter 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 displa

1. At the OpenBoot prompt, type the following:

ok show_displays

The Expert3D 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

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

a) /pci@1f,0/SUNW,m64B@13
b) /pci@1f,0/pci@5/SUNW,Expert3D@1
q) NO SELECTION 
Enter Selection, q to quit: b
/pci@1f,0/pci@5/SUNW,Expert3D@1 has been selected.
Type ^Y ( Control-Y ) to insert it in the command line. 
e.g. ok nvalias mydev ^Y 
    for creating devalias mydev for 
/pci@1f,0/pci@5/SUNW,Expert3D@1
ok nvalias myscreen /pci@1f,0/pci@5/SUNW,Expert3D@1
ok setenv output-device myscreen
output-device =       myscreen

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


Multiview Ports

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

 FIGURE 9-1 Expert3D Multiview In and Multiview Out Connectors

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.

  • When your system is first started, Solaris places all Expert3D cards in the system in master mode. To use the Expert3D cards for multiviewing, use the SUNWifb_config utility to set one of the cards to be the slave.
  • There can only be one master Expert3D card in a system.
  • You must choose a screen resolution supported by Expert3D and assure that each Expert3D monitor in frame lock is set to that resolution.
  • Refer to the boot man page for device location and device numbering information for how devices are numbered based on their physical location. You may select any device (that is, ifb0 or ifb1) to be the master Expert3D device.

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

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

b. Connect the other end of the multiview frame lock cable to the Multiview-in J1 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:

  • Power cycle the system.
  • Use the SUNWifb_config utility. For example:
  • % SUNWifb_config -dev /dev/fbs/ifb1 -slave off
    

You must configure each card in slave mode separately.