Randr12.mdwn 5.61 KB
Newer Older
Joe Rayhawk's avatar
Joe Rayhawk committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
## Enabling Randr12 support in nouveau

Randr 1.2 is used by Nouveau. No need to explicitly enable it, and you cannot disable it. 


## Generic HowTos

* Simple step-by-step guide to create a very clean Randr12-based config file with all old junk removed: 
   * [[http://wiki.debian.org/XStrikeForce/HowToRandR12|http://wiki.debian.org/XStrikeForce/HowToRandR12]] 
* Very nice illustrations but lots of examples which you'll not apply to Nouveau, like TV output support: 
   * [[http://www.thinkwiki.org/wiki/Xorg_RandR_1.2|http://www.thinkwiki.org/wiki/Xorg_RandR_1.2]] 

## Dual Head setup


### xorg.conf


#### Sections and configuration settings to remove

Randr 1.2 does not use multiple Screen sections, so if you have those you have to remove them from your xorg.conf : 

imirkin's avatar
imirkin committed
23
* If you have two sections like these, remove one of these sections (in this example Screen1):
Joe Rayhawk's avatar
Joe Rayhawk committed
24

imirkin's avatar
imirkin committed
25
26
27
28
29
30
31
32
        Section "Screen"
            Identifier     "Screen0"
        ...

        Section "Screen"               <==== Remove this second section, if you have sone (start removing lines here)
            Identifier     "Screen1"
        ...
        EndSection                     (stop removing lines here)
Joe Rayhawk's avatar
Joe Rayhawk committed
33
34

* If you have a Option "MonitorLayout" or/and "Screen" options in the Device section, remove them 
imirkin's avatar
imirkin committed
35
36
37
38
39
* Also remove the second Screen entry from the ServerLayout section. Example :

        Screen      0  "Screen0" 1680 0
        Screen      1  "Screen1" LeftOf "Screen0" <= remove this one (for Screen1)

Joe Rayhawk's avatar
Joe Rayhawk committed
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
* Also remove any RightOf/LeftOf indications from the remaining Screen line in the ServerLayout section (see above) 

#### Settings on xorg.conf for Randr12

Note that with today's software you often don't need a xorg.conf file at all for nouveau and dual-head to work. 

If you do not preconfigure a left/right/above/below setup in your xorg.xonf (see next section) add `Virtual x y` to your Display Section: 
[[!format txt """
Section "Screen"
  Identifier   "Your Screen identifier here"
  DefaultDepth 24
  SubSection "Display"
    Depth      24
    Virtual 3360 1050
  EndSubSection
  Device       "Your Device identifier here"
EndSection
"""]]
The example above configures a framebuffer for two monitors, each using resolutions up to 1680x1050 pixels, put side-by-side dynamically, after you started X. The values are calculated like this: 

imirkin's avatar
imirkin committed
60
61
62
63
    Virtual <width of the two monitors, e.g. 1680+1680=3360> <maxium height to used by the montiors, e.g. 1050>

Only the part which the monitors show is used: You can start and use X with one monitor as ususal but later add a new monitor and use `xrandr` with `--leftof` or `--rightof` to place the new monitor left or right of your primary monitor.
 
Joe Rayhawk's avatar
Joe Rayhawk committed
64
65
66
67
68
69
#### Preconfigured side-by-side (LeftOf/RightOf) setup thru xorg.conf

If you have done the above, you can also preconfigure the two monitors to be side-by-side right from the X startup. With this, you do not even need the "Virtual <x> <y>" line because then, the X server already knows before starting that it has to allocate a virtual framebuffer which fits both Monitors side-by-side. 

You need to make the following changes for this to work (simplest way): 

imirkin's avatar
imirkin committed
70
71
* Change the Monitor identifiers in your xorg.conf to the identifiers which "xrandr" reports and add a LeftOf/RightOf to one of the Monitor sections. Example:

Joe Rayhawk's avatar
Joe Rayhawk committed
72
73
74
75
76
77
78
        Section "Monitor"
          Identifier   "DVI-D-0"
          ...
        Section "Monitor"
          Identifier   "VGA-0"
          ...
          Option "LeftOf" "DVI-D-0"
imirkin's avatar
imirkin committed
79

Joe Rayhawk's avatar
Joe Rayhawk committed
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
Then restart X and enjoy :-) 
## Examples for the usage of the Xorg xrandr tool to manipulate the monitor setup

Usage: `xrandr -h` gives a short list of available options, `man xrandr` shows you the xrandr manual. 

When Randr12 is enabled, you can check the current Randr12 configuration with with `xrandr -q` (or no options): 
[[!format txt """
xrandr -q
Screen 0: minimum 320 x 200, current 2960 x 1050, maximum 3000 x 1050
DVI-A-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
   1680x1050      60.0*+
   1280x1024      75.0     59.9
   1280x960       59.9
   1152x864       75.0     74.8
   1024x768       75.1     70.1     60.0
   832x624        74.6
   800x600        72.2     75.0     60.3     56.2
   640x480        75.0     72.8     66.7     60.0
   720x400        70.1
VGA-0 connected 1280x1024+1680+0 (normal left inverted right x axis y axis) 350mm x 262mm
   1280x1024      84.8*    75.0
   1152x864       75.0
   1024x768       84.9     75.1     70.1     60.0     59.9     43.5
   832x624        74.6
   800x600        84.9     72.2     75.0     60.3     56.2
   640x480        84.6     75.0     72.8     74.8     66.7     60.0
   720x405        69.6
   720x400        87.8     70.1
"""]]
Change the mode of an output using: 
[[!format txt """
xrandr --output <output>  --mode <mode to switch to>
"""]]
To turn a newly connected monitor on, use 
[[!format txt """
xrandr --output <display>  --auto
"""]]
 or 
[[!format txt """
xrandr --output <output>  --mode ...x...
"""]]
To turn an output off: 
[[!format txt """
xrandr --output <output>  --off
"""]]
To make an output show the same screen area as an other output (cloned mode, default with Randr12): 
[[!format txt """
xrandr --output <output to change> --same-as <output you want to clone>
"""]]
To put the display of one output left, right, above or below to the display of an existing output use _--left-of, --right-of, --above, --below_ : 
[[!format txt """
xrandr --output <output to change> [ --left-of |--right-of | --above | --below ] <output which shall keep its position>
"""]]
More xrandr examples are found in the generic Randr12 howtos mentioned on the top of this page.