The X Resize and Rotate Extension - RandR

The X Window System protocol, Version 11, was deliberately designed to be extensible, to provide for both anticipated and unanticipated needs. The X11 core did not anticipate that the properties of X server screens might need to change dynamically, as occurs frequently with desktops, laptops and hand held computers not envisioned in the 1980's.

The Resize and Rotate extension (RandR) is a very small set of client and server extensions designed to allow clients to modify the size, reflection, rotation and refresh rate of an X screen. RandR also has provisions for informing clients when screens have been reconfigured.

The current version of the protocol is 1.1, and is available here.

RandR needs to be discussed in concert with recent developments in X server implementation and the new Render extension to understand the implications of the aggregate. In isolation, RandR seems to provide a limited but useful improvement, but together with the Render extension and reimplementation of the X server rendering code, RandR provides part of a key change in X Window System capabilities. We believe this will enable much easier migration and replication of applications between X servers for pervasive computing. This paper also describes this vision.




Usenix Technical Conference 2001