On Thu, 3 May 2007 18:08:36 +0100, "Matthew Allum" wrote:
> On 5/3/07, Carl Worth <cworth at cworth.org> wrote:
> > But isn't this exactly one of the features provided by the new RandR
> > 1.2 stuff?
>> Can it - any more details ? Would seem a really nice fit if so.
Here's a link to the latest protocol specification [*]:
http://gitweb.freedesktop.org/?p=xorg/proto/randrproto.git;a=blob_plain;h=HEAD:randrproto.txt
Here's a short excerpt that talks about the new "CRTC" notion in 1.2
that's independent and configured separately from the 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.
Additional requests and events are provided for this new
functionality.
┌────────────────────────────────┬──────────┐
┏━━━━━━━┳───────────────┐ ╔════════╗ ╔════════╗
┃ 1 ┃ │ ║ A ║ ║ B ║
┃ ┏━━━╋━━━━━━━━━━━━━━━┫ ║ ║ ║ ║
┣━━━╋━━━┛ ┃ ╚════════╝ ╚════════╝
│ ┃ 2 ┃─────────────────┐
│ ┃ ┃ ╔═══════════════════╗
│ ┃ ┃ ║ ║
│ ┗━━━━━━━━━━━━━━━━━━━┫ ║ C ║
└───────────────────────┘ ║ ║
┌──────┐ ┏━━━━┓ ╔══════╗ ║ ║
│screen│ ┃CRTC┃ ║output║ ╚═══════════════════╝
└──────┘ ┗━━━━┛ ╚══════╝
In this picture, the screen is covered (incompletely) by two
CRTCs. CRTC1 is connected to two outputs, A and B. CRTC2 is
connected to output C. Outputs A and B will present exactly the
same region of the screen using the same mode line. Output C will
present a different (larger) region of the screen using a
different mode line.
So to me that seems plenty flexible to do what's needed. The X server
could advertise two CRTCs: one covering the entire screen, and one
covering only half with pixel-doubling, and client-initiated events
could control which CRTC is connected to the output (obviously only
one in this device) at any given time.
Daniel, am I on the right track with this?
-Carl
[*] The gitweb process is spewing out the wrong character encoding, so
if you view this in a web browser, you'll need to manually change it
to UTF-8 instead of ISO-8859-1 to view it properly, (View->Character
Encoding->Unicode in firefox-ish browsers for example).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.maemo.org/pipermail/maemo-developers/attachments/20070503/52593fbf/attachment.pgp