Xinerama(3X11) X Version 11 (Release 6) Xinerama(3X11)
NAME
Xinerama - Xinerama X extension
SYNOPSIS
Xinerama is an X server extension that presents multiple
physical screens managed by an Xserver as a single logical
screen to X client applications. Refer to the Xsgi(1) and
chkconfig(1M) man pages for information about enabling
Xinerama.
DESCRIPTION
The Xinerama X extension was introduced in X Version 11,
Release 6.4 (X11R6.4). The Xinerama extension allows a
multipipe system (a system with multiple graphics pipes) to
operate as a single-pipe system with a larger screen area.
It allows existing X client applications to operate on
multiple physical screens without modification. The windows
can span multiple screens and move from one screen to
another. The extension requires that the graphics
capabilities for each screen have common visuals, depths,
and resolution.
The extension is implemented in the device-independent level
of the X server. It substitutes the X server dispatch
routines with its own routines, which multicast the client
requests to the underlying physical screens by calling the
original dispatch routines for each screen.
Client applications can be modified to use the Xinerama API,
allowing them to get information about the underlying
physical screens. Values that can be queried include the
number of physical screens and their dimensions.
While modifications are not required, they are suggested if
the application centers windows (such as dialog boxes) which
could cause the window to be split between screens in some
cases.
DIAGNOSTICS
Xinerama will not be enabled in the following conditions:
Single_screen_X_Server
On systems having only one graphics pipe or in the case
where the X server is directed to handle only one pipe
(see the Xsgi(1) man page), enabling Xinerama has no
effect. In these cases, Xinerama will be disabled.
Heterogeneous_Root_Visuals
Only homogeneous root visuals are supported by
Xinerama. If the root visuals don't match, Xinerama
will be disabled and will provide information in the
syslog file (refer to syslogd(1M) man page):
Page 1 (printed 7/20/06)
Xinerama(3X11) X Version 11 (Release 6) Xinerama(3X11)
Xsgi0[586]: Xinerama initialization failure: heterogeneous \
root visuals
Xsgi0[586]: To enable root visual 0x24 of board 0, force \
following (board, visual id):
Xsgi0[586]: (brd 1, vid 0x24)
This means that the following arguments should be given
to Xsgi (refer to the xdm(1) and Xsgi(1) man pages):
-hw board=0,right=1 -hw board=1,left=0,visid=0x24
Note: if the -hw option was already used to start the
server, then the board index i refers to the (i+1)'th
occurence of the -hw option.
For example, if you started the X server with the
following arguments:
... -hw board=1,right=1,visid=0x24 -hw board=0,left=0 ...
the previous output would refer to board 0 (-hw option
of index 1). The fix would be:
-hw board=1,right=1,visid=0x24 -hw board=0,left=0,visid=0x24
NOTES
Xinerama is not yet an Xorg standard. The interface and
protocol may still evolve.
For binary backward compatibility, the following deprecated
functions are supported by the library at run-time:
XineramaAllocInfo, XineramaGetState, XineramaGetScreenCount,
XineramaGetScreenSize. The deprecated XPanoramiX interface
is also still supported at run-time for backward
compatibility.
BUGS
The Xinerama version in IRIX 6.5.12 or later uses a protocol
that is incompatible with versions of Xinerama released in
IRIX 6.5.11 and earlier. If an application links with X
client libraries (dynamically at run time or statically at
compile time) that came with IRIX 6.5.11 and earlier and
then attempts to make Xinerama calls to an X server from
IRIX 6.5.12 or later, the results will be unpredictable.
Similarly, linking with X client libraries from IRIX 6.5.12
or later and connecting to an X server from IRIX 6.5.11 or
earlier will also yield unpredictable results.
Only applications that call XineramaQueryVersion will be
able to reliably detect and report server and client cross-
version incompatibilities.
Page 2 (printed 7/20/06)
Xinerama(3X11) X Version 11 (Release 6) Xinerama(3X11)
The workaround for this protocol incompatibility is to use a
client library and server that both support the same
Xinerama version -- that is, use a client library and X
server from the same IRIX version).
Applications that use X extensions may not run correctly
under Xinerama unless the extension(s) used are supported
under Xinerama. The following is a list of X extensions that
have been modified to work with Xinerama:
DOUBLE-BUFFER
MIT-SHM
Multi-Buffering
SHAPE
XTEST
READDISPLAY
SGICAP
Applications that use X extensions other than these could
experience abnormal behavior with Xinerama enabled.
SEE ALSO
Xsgi(1), chkconfig(1), xdm(1).
API proposed by Xorg (may still evolve):
XineramaQueryExtension(3X11), XineramaQueryVersion(3X11),
XineramaActive(3X11), XineramaGetData(3X11),
XineramaGetCenterHint(3X11).
Page 3 (printed 7/20/06)