
Originally Posted by
man xrandr
Per-output options
--panning widthxheight[+x+y[/track_widthxtrack_height+track_x+track_y[/border_left/border_top/border_right/border_bottom]]]
This option sets the panning parameters. As soon as panning is enabled, the CRTC position can change with every pointer move. The first
four parameters specify the total panning area, the next four the pointer tracking area (which defaults to the same area). The last four
parameters specify the border and default to 0. A width or height set to zero disables panning on the according axis. You typically have
to set the screen size with --fb simultaneously.
--transform a,b,c,d,e,f,g,h,i
Specifies a transformation matrix to apply on the output. Automatically a bilinear filter is selected. The mathematical form corresponds
to:
a b c
d e f
g h i
The transformation is based on homogeneous coordinates. The matrix multiplied by the coordinate vector of a pixel of the output gives the
transformed coordinate vector of a pixel in the graphic buffer. More precisely, the vector (x y) of the output pixel is extended to 3
values (x y w), with 1 as the w coordinate and multiplied against the matrix. The final device coordinates of the pixel are then calcu-
lated with the so-called homogenic division by the transformed w coordinate. In other words, the device coordinates (x' y') of the trans-
formed pixel are:
x' = (ax + by + c) / w' and
y' = (dx + ey + f) / w' ,
with w' = (gx + hy + i) .
Typically, a and e corresponds to the scaling on the X and Y axes, c and f corresponds to the translation on those axes, and g, h, and i
are respectively 0, 0 and 1. The matrix can also be used to express more complex transformations such as keystone correction, or rotation.
For a rotation of an angle T, this formula can be used:
cos T -sin T 0
sin T cos T 0
0 0 1
As a special argument, instead of passing a matrix, one can pass the string none, in which case the default values are used (a unit matrix
without filter).
--scale xxy
Changes the dimensions of the output picture. Values superior to 1 will lead to a compressed screen (screen dimension bigger than the
dimension of the output mode), and values below 1 leads to a zoom in on the output. This option is actually a shortcut version of the
--transform option.