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.
ifb is the UNIX device name for the Expert3D Graphics Accelerator.
Two configuration utilities are available for the Expert3D Graphics Accelerator: fbconfig and SUNWifb_config.
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:
Print a list of the installed frame buffers and the associated device-specific configuration utilities that can be used
Any of the uses described for the SUNWifb_config utility.
For more information on fbconfig, see the fbconfig man page.
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:
Specify a different screen resolution
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
Specify whether Server Overlay Visuals (SOV) will be available
Enable slave mode so that the video from this frame buffer will be synced with the video of the display that is connected to it
Enable stereo mode
Enable frame buffer memory to be allocated for accelerated accumulation buffer for windows
Configurable gamma correction by specifying a gamma value or a file containing a gamma-correction table
For more information, see the SUNWifb_config man page.
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 |
---|---|
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.
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 |
|
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 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.
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 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 |
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.
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.
To change the setting, enter the SUNWifb_config command with one of the -overlayorder options.
For example:
SUNWifb_config -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 SUNWifb_config.
To set the default visual to be a linear visual, enter the SUNWifb_config command as follows:
SUNWifb_config -deflinear true |
To set the default visual to be an overlay visual, enter the SUNWifb_config command as follows:
SUNWifb_config -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 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 SUNWifb_config.
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.
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.
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 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:
Become superuser and open the /etc/dt/config/Xservers file.
# cd /etc/dt/config # vi Xservers |
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.
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:
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 |
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.
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 |
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.
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
Table 8-4 lists the stereo cable signals.
Table 8-4 Expert3D Stereo Connector Signals
Pin |
Description |
---|---|
1 |
Ground |
2 |
5.0V (fused, will supply up to 300 mA, limited to 1.0A) |
3 |
+12V (fused, will supply up to 300 mA, limited to 1.0A) |
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 8-3.
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
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:
NTSC composite video
PAL composite video
TTL, LVTTL, or CMOS-level compatible signal (50 Hz to 180 Hz), with a minimum low or high pulse of 100 nS (TBV)
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.
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:
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.
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 |
Connect the frame lock multiview cable to each Expert3D card.
See Figure 8-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.