Xorg RandR 1.2

From ThinkWiki
Revision as of 00:28, 25 July 2007 by Ordonnateur (Talk | contribs)
Jump to: navigation, search
FIXME
This page will cover use of Xorg 7.3 with RandR version 1.2 based on testing the forthcoming Ubuntu 'Gutsy' (7.10) release with a Thinkpad R60e (Intel 946GM graphics chip).

Overview

X RandR is used to set the size, orientation and reflection of the screen display outputs.

xrandr is the command line interface to the RandR X extension. Use

   $ xrandr --help

and

   $ man xrandr

to discover the essentials.


xorg.conf

Start testing with a default configuration. Connect the external display to the VGA port, turn on that display, boot and run (as root)

   # dpkg-reconfigure -phigh xserver-xorg

The resulting /etc/X11/xorg.conf should include something like

   Section "Device"
       Identifier	"Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
       Driver		"intel"
       BusID		"PCI:0:2:0"
   EndSection
   Section "Monitor"
       Identifier	"Generic Monitor"
       Option		"DPMS"
   EndSection
   Section "Screen"
       Identifier	"Default Screen"
       Device		"Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
       Monitor		"Generic Monitor"
       DefaultDepth	24
   ...
       SubSection "Display"
           Depth		24
           Modes		"1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
       EndSubSection
   EndSection
   Section "ServerLayout"
       Identifier	"Default Layout"
       Screen		"Default Screen"
       InputDevice	"Generic Keyboard"
       InputDevice	"Configured Mouse"
       InputDevice     "stylus"	"SendCoreEvents"
       InputDevice     "cursor"	"SendCoreEvents"
       InputDevice     "eraser"	"SendCoreEvents"
       InputDevice	"Synaptics Touchpad"
   EndSection

after creating a clean Xorg.conf restart X and logon

You will probably find you have a display only on the external VGA screen at its default max resolution.

Using $ xrandr

Open a terminal window to use the command line: 'Applications:Accessories:Terminal'

Hint:
First look at the 'help' and 'man' pages.
  $ xrandr --help
  $ man xrandr

To query what we have $ xrandr -v

   Server reports RandR version 1.2

$ xrandr -q

 Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1600 x 1600
 VGA connected (normal left inverted right)
     1600x1200      60.0 +   59.9  
     1280x1024      75.0     59.9  
     1152x864       74.8  
     1024x768       75.1     60.0  
     800x600        75.0     60.3  
     640x480        75.0     60.0  
     720x400        70.1  
 LVDS connected 1024x768+0+0 (normal left inverted right) 304mm x 228mm
     1024x768       60.0*+   50.0  
     800x600        60.3  
     640x480        60.0     59.9  
 TV disconnected (normal left inverted right)

$ xrandr -v tells us more

$ xrandr --output LVDS --auto gets two screens but both at 1600x1200 cloned

$ xrandr --output LVDS --mode 1024x768 --output VGA --off gets laptop only at 1024x768

$ xrandr --output VGA --right-of LVDS --mode 1600x1200

   xrandr: screen cannot be larger than 1600x1600 (desired size 2624x1200)

$ xrandr --output VGA --mode 1600x1200 --pos 0x400 creates two screens with the laptop screen at bottom of the 1600x1600 window

$ xrandr --output LVDS --mode 1024x768 --pos 0x400 moves laptop screen to top of window, so both share same top line (which is where I prefer my menu bar)

So, the story so far 2007-07-25:

xrandr enables dynamic resizing of screens, switching both external and laptop screens on and off, and the applications windows can be dragged from one screen to the other. None of this requires configuring anything special for /etc/X11/xorg.conf. Downside: the virtual screen is not big enough at at 1600x1600 to permit a 1024x768 laptop and a 1600x1200 external monitor screen to be used in a non-overlapped arrangement, something that is possible doing it the old way.

References

Version 7.10 (Gutsy) of Ubuntu includes support for Xorg 7.3 with RandR 1.2 Xorg 7.3

For versions of Ubuntu prior to 7.10 see Installing Ubuntu on a ThinkPad R60e for an Xorg.conf suitable for use with more than one screen

RandR extension is currently under development see: Xorg Developer Conference 2007 and X RandR v1.2.