Chapter 6. Limitations

OpenGL Mulitpipe allows single-pipe applications to run in a multipipe environment without any modification and without the need to recompile the application. It also allows single-pipe and multipipe applications to run concurrently on the same X server. However, OpenGL Multipipe has limitations and the following sections describe them:

For release-dependent limitations, see the OpenGL Multipipe release notes.

Performance Enhancement

OpenGL Multipipe does not replace performance-focused multipipe APIs—such as OpenGL Performer or OpenGL Multipipe SDK—or any other custom multipipe solution. Using OpenGL Multipipe results in some minimal overhead (performance loss) for traditional single-pipe applications. This is due to the inherent cost of distributing the X and OpenGL commands among the graphics pipes.

It should be noted that process placement—that is, the way in which processes are assigned to processors—can significantly affect performance. For the affect of process placement on performance, see the OpenGL Multipipe release notes.

X Extensions

Some X extensions are not supported by DMX. Applications using these X extensions may not function properly. The behavior of these applications started in unaware mode is undefined, though they will generally behave correctly on screen 0 or in aware mode. To determine whether a particular extension is supported, see the section “X Application Uses Unsupported X Extension” in Chapter 7.

The Multipipe-Aware Window Manager

Due to the nature of the screen overlapping required for composited displays, the aware window manager is currently limited to managing aware windows on noncomposited displays only. Unaware windows will be managed properly on composited displays.

OpenGL Window Size Constraints

The hardware graphics pipes have a hardware-dependent limit on the size of the region into which an OpenGL application renders. The consequence is that an OpenGL application is constrained to draw into a limited area. An OpenGL window may be placed anywhere within the the total area managed by the X server. Only the size of the region into which OpenGL renders is restricted.

Under DMX, however, OpenGL Multipipe allows OpenGL rendering to be unaffected by the window size limit of the graphics hardware. If the OpenGL application is invoked using omprun, the application may render into windows of any size.

SGI ProPack and OpenGL Multipipe Versions

Versions of OpenGL Multipipe that ship with SGI Propack for Linux are only supported on the version of SGI Propack with which they ship due to backwards compatibility issues on Linux.

Overlay Windows Support in DMX

DMX supports overlay windows—that is, windows that use overlay visuals—only if overlay visuals are available on each of the underlying X servers that DMX manages. This is the case on most SGI systems. On Silicon Graphics Prism platforms, you must explicitly enable support of overlay visuals in the configuration file(s) of the underlying XFree86 server(s).