I am sponsoring this case for myself and closing it as approved automatic
as it simply tracks the community addition of new protocol requests & events
to the existing RandR extension to the X protocol, and the corresponding
API additions to the libXrandr library and CLI additions to the xrandr program.
This case requests a Micro/Patch binding.
-Alan Coopersmith- alan.coopersmith at sun.com
Sun Microsystems, Inc. - X Window System Engineering
-------------------------------------------------------------------------------
Template Version: @(#)sac_nextcase 1.64 07/13/07 SMI
This information is Copyright 2007 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
X Resize, Rotate and Reflect (RandR) 1.2
1.2. Name of Document Author/Supplier:
Author: Alan Coopersmith
1.3 Date of This Document:
25 July, 2007
4. Technical Description
This case updates the definition of The X Resize, Rotate and Reflect
Extension (RandR) protocol used in Solaris from version 1.1 to version 1.2
of the spec from the X.Org Foundation.
It additionally updates the libXrandr client API from version 1.1 to
version 1.2, and the xrandr client application from version 1.1 to 1.2.2.
Support for RandR version 1.2 in the Xorg server will be handled by
the Xorg server 1.3 case coming to PSARC soon.
The additions to the protocol are described in this section of the
protocol spec [1]:
1.2 Introduction to version 1.2 of the extension
One of the significant limitations found in version 1.1 of the
RandR protocol was the inability to deal with the Xinerama model
where multiple monitors display portions of a common underlying
screen. In this environment, zero or more video outputs are
associated with each CRT controller which defines both a set of
video timings and a 'viewport' within the larger screen. This
viewport is independent of the overall size of the screen, and may
be located anywhere within the screen.
The effect is to decouple the reported size of the screen from the
size presented by each video output, and to permit multiple
outputs to present information for a single screen.
To extend RandR for this model, we separate out the output, CRTC
and screen configuration information and permit them to be
configured separately. For compatibility with the 1.1 version of
the protocol, we make the 1.1 requests simultaneously affect both
the screen and the (presumably sole) CRTC and output. The set of
available outputs are presented with UTF-8 encoded names and may
be connected to CRTCs as permitted by the underlying
hardware. CRTC configuration is now done with full mode
information instead of just size and refresh rate, and these modes
have names. These names also use UTF-8 encoding. New modes may
also be added by the user.
The new functions in the API are C bindings to these new protocol requests.
The xrandr(1) command has similarly been extended to expose this new
functionality, while remaining compatible with X servers offering only
the older version of the extension.
Imported Interfaces:
--------------------
Xrandr extension protocol version 1.1 External PSARC 2004/187
libXrandr.so.2 External PSARC 2004/187
<X11/extensions/Xrandr.h> External PSARC 2004/187
/usr/X11/bin/xrandr version 1.1 External PSARC 2005/189
Exported Interfaces:
--------------------
Xrandr extension protocol version 1.2 Volatile [1]
Xrandr library version 1.2 Volatile [2], [3]
/usr/X11/bin/xrandr version 1.2.2 Volatile [4], [5]
References in case materials directory:
[1] randrproto-1.2.html: X Resize, Rotate and Reflect Extension, Version 1.2
[2] Xrandr.h: Definitions of libXrandr API
[3] Xrandr.h-diff: diffs between version 1.1 & 1.2 of Xrandr.h
[4] xrandr.man.txt: xrandr(1) man page
[4] xrandr.man-diff: diffs between version 1.1 & 1.2.2 xrandr(1) man page
6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
X Consolidation / Desktop C-Team
6.5. ARC review type: Automatic
6.6. ARC Exposure: open