Solaris X Window System Developer's Guide

X Consortium Extensions

The Solaris X server supports X extensions as defined by the X Consortium. These extensions are briefly described in the sections below. The sections provide the specification name for each extension, as well as the associated file name (on in parentheses. For information on the standard X Extension Mechanism, see The X Window System Server and the Xlib Programming Manual.

The X Consortium X11 standards referenced in the following sections are readily available to systems on the World Wide Web. The URL is The X11 documentation resides in the /pub/R6untarred/mit/doc/extensions directory on the machine. Use the file transfer protocol (ftp) to download files from this system. If you need help using ftp, refer to the ftp(1) man page. To determine if your system is connected to the World Wide Web, see your system administrator.

X Input Extension

The X Input Extension is Sun's implementation of the X Consortium standard, X11 Input Extension Protocol Specification (/pub/X11/R6.1/xc/doc/specs/Xi/ This extension controls access to alternate input devices (that is, other than the keyboard and pointer). It allows client programs to select input from these devices independently of each other and independently of the core devices.

Double Buffer Extension

The double buffer extension (DBE) is Sun's implementation of the X Consortium standard. Double-buffering provides flicker-free animation capabilities by allowing applications to show the user only completely rendered frames. Frames are rendered in a non-displayed buffer and then moved into a displayed buffer.

Shape Extension

The Shape Extension is Sun's full implementation of the X Consortium standard, X11 Nonrectangular Window Shape Extension ( This extension provides the capability of creating arbitrary window and border shapes within the X11 protocol.

Shared Memory Extension

The Shared Memory extension is Sun's full implementation of the X Consortium experimental Shared Memory Extension ( This extension provides the capability to share memory XImages and pixmaps by storing the actual image data in shared memory. This eliminates the need to move data through the Xlib interprocess communication channel; thus, for large images, system performance increases. This extension is useful only if the client application runs on the same machine as the server.

XTEST Extension

The XTEST extension is Sun's full implementation of the X Consortium proposed standard, X11 Input Synthesis Extension Proposal ( This extension provides the capability for a client to generate user input and to control user input actions without a user being present. This extension requires modification to the DDX layer of the server.

Miscellaneous Extension

The MIT-SUNDRY-NONSTANDARD extension was developed at MIT and does not have a standard, or specification, on the machine. This extension handles miscellaneous erroneous protocol requests from X11R3 and earlier clients. It provides a request that turns on bug-compatibility mode so that certain erroneous requests are handled or turns off bug-compatibility mode so that an error for erroneous requests is returned. The extension also provides a request that gets the current state of the mode.

This extension can be dynamically turned on or off with xset, or at server startup with openwin. See the xset(1) and openwin(1) man pages, specifically the -bc option, for more information.


This standard X Consortium extension allows an application to recycle XIDs. Some applications create and destroy XIDs so rapidly that they exceed the fixed range of XIDs. Most applications do not need to use this extension. The specification is in /pub/X11/xc/doc/specs/Xext/

X Imaging Extension

The X Imaging Extension (XIE) is Sun's implementation of the X Consortium standard.