Operating System and Version: | Tru64TM UNIX V5.1A V5.1B |
COSIX®64 V5.1A V5.1B | |
Software Version: | Version 2.3 |
COMPAQ and PowerStorm Registered in U.S. Patent and Trademark Office.
Tru64 is a trademark of Compaq Information Technologies Group, L.P. in the
United States and/or other countries. COSIX is a registered trademark of
China National Computer Software and Technology Service Corporation,
Beijing, China. Microsoft, Windows and Windows NT are registered trademarks
of Microsoft Corporation in the United States and/or other countries. Motif,
UNIX, and the "X" device are registered trademarks of The Open Group
in the United States and/or other countries. All other product names
mentioned herein may be trademarks or registered trademarks of their
respective companies.
Compaq shall not be liable for technical or editorial errors or omissions contained herein. The information in this document is subject to change without notice.
The information in this publication is subject to change without notice and is provided "AS IS" WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK ARISING OUT OF THE USE OF THIS INFORMATION REMAINS WITH RECIPIENT. IN NO EVENT SHALL COMPAQ BE LIABLE FOR ANY DIRECT, CONSEQUENTIAL, INCIDENTAL, SPECIAL, PUNITIVE OR OTHER DAMAGES WHATSOEVER (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION OR LOSS OF BUSINESS INFORMATION), EVEN IF COMPAQ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
The limited warranties for Compaq products are exclusively set forth in the documentation accompanying such products. Nothing herein should be construed as constituting a further or additional warranty.
1 | Release Information for PowerStorm 300/350 |
1.1 | Product Summary |
1.1.1 | Product Enhancements |
1.1.2 | Product Bug Fixes |
1.2 | Overlay Support |
1.2.1 | Technical Background |
1.2.2 | Window Managers for Overlays |
1.3 | Multiple Colormaps |
1.4 | Multihead Support |
1.4.1 | Matching X Server Primary Screen with VGA Console |
1.4.2 | PanoramiX Support |
1.5 | Supported Video Modes |
1.5.1 | Supported Stereo Resolutions on PowerStorm 350 |
1.6 | Synchronizing Flips with Vertical Retrace |
1.7 | Default Texel Size |
1.8 | Double-Buffer-Aware XGetImage |
1.9 | Thread-Safe OpenGL |
1.10 | Limitations and Restrictions |
1.10.1 | Backing Store and Save Under are Disabled |
1.10.2 | OpenGL Restrictions |
1.10.2.1 | Stereo Unsupported on PowerStorm 300 |
1.10.2.2 | Rendering Mono to Stereo Visual |
1.10.2.3 | Destination Alpha Unsupported |
1.10.2.4 | Single Stencil Plane |
1.10.2.5 | Requesting Indirect Rendering |
1.10.2.6 | GLX Pixmap Support |
1.10.2.7 | Texture Filtering of Line Primitives |
1.10.2.8 | 4D Vertex and Texture Coordinate Handling |
1.10.2.9 | Antialiasing in Color Index Mode |
1.10.2.10 | Texture Mapping and Performance |
1.10.2.11 | OPEN3D License Required |
/usr/opt/3X0/ReleaseNotes/ReleaseNotes.html
OR run 'setld -l' using the location argument to specify the location of the PowerStorm 3x0
If you wish to unconfigure this node because it no longer supports the PowerStorm 3x0,
To delete the PowerStorm 3x0 kit from the entire cluster, use the 'setld -d' command.
If it is configured for the PowerStorm 3x0, the following message will be displayed:
If you wish to unconfigure this node because it no longer supports the PowerStorm 3x0,
To delete the PowerStorm 3x0 kit from the entire cluster, use the 'setld -d' command.
If it is NOT configured for the PowerStorm 3x0, the following message will be displayed:
To get the visualIDs of the overlay visuals, you need to get the
You would typically receive the following information:
Overlay windows and regular windows are in different layers, so drawing in
an overlay window will not disturb the pixels of the regular window, and
vice versa. If you draw a transparent pixel into an overlay window, the
pixel of the non-overlay window beneath that window will show through.
Tru64 UNIX supplies the dtwm window manager, which provides an option to
support overlays. Use the
Tru64 UNIX also supplies a Motif window manager with an option to support
overlays. However, this window manager overlay option
(
Applications should not install or deinstall colormaps themselves. The
window manager should perform these actions. However, the application is
responsible for providing the window manager with hints as to which
colormaps to install or deinstall. You provide this information using the
Xlib function
For information on how to use this function and how the window manager
interprets the property, see X Window System by Scheifler and Gettys, 3rd
Edition, Digital Press (Section 14.1.11, Setting and Reading the
WM_COLORMAP_WINDOWS Property, pages 425-426, and Section 4.1.8, Colormaps,
page 649-651).
Applications developed on systems with only one colormap may appear incorrect
on systems with multiple colormaps. There are several application errors
that can cause this, but the most prevalent is not having the correct colormap
associated with all the windows that require it. To correct this problem, use
The supported number and configuration of multiple PowerStorm 300 and
PowerStorm 350 boards vary by platform. Other documentation shipped with
your workstation or server, or with your PowerStorm 300/350 option or
driver software, will put specific limitations on the number and
configuration of multihead support.
The PowerStorm 300/350 is not supported in conjunction with any other
non-PowerStorm 300/350 graphics board residing in the system.
The X server command line option
In order to take advantage of the unique features of the PowerStorm 350, such
as stereo rendering or the enlarged texture cache, all heads in the
PanoramiX configuration must be PowerStorm 350s. If any PowerStorm 300
is present, all PowerStorm 350s will behave like PowerStorm 300s.
This guide is intended for anyone who has purchased the Compaq® PowerStorm
300 or PowerStorm 350 option. A knowledge of Tru64 UNIX installation is
recommended. For more information on future releases or updates, please refer to
the following URL: http://www.
service.digital.com/open3d
1 Release Information for PowerStorm 300/350
1.1 Product Summary
PowerStorm 300/350 UNIX Graphics Support contains the following components:
PowerStorm 300/350 V2.3 is available in the following kit:
1.1.1 Product Enhancements
This release of the PowerStorm 300/350 will be supported on Tru64 UNIX V5.1A and V5.1B. This
release is cluster safe and allows you to configure each node on the cluster individually based on the
graphics adapter that each member node supports.
***** WARNING MESSAGE for PowerStorm 300/350 kits *****
The PowerStorm 3x0 kit will be installed only on the current node.
If you wish TO INSTALL THIS KIT ON OTHER MEMBERS of the cluster
that have a PowerStorm 3x0 adapter, you must log onto that member
node and either run the following script file
/usr/opt/3X0/config_script -c
kit and it will reissue these instructions for you.
setld -l location
run the following script file
/usr/opt/3X0/config_script -d
***** INFORMATION MESSAGE for PowerStorm 300/350 kits *****
The PowerStorm 3x0 kit has already been installed on the cluster and the soft links
correctly point to the PowerStorm 3x0 kit area (/usr/opt/3X0).
run the following script file
/usr/opt/3X0/config_script -d
***** WARNING MESSAGE for PowerStorm 300/350 kits *****
The PowerStorm 3x0 kit has already been installed on the cluster but this node does
not have the soft links set up to point to the PowerStorm 3x0 kit area (/usr/opt/3X0).
To set up the links, run the following script file
/usr/opt/3X0/config_script -c
1.1.2 Product Bug Fixes
The following was fixed for V2.3 of PowerStorm 300/350:
1.2 Overlay Support
The PowerStorm 300 and PowerStorm 350 support 8-bit double-buffered
overlays. The following section describes this overlay support and how to
use it.
1.2.1 Technical Background
An overlay window is an 8-plane PseudoColor visual. A colormap created with
that visual would have 255 entries available to the user. Entry 0 is
always the transparent pixel.SERVER_OVERLAY_VISUALS
property from the root window. To retrieve the
property and interpret the data associated with it, consider the following
example:
property_name: SERVER_OVERLAY_VISUALS
property_type: SERVER_OVERLAY_VISUALS
format: 32
The contents of the property is a LIST of the following data structure:
SERVER_OVERLAY_VISUALS {
overlay_visual: VISUALID
transparent_type: {None, TransparentPixel, TransparentMask}
value: CARD32
layer: CARD32
}
The PowerStorm 300 server returns a list that contains three elements, one
for each overlay visual. The PowerStorm 350 server returns five. The
elements consist of four long-words as described above.
0x00000027 /* VisualID */
0x00000001 /* Indicates that the transparent_type is TransparentPixel */
0x00000000 /* The transparent pixel's value is 0 */
0x00000001 /* The layer is 1 */
Once you have a visualID, you can retrieve the rest of the information
about the overlay visual and colormap by calling the routine
XGetVisualInfo.
1.2.2 Window Managers for Overlays
It is strongly suggested that you share colormaps with the window manager,
as the hardware supports only one colormap for the overlay planes. This
can be achieved by querying the server property name
SERVER_OVERLAY_COLORMAPS
. This property will return the 32-bit value that
is the overlay colormap ID. If you create and install your own colormap,
you will have overlay colormaps alternating on the screen, which will have
the effect of changing the colors of the window manager's borders and
banners.-Overlay
command line option (dtwm -Overlay
) to
allow the window manager to take advantage of the overlay planes. When the
window manager overlay option is enabled, the borders of windows in the
overlay planes are created in the overlays as well. This reduces the number
of expose events for applications that create menus or other windows in the
overlays. Borders of windows in the main image planes still reside in the
main image planes./usr/bin/X11/mwm -Overlay
) has numerous problems and is not recommended
or supported.
1.3 Multiple Colormaps
The PowerStorm 300 and PowerStorm 350 support multiple, simultaneously
installed colormaps. At most four colormaps may be installed at one time.
Of these four colormaps, at most one may be an overlay colormap. Exceeding
these limits will cause colormap flashing, also known as "technicolor."XSetWMColormapWindows()
. This function sets the
WM_COLORMAP_WINDOWS
property for a given window.XChangeWindowAttributes()
to set the colormap for all windows in the
application that require the colormap.
1.4 Multihead Support
Multiple PowerStorm 300 or PowerStorm 350 boards may reside in the same system.
Only one will be used for the VGA console. This board must have its VGA
jumper (J8 on PS300, J4 on PS350) set to "enable," and must be in a lower
numbered slot than the other boards. The other boards must have their VGA
jumpers set to "disable." See your workstation or server user manual to
determine slot numbering.
1.4.1 Matching X Server Primary Screen with VGA Console
PCI slots are not always probed by the system in the order of their slot
numbers. Because of this, the order of X server screens will not necessarily
correspond to the order of the slots in which the PowerStorm 300 and/or
PowerStorm 350 boards reside.-screenOrder
may be used to alter the
mapping of physical screens to logical screens. In particular, this can be
useful if you desire the X server's primary screen to coincide with the
VGA console.
1.4.2 PanoramiX Support
To quote from the Xdec man page:
+panoramiX
Enables the PanoramiX extension which allows a system
with multiple video monitors to operate the monitors as
a single large screen.
-panoramiX
Disables the PanoramiX extension.
Both conventional X windows and OpenGL windows can be dragged across
screen boundaries when PanoramiX is enabled. Consult the Xdec man page
for all relevant options. In particular, the following options will be
of interest:
+panoramiX
-edge_bottom
-edge_left
-edge_right
-edge_top
-screenOrder
Any multihead configuration of screens supported in non-PanoramiX mode is
also supported with PanoramiX enabled. Screen resolutions need not be
consistent. The X server will compensate for non-rectangular configurations,
or configurations with varying resolutions, by placing the single virtual
screen on the largest complete rectangle that can be constructed from the
available physical screens. The remaining regions will appear black, and
will be treated as "off-screen." (Windows can be dragged off-screen, but
some part of the window must remain "on-screen.")
Resolution | PowerStorm 300 | PowerStorm 350 |
---|---|---|
640x480 | 60, 72, 75 | 60, 72, 75 |
800x600 | 72, 75, 85, 120 | 72, 75, 85, 120 |
1024x768 | 70, 75, 76, 85 | 60, 70, 75, 76, 85, 100, 130 |
1152x864 | 60, 75, 85 | 60, 75, 85, 90, 100, 110 |
1280x992 | N/A | 85, 90, 100, 110, 120 |
1280x1024 | 60, 61, 66, 73, 75, 85 | 60, 61, 66, 72, 73, 75, 85, 90, 100, 110, 120 |
1600x1200 | N/A | 60, 75, 85 |
1920x1200 | N/A | 60, 75 |
/usr/var/X11/Xserver.conf
. Before attempting to change your resolution, make
sure that the attached monitor will support this new video mode.As an example, to switch to 1280x1024 at 85Hz:
! PowerStorm 300/350 Server args start
-pn -bs -su -nice -2 -screen 1280x1024 -vsync 85
! PowerStorm 300/350 Server args end
You then need to restart the X server. When logged in remotely:
/usr/sbin/init.d/xlogin restart
1.5.1 Supported Stereo Resolutions on PowerStorm 350
Stereo is supported on the PowerStorm 350 at those resolutions in Table 2-1
at and below 1280x1024. Although you should always set the refresh rate to
the highest value supported by both the PowerStorm board and your monitor, it
is particularly important when in stereo mode. The perceived refresh rate is
effectively divided in half between the left and right image.
1280x992 is a special resolution which provides improved performance for
clear operations when in stereo mode. This includes OpenGL glClear()
calls.
1280x992 is therefore the recommended high-resolution video mode for use with
stereo, although 1280x1024 will function correctly with some level of
performance degradation.
To enable this synchronization, add the following device-dependent
argument to the X server command-line arguments discussed above:
Note:
In order to make 32-bit texels the default for generic
Note:
The portable way to read the contents of OpenGL buffers is to use the
To enable the double-buffer-aware
However, it should be noted that the performance
of these thread-safe libraries may be significantly reduced. In most cases, the
overhead of locking down contexts clearly outweighs the benefits of rendering
from multiple threads. For example, the Viewperf benchmarks show a 3x to 5x
performance degradation.
To enable the thread-safe OpenGL client libraries, you simply need to add
a directory to your
Users running only 2D applications may prefer to enable backing store and
save under, as these features may improve performance in some cases. To do
this, you need to edit the server configuration file
The PowerStorm 350 does not have such an architecture. When
For this reason, it is important that you choose a mono visual when rendering
the same view to both left and right buffers. If an application needs to
alternate between rendering mono and stereo images, it can be written to
switch between mono and stereo visuals rather than always using a stereo
visual.
The A- and B-chips accommodate 8-bit channels for red, green, and blue.
The remaining 8-bit channel is used for 8-bit overlay planes instead of a
destination alpha channel. Most blending techniques only use the source
alpha channel and do not require a destination alpha channel.
By default, OpenGL software for PowerStorm 300/350 forces a direct-rendered
OpenGL rendering context whenever the connection is "direct," for example,
when
To do this, you need to edit the server configuration file
No GLX pixmap rendering is supported for contexts marked direct.
1.6 Synchronizing Flips with Vertical Retrace
By default, for performance reasons, double-buffered window flips are not
synchronized with vertical retrace. This results in visual artifacts when
a buffer flip occurs during vertical retrace.
! PowerStorm 300/350 Server args start
-pn -bs -su -nice -2 -I -riFlipVSync
! PowerStorm 300/350 Server args end
The -I
marks the beginning of device-dependent arguments. The -riFlipVSync
enables synchronization of buffer flips with vertical retrace.
This synchronization will reduce performance on applications (including
benchmarks!) which would otherwise have a frame rate that exceeds the refresh
rate, in effect limiting the frame rate to the refresh rate. In some cases,
the frame rate is further limited to half the refresh rate. In other words, a
60 Hz refresh rate with synchronization enabled will limit an application to
roughly 30-60 frames per second.
1.7 Default Texel Size
When specifying a texture in OpenGL, the application may request the use of
a particular internal format for GL_RGB
(3 component) and GL_RGBA
(4 component)
textures. If the generic internal format of GL_RGB
or GL_RGBA
is used,
the OpenGL implementation chooses which internal format (bit-depth) to use.
The default behavior for our implementation is to use 16-bit texels, as this
will effectively double the number of such textures that will fit in the
texture cache, albeit at some loss of visual fidelity.GL_RGB
and GL_RGBA
format textures, you must set a device-dependent command-line argument when
invoking the X server:
! PowerStorm 300/350 Server args start
-pn -bs -su -nice -2 -I -riDefaultTexel32
! PowerStorm 300/350 Server args end
See Sections 1.5 and 1.6 above for more information about setting
command-line arguments for the X Server.
An application can explicitly request 32-bit texels by choosing an
appropriate 32-bit internal format rather than a generic one. In this case,
no change to X server arguments is necessary.
1.8 Double-Buffer-Aware
XGetImage
XGetImage
will return a window's visible
pixels, as well as any pixels in inferior or overlapping windows, as long
as their depths are consistent. However, windows created with OpenGL
visuals inherently have different depths due to their ancillary buffers
(back-buffer, Z-buffer, accumulation buffer, stencil planes, etc.). The
contents returned by XGetImage
for these regions are undefined,
as specified by the X Window System. Our implementation will in fact
return the expected results for single-buffered OpenGL visuals, but will
return unexpected results after every other glXSwapBuffers
call for
double-buffered visuals.glReadPixels
call. However, if using XGetImage
to serve this purpose is
desirable, we have provided an option which will return the expected results,
even for inferior or overlapping double-buffered OpenGL windows. The
performance of XGetImage
calls will be negatively impacted with this
option enabled, so it should only be turned on if necessary.XGetImage
, you must set a device-dependent
command-line argument when invoking the X server:
! PowerStorm 300/350 Server args start
-pn -bs -su -nice -2 -I -riDBAwareGetImage
! PowerStorm 300/350 Server args end
See Sections 1.5 and 1.6 above for more information about setting
command-line arguments for the X Server.
1.9 Thread-Safe OpenGL
Thread-safe versions of the OpenGL client libraries are available for use.
These thread-safe versions allow users to run applications that make use of
multiple rendering threads.LD_LIBRARY_PATH
environment variable before running your application. For example,
assuming a csh-compatible shell:
setenv LD_LIBRARY_PATH /usr/opt/3X0/threadsafe
or if LD_LIBRARY_PATH
is already defined:
setenv LD_LIBRARY_PATH /usr/opt/3X0/threadsafe:${LD_LIBRARY_PATH}
1.10 Limitations and Restrictions
This section of the document contains limitations and restrictions of the
PowerStorm 300/350 hardware and software.
1.10.1 Backing Store and Save Under are Disabled
Backing store and save under are disabled by default. These X server
features, when used in conjunction with OpenGL (3D) windows, will yield
unexpected results. This is because OpenGL-specific framebuffer contents,
such as back-buffer, Z-buffer, or stencil planes, are not included among the
saved window contents./usr/var/X11/Xserver.conf
to remove the options currently disabling these features. Search for the
following lines in this file:
! PowerStorm 300/350 Server args start
-pn -su -bs -nice -2
! PowerStorm 300/350 Server args end
and remove the options that disable backing store and save under:
! PowerStorm 300/350 Server args start
-pn -nice -2
! PowerStorm 300/350 Server args end
You then need to restart the X server. When logged in remotely:
/usr/sbin/init.d/xlogin restart
1.10.2 OpenGL Restrictions
This section describes OpenGL-related restrictions.
1.10.2.1 Stereo Unsupported on PowerStorm 300
Stereo GLX visual support is not a feature of the PowerStorm 300.
1.10.2.2 Rendering Mono to Stereo Visual
Some graphics boards have architectures that allow an application to draw
simultaneously to both left and right buffers of a stereo visual. In other
words, when glDrawBuffer()
is set to GL_FRONT
, GL_BACK
, or GL_FRONT_AND_BACK
,
rendering is just as fast as if the glDrawBuffer()
is set to GL_LEFT
or
GL_RIGHT
alone.glDrawBuffer()
is
set to GL_FRONT
, GL_BACK
, or GL_FRONT_AND_BACK
, and the application is
rendering to a stereo visual, the geometry must be sent through the OpenGL
pipeline twice, sequentially. This leads to a performance reduction which
happens to be significantly worse than having the application draw the same
geometry twice (once to GL_LEFT
and once to GL_RIGHT
).
1.10.2.3 Destination Alpha Unsupported
The PowerStorm 300/350's framebuffer is composed of three sets of chips.
These are referred to as the A-chip, the B-chip, and the Z-chip. The A-
and B-chips are front and back image planes, while the Z-chip contains the
depth buffer and other miscellaneous planes. All chips contain 32-bits per
pixel.
1.10.2.4 Single Stencil Plane
The Z-chip, mentioned above, accommodates a 24-bit depth buffer. Seven of
the remaining eight bits are used for pixel ownership, masking planes, and
colormap tables. This leaves only one stencil plane. You may notice that
the Windows NT software for the PowerStorm 300/350 offers four stencil
planes. This is because the Windows NT window system does not have the
same high demands for functionality, such as the ability to support
windows of varying bit-depth on the same screen.
1.10.2.5 Requesting Indirect Rendering
The PowerStorm 300 and PowerStorm 350 graphics boards are specifically
optimized to run direct-rendered OpenGL applications. Some older applications
were coded to request indirect-rendered OpenGL rendering contexts. Those
applications will not perform optimally on modern graphics boards without
intervention.DISPLAY
is :0
. If necessary, this behavior can be overridden by defining
the following environment variable:
setenv ALLOWINDIRECT
1.10.2.6 GLX Pixmap Support
The PowerStorm 300/350 software does not provide hardware-accelerated
rendering to GLX pixmaps. If your application requires this functionality,
you must enable the generic software OpenGL renderer./usr/var/X11/Xserver.conf
to add the option for enabling the software
renderer. Search for the following lines in this file:
! PowerStorm 300/350 Server args start
-pn -su -bs -nice -2
! PowerStorm 300/350 Server args end
and add the option that enables the software renderer:
! PowerStorm 300/350 Server args start
-pn -su -bs -nice -2 -I -riGLXuseSWindirect
! PowerStorm 300/350 Server args end
(The -I
marks the beginning of device-dependent arguments.) You then need
to restart the X server. When logged in remotely:
/usr/sbin/init.d/xlogin restart
Additionally, the OpenGL specification precludes direct-rendering to
pixmaps. This further limits the performance of drawing to GLX pixmaps.
To use GLX pixmaps when running on a local (:0 or direct:0) display, create
an indirect rendering context and set the following environment variable,
as discussed in section 1.10.2.5:
setenv ALLOWINDIRECT
It is recommended that any application that extensively uses GLX pixmap
drawing be recoded to draw to the back buffer if appropriate. Performance
will be significantly better on this and most other OpenGL-based graphics
options.
1.10.2.7 Texture Filtering of Line Primitives
There is a known bug in the texture filter selection for line primitives.
Textured lines are not drawn correctly when the magnification filter is
not the same as the minification filter.
1.10.2.8 4D Vertex and Texture Coordinate Handling
There are several cases of 4D vertices that are not handled correctly. The
same is true of 4D texture coordinates.
1.10.2.9 Antialiasing in Color Index Mode
The antialiasing modes (GL_POINT_SMOOTH, GL_LINE_SMOOTH, and
GL_POLYGON_SMOOTH) are not supported in color-index mode. Nothing will be
drawn in these cases, and a warning message will be issued.