<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Steve+Graham</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Steve+Graham"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Steve_Graham"/>
	<updated>2026-05-09T03:05:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Xorg_RandR_1.2&amp;diff=37649</id>
		<title>Xorg RandR 1.2</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Xorg_RandR_1.2&amp;diff=37649"/>
		<updated>2008-05-07T15:58:49Z</updated>

		<summary type="html">&lt;p&gt;Steve Graham: Note on T30&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
'''X RandR '''is used to configure which display ports are enabled (e.g. LCD, VGA and DVI), and to configure display modes and properties such as orientation, reflection and DPI.&lt;br /&gt;
&lt;br /&gt;
This is the simplest and most powerful way to get multi-monitor systems working using recent versions of Linux such as {{Ubuntu 7.10}} and {{Fedora 8}} with graphics chipsets such as the Intel 945GM/GMS and ATI Radeon found in Thinkpads.&lt;br /&gt;
&lt;br /&gt;
'''xrandr''' is the command line interface to the RandR X extension. As usual with X, good documentation is hard to find; first try the following commands:&lt;br /&gt;
&lt;br /&gt;
* {{cmduser|xrandr --help}}&lt;br /&gt;
* {{cmduser|man xrandr}}&lt;br /&gt;
&lt;br /&gt;
* for Intel graphics: {{cmduser|man intel}}&lt;br /&gt;
* for ATI graphics: {{cmduser|man radeon}}&lt;br /&gt;
&lt;br /&gt;
The rest of this page refers to a laptop with a built in 1024x768 pixel screen and an external 1600x1200 VGA monitor. Simply replace the relevant numbers with your own system specifications and all should work fine.&lt;br /&gt;
&lt;br /&gt;
== Supported drivers ==&lt;br /&gt;
 {{Ubuntu 7.10}} '''Gutsy Gibbon'''&lt;br /&gt;
* X.org [[intel]] driver, version ??? (included in Xorg ???) and later. Ubuntu version: [https://launchpad.net/ubuntu/+source/xserver-xorg-video-intel/2:2.1.1-0ubuntu2  2:2.1.1-0ubuntu2] with [https://launchpad.net/ubuntu/gutsy/i386/xrandr/1:1.2.2-0ubuntu1 xrandr 1:1.2.2-0ubuntu1]&lt;br /&gt;
&lt;br /&gt;
* X.org [[radeon]] driver, 6.7.192 and later (in ubuntu [http://packages.ubuntu.com/gutsy/x11/xserver-xorg-video-ati gutsy] and [http://packages.ubuntu.com/hardy/x11/xserver-xorg-video-ati hardy], but they still have [http://bugs.launchpad.net/bugs/148408 very serious issues] for some Thinkpads).&lt;br /&gt;
&lt;br /&gt;
== xorg.conf ==&lt;br /&gt;
Recent versions of xorg.conf intended for use with xrandr 1.2 considerably simplify the video section of the configuration. If you upgrading from an earlier version you may find your existing xorg.conf works against the effective deployment of xrandr. So it is best to start with a new Xorg configuration.&lt;br /&gt;
&lt;br /&gt;
'''an updated Xorg.conf should:'''&lt;br /&gt;
* omit dual Device/Screen/Monitor sections&lt;br /&gt;
* omit MonitorLayout option and Screen lines from the remaining Device section&lt;br /&gt;
* omit dual Screen lines from the ServerLayout section&lt;br /&gt;
* omit RightOf/LeftOf indication to the remaining Screen line in ServerLayout section&lt;br /&gt;
* add a &amp;quot;Virtual 2048 2048&amp;quot; line in SubSection &amp;quot;Display&amp;quot; to create a large virtual screen &lt;br /&gt;
&lt;br /&gt;
To create a new xorg.conf or Ubuntu and other Debian based distributions connect the external display to the VGA port, turn on that display, and run&lt;br /&gt;
    {{cmduser|sudo dpkg-reconfigure -phigh xserver-xorg}}&lt;br /&gt;
 &lt;br /&gt;
The resulting {{path|/etc/X11/xorg.conf}} should include something like&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Identifier	&amp;quot;Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller&amp;quot;&lt;br /&gt;
        Driver		&amp;quot;intel&amp;quot;&lt;br /&gt;
        BusID		&amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
        '''# ADD THIS IF YOUR LAPTOP DOES NOT HAVE A TV CONNECTOR or DOCKING STATION '''&lt;br /&gt;
        '''Option          &amp;quot;monitor-TV&amp;quot;   &amp;quot;TV&amp;quot; '''&lt;br /&gt;
    EndSection&lt;br /&gt;
    Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
        Identifier	&amp;quot;Generic Monitor&amp;quot;&lt;br /&gt;
        Option		&amp;quot;DPMS&amp;quot;&lt;br /&gt;
    EndSection&lt;br /&gt;
   ''' # ADD THIS IF YOUR LAPTOP DOES NOT HAVE A TV CONNECTOR or DOCKING STATION '''&lt;br /&gt;
   '''Section &amp;quot;Monitor&amp;quot; '''&lt;br /&gt;
        '''Identifier      &amp;quot;TV&amp;quot; '''&lt;br /&gt;
        '''Option          &amp;quot;Ignore&amp;quot; &amp;quot;True&amp;quot; '''&lt;br /&gt;
   EndSection '''&lt;br /&gt;
    Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
        Identifier	&amp;quot;Default Screen&amp;quot;&lt;br /&gt;
        Device		&amp;quot;Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller&amp;quot;&lt;br /&gt;
        Monitor		&amp;quot;Generic Monitor&amp;quot;&lt;br /&gt;
        DefaultDepth	24&lt;br /&gt;
    ...&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
            Depth		24&lt;br /&gt;
            Modes		&amp;quot;1600x1200&amp;quot; &amp;quot;1280x1024&amp;quot; &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
            '''# ADD A VIRTUAL LINE TO PROVIDE FOR THE LARGEST SCREENS YOU WILL HOTPLUG '''&lt;br /&gt;
            '''Virtual              2048 2048 '''&lt;br /&gt;
        EndSubSection&lt;br /&gt;
    EndSection&lt;br /&gt;
    Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
        Identifier	&amp;quot;Default Layout&amp;quot;&lt;br /&gt;
        Screen		&amp;quot;Default Screen&amp;quot;&lt;br /&gt;
        InputDevice	&amp;quot;Generic Keyboard&amp;quot;&lt;br /&gt;
        InputDevice	&amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
        InputDevice     &amp;quot;stylus&amp;quot;	&amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
        InputDevice     &amp;quot;cursor&amp;quot;	&amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
        InputDevice     &amp;quot;eraser&amp;quot;	&amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
        InputDevice	&amp;quot;Synaptics Touchpad&amp;quot;&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just a hint:&lt;br /&gt;
If you want to use TV-out but not VGA for example, you should change these sections:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Identifier      &amp;quot;Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller&amp;quot;&lt;br /&gt;
        Driver          &amp;quot;intel&amp;quot;&lt;br /&gt;
        BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
        Option          &amp;quot;monitor-VGA&amp;quot;  &amp;quot;VGA&amp;quot;&lt;br /&gt;
        Option          &amp;quot;monitor-TV&amp;quot;   &amp;quot;TV&amp;quot;&lt;br /&gt;
        Option          &amp;quot;monitor-LVCD&amp;quot; &amp;quot;LVCD&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
        Identifier      &amp;quot;VGA&amp;quot;&lt;br /&gt;
        Option &amp;quot;Ignore&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
        Identifier      &amp;quot;LVCD&amp;quot;&lt;br /&gt;
        Option          &amp;quot;DPMS&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
        Identifier      &amp;quot;TV&amp;quot;&lt;br /&gt;
        Option  &amp;quot;Ignore&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
after creating a clean Xorg.conf restart X and logon&lt;br /&gt;
&lt;br /&gt;
You may find you have a display only on the external VGA screen at its default max resolution, do not worry xrandr can fix this.&lt;br /&gt;
&lt;br /&gt;
== Using  {{cmduser|xrandr}} ==&lt;br /&gt;
&lt;br /&gt;
===First discover what we have ===&lt;br /&gt;
Open a terminal window to use the command line: 'Applications:Accessories:Terminal'&lt;br /&gt;
&lt;br /&gt;
{{HINT|First look at the 'help' and 'man' pages. }}&lt;br /&gt;
&lt;br /&gt;
 {{cmduser|xrandr --help}}&lt;br /&gt;
 {{cmduser|man xrandr}}&lt;br /&gt;
&lt;br /&gt;
To find what version of xrandr is running, type the following command:&lt;br /&gt;
 {{cmduser| xrandr -v}}&lt;br /&gt;
    Server reports RandR version 1.2&lt;br /&gt;
&lt;br /&gt;
To query what screens are connected, type the following: (The output shown indicates nothing is connected to the VGA port.)&lt;br /&gt;
 {{cmduser| xrandr -q }}&lt;br /&gt;
 Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1920 x 1440&lt;br /&gt;
 VGA disconnected (normal left inverted right)&lt;br /&gt;
  LVDS connected 1024x768+0+0 (normal left inverted right) 304mm x 228mm&lt;br /&gt;
    1024x768       60.0*+   50.0  &lt;br /&gt;
    800x600        60.3  &lt;br /&gt;
    640x480        60.0     59.9  &lt;br /&gt;
 TV disconnected (normal left inverted right)&lt;br /&gt;
&lt;br /&gt;
If you see the 'TV disconnected' line but have neither TV connector nor docking station (eg Thinkpad R60e) then add to the Monitor and Device sections of xorg.conf as noted above. This will prevent the external (VGA) flashing off for a few seconds every time xrandr is used. (Newer versions of the intel driver may fix this.) &lt;br /&gt;
 &lt;br /&gt;
The same command as above, but with the VGA monitor plugged in and powered off, should give something like the following output: (The VGA monitor is now shown as 'connected'.)&lt;br /&gt;
 {{cmduser| xrandr -q }}&lt;br /&gt;
 Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1920 x 1440&lt;br /&gt;
 VGA connected (normal left inverted right)&lt;br /&gt;
    1920x1440@60   60.0  &lt;br /&gt;
    1920x1440      60.0  &lt;br /&gt;
    1600x1200@60   60.0  &lt;br /&gt;
    1600x1200      60.0  &lt;br /&gt;
    1280x960       60.0  &lt;br /&gt;
    640x480@60     60.0  &lt;br /&gt;
 LVDS connected 1024x768+0+0 (normal left inverted right) 304mm x 228mm&lt;br /&gt;
    1024x768       60.0*+   50.0  &lt;br /&gt;
    800x600        60.3  &lt;br /&gt;
    640x480        60.0     59.9  &lt;br /&gt;
 TV disconnected (normal left inverted right)&lt;br /&gt;
&lt;br /&gt;
Powering on the VGA monitor and issuing the same command again will give the following output: (The size and position of the VGA output within the virtual screen is now shown.)&lt;br /&gt;
 {{cmduser| xrandr -q }}&lt;br /&gt;
 Screen 0: minimum 320 x 200, current 2624 x 1200, maximum 2624 x 2048&lt;br /&gt;
 VGA connected 1600x1200+1024+0 (normal left inverted right) 367mm x 275mm&lt;br /&gt;
    1600x1200      60.0*+&lt;br /&gt;
    1920x1440@60   60.0  &lt;br /&gt;
    1600x1200@60   60.0  &lt;br /&gt;
    640x480@60     60.0  &lt;br /&gt;
    640x480        60.0  &lt;br /&gt;
 LVDS connected 1024x768+0+0 (normal left inverted right) 304mm x 228mm&lt;br /&gt;
    1024x768       60.0*+   50.0  &lt;br /&gt;
    800x600        60.3  &lt;br /&gt;
    640x480        60.0     59.9  &lt;br /&gt;
 TV disconnected (normal left inverted right)&lt;br /&gt;
&lt;br /&gt;
For bug reporting and diagnosis use xrandr with the verbose option:&lt;br /&gt;
 {{cmduser| xrandr --verbose}}&lt;br /&gt;
&lt;br /&gt;
===Using xrandr to do useful things===&lt;br /&gt;
In general the commands will specify the output name and either --off or --auto. In the examples here the external screen is named ''VGA'', as used by the Intel driver, with an ATI card the name will probably be ''VGA-0''. In general use {{cmduser| xrandr -q}} to discover the appropriate output names for your configuration. The --auto option will select the preferred resolution for each output, this is starred(*) in the {{cmduser| xrandr -q}} listing and is normally the best resolution available. It is also possible to set a particular mode eg --mode 1024x768.&lt;br /&gt;
&lt;br /&gt;
First clone the two screens, (the smaller screen will display the top left portion of the virtual screen)&lt;br /&gt;
 {{cmduser| xrandr --output LVDS --auto --output VGA --auto --same-as LVDS}}&lt;br /&gt;
&lt;br /&gt;
To turn off the VGA monitor. &lt;br /&gt;
 {{cmduser| xrandr  --output VGA --off }}&lt;br /&gt;
&lt;br /&gt;
To turn the VGA monitor back on, with its viewport to the right of the laptop monitor:&lt;br /&gt;
 {{cmduser| xrandr --output VGA --auto --right-of LVDS}}&lt;br /&gt;
This will probably give an error message similar to:&lt;br /&gt;
    xrandr: screen cannot be larger than 1600x1600 (desired size 2624x1200)&lt;br /&gt;
&lt;br /&gt;
This can be fixed by editing xorg.conf and changing the ''virtual'' line (see example above) to something like:&lt;br /&gt;
    Virtual 2624 1200&lt;br /&gt;
Note that the maximum supported size of the virtual desktop for the Intel 945GM series of chipset with 3D acceleration enabled, is 2048x2048. The virtual screen can be larger but DRI will be disabled. This may matter if you like games and compiz desktop effects, or if you want Google Earth to display in better than geological time. Obviously the larger the virtual desktop, the more graphics memory is used. So for good performance with a shared graphics system such as Intel the Virtual should be no larger than necessary. &lt;br /&gt;
&lt;br /&gt;
It is possible to set screen locations as ''--left-of'', ''--right-of'', ''--above'' and ''--below''. Assuming displays sizes of 1024x768 and 1200x1600:&lt;br /&gt;
 {{cmduser| xrandr --output LVDS --auto --output VGA --auto --right-of LVDS}}&lt;br /&gt;
 and&lt;br /&gt;
 {{cmduser| xrandr --output LVDS --mode 1024x768 --pos 0x0 --output VGA  --mode 1600x1200 --pos 1024x0}}&lt;br /&gt;
are equivalent. Both will place the external monitor to the right of the laptop display within the virtual screen.&lt;br /&gt;
&lt;br /&gt;
If the Virtual size is only 2048 wide the above command will fail as the combined width of the two displays exceeds the maximum virtual size. However it is possible to have overlap the display viewports. So to fit within the 2048 limit:&lt;br /&gt;
 {{cmduser| xrandr --output VGA --mode 1024x768 --pos 0x0 --output VGA  --mode 1600x1200 --pos 448x0}}&lt;br /&gt;
&lt;br /&gt;
===[[Sample Fn-F7 script]]===&lt;br /&gt;
For further examples of the use of xrandr commands and a script to switch the display using the Fuction key Fn7 see [[Sample Fn-F7 script]].&lt;br /&gt;
&lt;br /&gt;
===GUIs===&lt;br /&gt;
&lt;br /&gt;
Several graphical frontends are available for xrandr (all using GTK):&lt;br /&gt;
&lt;br /&gt;
* [http://gitweb.freedesktop.org/?p=xorg/app/grandr.git Grandr]&lt;br /&gt;
* [http://www.albertomilone.com/urandr.html URandR]&lt;br /&gt;
* [http://christian.amsuess.com/tools/arandr/ ARandR]&lt;br /&gt;
&lt;br /&gt;
== Summing up ==&lt;br /&gt;
&lt;br /&gt;
'''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 {{path|/etc/X11/xorg.conf}}.&lt;br /&gt;
&lt;br /&gt;
===the Virtual screen=== &lt;br /&gt;
A Virtual line is needed in the 'Display' SubSection of the of xorg.conf; it determines the size of the frame buffer into which the displays must fit. Without it the maximum virtual size will be limited to the size of the largest display that was connected when X was started. The maximum virtual size cannot be changed once X starts so needs to be large enough to accommodate the largest combination of displays you want to hotplug without having to restart X. If it is greater than 2048x2048 and you are using an Intel 945 (or less) chip then DRI is not possible. Making the Virtual size square makes rotation easy. A bigger Virtual requires more memory. &lt;br /&gt;
&lt;br /&gt;
[[Image:Intel-DualHead.png|monitor windows must fit within the virtual screen]] &lt;br /&gt;
&lt;br /&gt;
=== Output port names ===&lt;br /&gt;
&lt;br /&gt;
'''Intel driver'''&lt;br /&gt;
* '''VGA'''  -  Analog VGA output&lt;br /&gt;
* '''LVDS''' -  Laptop panel&lt;br /&gt;
* '''TV'''   -  Integrated TV output&lt;br /&gt;
* '''TMDS-1''' - First DVI SDVO output&lt;br /&gt;
* '''TMDS-2''' - Second DVI SDVO output&lt;br /&gt;
The '''SDVO''' and '''DVO TV''' outputs are not supported by the driver at this time.&lt;br /&gt;
&lt;br /&gt;
'''[[radeon]] driver '''&lt;br /&gt;
* '''VGA-0'''  - Analog VGA output&lt;br /&gt;
* '''LVDS'''   - Laptop panel&lt;br /&gt;
* '''S-video'''     - Integrated TV output&lt;br /&gt;
* '''DVI-0'''  - DVI output&lt;br /&gt;
&lt;br /&gt;
===Note for Gnome users===&lt;br /&gt;
Gnome places the menu bar on screen 0 and thus with the Intel chip and driver Screen 0 (the external VGA monitor) will always be the default display if it is connected. This applies even if the external monitor is switched off but the cable connected: if you have a blank laptop monitor check if you have anything plugged in to the VGA port. Also beware that desktop icons and windows can disappear into the invisible parts of the virtual display. (see diagram below).  If you want the panel(s) to appear by default on a different head, drag it to the head you want it on and GNOME will keep it there.&lt;br /&gt;
&lt;br /&gt;
===Note for Ubuntu Gutsy users===&lt;br /&gt;
There is a  Graphical Configuration Tool, ([https://launchpad.net/ubuntu/+source/displayconfig-gtk/0.2+20070731ubuntu1 displayconfig-gtk]) included with {{Ubuntu 7.10}}. At present [https://bugs.launchpad.net/ubuntu/+source/displayconfig-gtk it dosn't work too well].It is found in the menu: 'System: Administration: Screens and Graphics'. As using it will wreck your xorg.conf  I recommend removing it.&lt;br /&gt;
&lt;br /&gt;
== Gleanings ==&lt;br /&gt;
=== Notes from xserver-xorg-video-intel.readme === &lt;br /&gt;
'''Known Limitations'''&lt;br /&gt;
- No support for &amp;quot;zaphod mode&amp;quot; dualhead.  This is the mode in which two&lt;br /&gt;
Device sections are placed in the config file, and doesn't support DRI or&lt;br /&gt;
many other features.  Instead, only &amp;quot;MergedFB-style&amp;quot; dualhead is supported.&lt;br /&gt;
- No support for X Screens larger than 2048 pixels in either direction&lt;br /&gt;
before the 965.  This reflects hardware limitations in the x direction on&lt;br /&gt;
those older chips, and limits dualhead functionality.  It may be possible to&lt;br /&gt;
extend the limit vertically on these older chips.&lt;br /&gt;
- i855 XV may cause hangs.  This was present in the previous release, and no&lt;br /&gt;
workaround is known.&lt;br /&gt;
- SDVO TV-out cards not supported.  This should be fixed in the next&lt;br /&gt;
release.&lt;br /&gt;
- Gray output with integrated TV-out and PAL TVs.&lt;br /&gt;
- EXA support unstable on i845.&lt;br /&gt;
- Some GM965 systems, such as the Thinkpad T61, probe the TV as being connected&lt;br /&gt;
even when no output connector is available. &lt;br /&gt;
&lt;br /&gt;
'''Common issues not caused by the driver'''&lt;br /&gt;
- Font sizes (DPI) are wrong.  Some displays incorrectly report their&lt;br /&gt;
physical size, which is harmless on most OSes that always assume 96dpi&lt;br /&gt;
displays.  This can be fixed through quirks for specific monitors in the X&lt;br /&gt;
Server, and the output of xrandr --prop along with a physical measurement of&lt;br /&gt;
the screen size in a bug report against the server can help get that fixed.&lt;br /&gt;
- gnome-panel is located in the middle of the screen.  gnome-panel places&lt;br /&gt;
itself within head #0's boundaries, which doesn't work well with a second&lt;br /&gt;
head covering the same area as head #0 but larger.&lt;br /&gt;
- Older resolution-changing applications have poor results in&lt;br /&gt;
multihead systems.  Previous extensions such as RandR 1.1 exposed only a&lt;br /&gt;
single output to client programs, and those requests map poorly to multi-head&lt;br /&gt;
systems.  Currently, those requests map to just one of the outputs in the&lt;br /&gt;
RandR 1.2 environment, and those applications need to be updated to RandR 1.2&lt;br /&gt;
API when available for better results.&lt;br /&gt;
&lt;br /&gt;
=== Xorg mailing list ===&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-June/025469.html FreeDesktop.org 2007-June 025469]&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-June/025484.html FreeDesktop.org 2007-June 025484]&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-July/026340.html FreeDesktop.org 2007-July 026340]&lt;br /&gt;
&lt;br /&gt;
the 3D engine has an 11 bit coordinate space at one point making it&lt;br /&gt;
impossible to draw to areas beyond 2048x2048. At another point, it has a&lt;br /&gt;
stride limit of 8192 bytes, so you can't even draw to a subset of a&lt;br /&gt;
larger frame buffer.&lt;br /&gt;
&lt;br /&gt;
One more bit in both of these registers would have solved the problem&lt;br /&gt;
for pretty much any supportable monitor configuration (the chip can only&lt;br /&gt;
support two single-channel DVI outputs at the most; 1920 is the widest&lt;br /&gt;
size supported at single-channel speeds).&lt;br /&gt;
&lt;br /&gt;
For multiple monitors, the driver could allocate multiple frame buffers&lt;br /&gt;
and step through them one at a time with appropriate clipping. It would&lt;br /&gt;
be icky, but could be made to work.&lt;br /&gt;
&lt;br /&gt;
Of course, the latest hardware (965G/965GM) has plenty of coordinate&lt;br /&gt;
space, which does tend to reduce the odds that someone will get excited&lt;br /&gt;
enough to go fix the driver for older chips.&lt;br /&gt;
&lt;br /&gt;
The Gnome menu bar lands on Xinerama Screen 0 at this&lt;br /&gt;
point, which isn't currently something that you can set through RandR. On Intel the allocation to Screen 0 is determined by CRTC order and LVDS only runs on screen 1.&lt;br /&gt;
&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-June/026053.html FreeDesktop.org 2007-June 026053]&lt;br /&gt;
&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-August/027616.html Blanking of external screen when using xrandr]&lt;br /&gt;
&lt;br /&gt;
 it's checking to see if you have anything connected to the TV output.&lt;br /&gt;
 To do that, it needs to temporarily unplug the VGA.&lt;br /&gt;
  You can avoid this by ignoring the TV output&lt;br /&gt;
    Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
        Identifier      &amp;quot;TV&amp;quot;&lt;br /&gt;
        Option          &amp;quot;Ignore&amp;quot; &amp;quot;True&amp;quot;&lt;br /&gt;
    EndSection&lt;br /&gt;
    Section &amp;quot;Device&amp;quot;&lt;br /&gt;
       Option      &amp;quot;monitor-TV&amp;quot; &amp;quot;TV&amp;quot;&lt;br /&gt;
    EndSection&lt;br /&gt;
 If your machine cannot ever have a TV adapter (even with a docking station),&lt;br /&gt;
 we can add a quirk to the driver to never look at the TV output.  That requires &lt;br /&gt;
 the pci subsystem values (from lspci -n -v) to plug into the quirk table.&lt;br /&gt;
&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-August/027632.html default for 'Virtual']&lt;br /&gt;
 &amp;gt; Version 2.1.1-0ubuntu2 seems to set the default Virtual size (maximum &lt;br /&gt;
 &amp;gt; screen size) to 1920 x 1920, if there is no entry in xorg.conf. I take &lt;br /&gt;
 &amp;gt; it the maximum screen size for the i915 chipset family is 2048 x 2048, &lt;br /&gt;
 &amp;gt; so why not have it at that? This would make dualscreen setups a bit easier.&lt;br /&gt;
   The default settings is found by taking the largest resolution in either &lt;br /&gt;
 x or y dimension and making a square from that. This allows for easy &lt;br /&gt;
 rotation should you want to do so.&lt;br /&gt;
   I believe you should be able to do dual screen up to 8192x8192, though &lt;br /&gt;
 only through two monitors (Only two pipes are available for output), but &lt;br /&gt;
 that 3D acceleration is only supported up to 2048x2048. Thus as soon as &lt;br /&gt;
 you set your virtual size above 2048x2048, you lose 3D acceleration.&lt;br /&gt;
   The current driver cannot reallocate the frame buffer, so whatever size&lt;br /&gt;
 you start with is the maximum the screen can ever become, and that this&lt;br /&gt;
 amount of physical memory is tied down for the whole X server run.&lt;br /&gt;
&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-August/027670.html Primary output for Laptop + external screen]&lt;br /&gt;
 &amp;gt;the desired behavior of the video &lt;br /&gt;
 &amp;gt; drivers in typical laptop situations with an internal display and an &lt;br /&gt;
 &amp;gt; external screen attached (extending the desktop).&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
 &amp;gt; Currently for example the intel driver uses the external screen as the &lt;br /&gt;
 &amp;gt; primary output. It is listed first with xrandr. I'm not sure if this is &lt;br /&gt;
 &amp;gt; intentional or just coincidence.&lt;br /&gt;
     It's coincidence -- the laptop hardware has two crtcs, and the LVDS can&lt;br /&gt;
 only be driven by the second.&lt;br /&gt;
     Note that RandR doesn't really want the order to be significant; it&lt;br /&gt;
 would be better if the desktop environment knew about outputs and could&lt;br /&gt;
 refer to a specific output as 'primary' or 'holds toolbar' or whatever.&lt;br /&gt;
&lt;br /&gt;
[mailto:gekkoman@illimitable.com &amp;amp;nbsp;] Uncovered a workaround for black and white TV-out &amp;quot;known limitation&amp;quot; listed above on a intel 945GM chipset running i810-2.1.1 driver and xrandr-1.2.2. Get TV running in black and white. Then run command.&lt;br /&gt;
&lt;br /&gt;
xrandr --output TV --set TV_FORMAT PAL; xrandr --output TV --mode 1024x768&lt;br /&gt;
&lt;br /&gt;
substitute TV_FORMAT and mode as required.  Note that the command &amp;quot;xrandr --output TV --set TV_FORMAT PAL&amp;quot; gives an error but appears to work as the subsequent mode change converts screen to colour.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Notes for X31,T30 / Radeon 7000,Radeon 7500 users ===&lt;br /&gt;
My {{X31}} has an [[ATI Mobility Radeon 7000]] with only 16MB RAM. This is not enough for big screens and DRI. Neither with [[radeon]]-default virtual size of 2048x1200, nor with my customized virtual of 2304x1024 (for one 1024x768 and one 1280x1024 screen). But this only applies for 24-bit color depth. Now I'm using only 16-bit and DRI works fine with the big virtual screen.&lt;br /&gt;
&lt;br /&gt;
If you really want 24-bit depth, and do not need a bigger screen as your LCD, try setting Virtual to &amp;quot;1024 768&amp;quot;, this will enable DRI in 24-bit too, but you won't be able to extend your screen anymore (well, clone will still work though).&lt;br /&gt;
&lt;br /&gt;
==== Further Note ====&lt;br /&gt;
My {{T30}} (Radeon 7500) with the Xorg radeonhd driver version 1.2.1-1 (from Debian unstable) reports the following:&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
(II) RADEON(0): Detected total video RAM=16384K, accessible=65536K (PCI BAR=131072K)&lt;br /&gt;
(--) RADEON(0): Mapped VideoRAM: 16384 kByte (64 bit DDR SDRAM)&lt;br /&gt;
(II) RADEON(0): Color tiling enabled by default&lt;br /&gt;
(WW) RADEON(0): Requested desktop size exceeds surface limts for tiling, ColorTiling disabled&lt;br /&gt;
(II) RADEON(0): Max desktop size set to 2304x1024&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
I don't understand exactly what this means, but it '''does''' support the entire large desktop at 24 bit depth, even though the card reports only 16k &amp;quot;total video RAM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* XRandR 1.2&lt;br /&gt;
** [http://gitweb.freedesktop.org/?p=xorg/proto/randrproto.git;f=randrproto.txt;a=blob RandR 1.2 protocol specifications] - this defines the model and terminology&lt;br /&gt;
** [http://wiki.x.org/wiki/XDC2007Notes#head-11895d48723a8d0308571bec8829b7cc3ef87d7b In Xorg Developer Conference 2007]&lt;br /&gt;
** [http://burtonini.com/blog/computers/randr-2007-02-06-17-50 tutorial blog post]&lt;br /&gt;
&lt;br /&gt;
* Ubuntu&lt;br /&gt;
** Version 7.10 (Gutsy) of Ubuntu includes support for Xorg 7.3 with RandR 1.2 [https://wiki.ubuntu.com/Xorg7.3Integration Xorg 7.3]&lt;br /&gt;
** [[Installing Ubuntu on a ThinkPad R60e]] for a revised and more specific version of this page&lt;br /&gt;
** [https://launchpad.net/ubuntu/+source/xserver-xorg-video-intel/ Ubuntu source for Intel]&lt;br /&gt;
** [https://bugs.launchpad.net/xserver-xorg-driver-ati/+bug/148408 gutsy version of xserver-xorg-ati has some major problems on ATI Radeon] for ([[:Category:X Series]]) and possibly others.  The solution is to downgrade to the [https://launchpad.net/ubuntu/feisty/i386/xserver-xorg-video-ati/1:6.6.3-2ubuntu6 feisty version]&lt;br /&gt;
&lt;br /&gt;
* X.org&lt;br /&gt;
** [http://lists.freedesktop.org/mailman/listinfo/xorg FreeDesktop.org mailing list]&lt;br /&gt;
** [http://lists.freedesktop.org/archives/xorg/ FreeDesktop.org Xorg archive]&lt;br /&gt;
&lt;br /&gt;
* Useful page to supplement the minimal documentation  [http://wiki.x.org/wiki/Development/Documentation/HowVideoCardsWork How video cards work]&lt;br /&gt;
* [http://wiki.debian.org/XStrikeForce/ReleaseNotes xserver-xorg-core  and xserver-xorg-video-intel might cause some trouble but also brings nice features.]&lt;br /&gt;
* [http://andrew.mcmillan.net.nz/taxonomy/term/18 Seamless Monitor Hotplugging with X Windows]&lt;br /&gt;
* [http://www.intellinuxgraphics.org/  Linux Graphics Drivers from Intel]&lt;br /&gt;
* [http://zdzichubg.jogger.pl/2007/05/07/xrandr-1-2-sweetness/ blog post] with xrandr-1.2 commands and photos. Narrative is in polish.&lt;/div&gt;</summary>
		<author><name>Steve Graham</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Maintenance&amp;diff=37528</id>
		<title>Maintenance</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Maintenance&amp;diff=37528"/>
		<updated>2008-05-01T11:54:28Z</updated>

		<summary type="html">&lt;p&gt;Steve Graham: Minor update on Lenovo PC Doctor for Linux&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
Here you can find general hints about keeping your ThinkPad in good shape. Look at your [[:Category:Models|models category page]] for IBMs official maintenance guide for that model.&lt;br /&gt;
|}&lt;br /&gt;
==Battery treatment==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2 style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|+Battery life expanding guide&lt;br /&gt;
|- style=&amp;quot;background:#efefef;white-space:nowrap;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Battery Type !! NiCd !! NiMH !! Lithium ion&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | General&lt;br /&gt;
|&lt;br /&gt;
*always do complete discharge/charge cycles&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
|&lt;br /&gt;
*always do complete discharge/charge cycles&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
|&lt;br /&gt;
*avoid deep discharges except when resetting fuel gauge or reconditioning a battery;  partial dis-/recharges are better for the battery lifetime (note: fuel gauge will slowly get inaccurate over time)&lt;br /&gt;
*remove battery when on AC (due to heat)&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Charging&lt;br /&gt;
|&lt;br /&gt;
*discharge before charging&lt;br /&gt;
|&lt;br /&gt;
*discharge before charging&lt;br /&gt;
|&lt;br /&gt;
*avoid charging if battery is nearly full, unless you will need its full capacity soon; keep it on the 30%-85% charged range&lt;br /&gt;
*keep notebook off while charging due to heat&lt;br /&gt;
*fully discharge, then fully charge battery when needed to recalibrate fuel gauge;  newer battery pack models require this less often, old ones might need it as often as every 30 cycles&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Storage&lt;br /&gt;
| &lt;br /&gt;
*almost discharged&lt;br /&gt;
*cool and dry&lt;br /&gt;
|&lt;br /&gt;
*almost discharged&lt;br /&gt;
*cool and dry&lt;br /&gt;
|&lt;br /&gt;
*never fully charged or discharged, ideally at about 40%&lt;br /&gt;
*cool and dry, but '''do not freeze''' them: 10-15C is recommended&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Battery health===&lt;br /&gt;
Batteries, especially of the modern Li-Ion type, wear out quicker when they hold a large charge or are subject to higher temperatures (see above).&lt;br /&gt;
&lt;br /&gt;
If you use your laptop at a desk, reduce battery wear by maintaining an appropriate charge level.  When  possible, remove Li-ion batteries while operating from AC as the notebook gets hot enough inside for that to damage the battery in the long run, even if charging is stopped.&lt;br /&gt;
&lt;br /&gt;
On recent ThinkPads, charging thresholds can be configured in the bundled software.  Under Linux, this is supported on recent models by the [[tp_smapi]] driver (and even without &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;, if you have a dual-boot setup, you can set the thresholds under Windows and they will be remembered as long as you don't power off your machine with AC disconnected; suspend to RAM is OK). Have a look at [[How to use UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
If you have spare Li-ion battery packs, store them at 40% charge in a cool place (15C being a recommended temperature, do not let the batteries freeze).  If storing inside a refrigerator, beware of humidity, and be careful with cold spots that can easily freeze the battery if anything goes wrong.&lt;br /&gt;
&lt;br /&gt;
===The problem with 600 series batteries===&lt;br /&gt;
ThinkPad 600 power management causes batteries to die before they should. Read more about this on the [[Problem with ThinkPad 600 batteries|associated problem page]].&lt;br /&gt;
&lt;br /&gt;
===Reviving batteries===&lt;br /&gt;
Some people experience sudden drops in their batteries capacity.  A way to get these batteries back to full capacity is to run the &amp;quot;Battery Rundown&amp;quot; function of IBMs &amp;quot;PC Doctor for DOS&amp;quot;.  The program is downloadable from IBMs support site as three floppy disk images.  Make sure you get the specific version of program made for your ThinkPad model.  For those who do not have a floppy, David Smith prepared a [http://www.mypchelp.com/~dsmith/ibmutil/ibm_t22_pcdiag.iso bootable CD image] (dead link, a copy is also available [http://server6.org/~marker/software/ibm_t22_pcdiag.iso here]) from the T22 floppy images. For newer ThinkPads there is an official [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-56222 bootable CD image]. (Although the instructions on this page (as of May 2008) include details for Linux and refer to a CD image, it is actually provided as a Windows executable. On Linux systems, [http://winehq.org Wine] can execute this file and extract the CD image.)&lt;br /&gt;
&lt;br /&gt;
I have recently made an interesting discovery, I have an R40 with two main batteries, both of them have aproximately about under 200 cycles and are nowadays 4 years old, projected capacity for R40/R32 main battery is 57Wh, and both my batteries were about 30Wh, then I left my notebook with one of them about a day in a standby mode, as long as it powered off itself because of low battery power, when I turned it on I saw the battery capacity at about 42Wh, then, I did this too for the second battery and I got even about 46Wh, I think I could go even higher with letting the battery discharge completely from 100% in standby, I think this has something to do with low power consumption in standby mode, it may work for you too.&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [[Battery safety]]&lt;br /&gt;
&lt;br /&gt;
===External sources===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=PFAN-3QNQJN IBM Support - Extending battery life]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-51038 IBM Support - Battery troubleshooting]&lt;br /&gt;
* [http://www.pc.ibm.com/ww/thinkpad/batterylife/ IBM Benchmark]&lt;br /&gt;
* [http://batteryuniversity.com Battery University]&lt;br /&gt;
* [http://www.batteryuniversity.com/parttwo-34.htm Battery University's info about prolonging lithium ion batteries]&lt;br /&gt;
* [http://www.buchmann.ca/Chap10-page6.asp prolonging lithium ion batteries in Buchmanns Battery FAQ]&lt;br /&gt;
* [http://www.electronics-lab.com/articles/Li_Ion_reconstruct Electronics Labs information about lithium ion batteries]&lt;br /&gt;
&lt;br /&gt;
==Cleaning the Display==&lt;br /&gt;
If you discover markings that look like they originate from the TrackPoint or keyboard, or for information on how to avoid these, look at [[Problem with key and trackpoint markings on the display|this page]].&lt;br /&gt;
&lt;br /&gt;
===External Sources===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-4A2P54 Lenovo Support - LCD care and cleaning instructions]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-52190 Lenovo Support - System cleaning instructions]&lt;br /&gt;
&lt;br /&gt;
==Cleaning the Interior==&lt;br /&gt;
{{WARN|The following instructions are not appropriate for all ThinkPad models. Please consult the hardware maintenance guide or on-line disassembly instructions for your model.}}&lt;br /&gt;
Most ThinkPad models (particularly the A-series and the T-series) tend to accumulate a lot of interior dust which they draw from their ventilation fan.  A good dusting every few months is advised. The procedure is as follows.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T4x series===&lt;br /&gt;
See IBM's keyboard removal [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-46515 instructions] and [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-50227 movie].&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T6x series===&lt;br /&gt;
See IBM's keyboard removal&lt;br /&gt;
[http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-62800 instructions] and&lt;br /&gt;
[http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-63912 movie].&lt;br /&gt;
&lt;br /&gt;
===Other models (which?)===&lt;br /&gt;
#Unplug the computer.&lt;br /&gt;
#Remove the battery.&lt;br /&gt;
#Turn the ThinkPad over and find two to three screws with upraised double-arrows pointing to them.&lt;br /&gt;
#Unscrew these screws and set them aside.&lt;br /&gt;
#Press the silver area underneath where the battery used to be.  The front of the keyboard will pop up.&lt;br /&gt;
#Turn the ThinkPad right side up and gently remove the keyboard, pulling it toward you.&lt;br /&gt;
#There is one connector between the ThinkPad and the keyboard.  Disconnect it, and set the keyboard aside.&lt;br /&gt;
#If there is a small black plastic separator under the keyboard, remove it and set it aside.&lt;br /&gt;
#The fan should be visible in the upper left.  That entire area will likely be dusty.  With a can of compressed air (and ''only'' with a can of compressed air), dust that area and the surrounding area.&lt;br /&gt;
#Replace the small black plastic separator, then reconnect the keyboard.&lt;br /&gt;
#Slide the keyboard back into place, then press down on the Fn and right-arrow keys until it pops into place.&lt;br /&gt;
#Replace the keyboard screws and battery.&lt;br /&gt;
&lt;br /&gt;
==Dealing with spilling accidents==&lt;br /&gt;
#Don't panic.&lt;br /&gt;
#Don't flip or tilt the computer to prevent the liquid from spreading all over the inside of the case.&lt;br /&gt;
#Shut down the OS and turn off the power:&lt;br /&gt;
##Unplug the computer.&lt;br /&gt;
##Remove the battery.&lt;br /&gt;
#Tilt the computer so that everything that leaked into the case can flow out the same way.&lt;br /&gt;
#Allow the computer to dry before switching it on again.&lt;br /&gt;
#For minor accidents this might already be sufficient. For major flooding you should either bring the computer to a dealer who knows how to open and clean it from inside. Or you can read the Hardware Maintenance Manual, open, clean, and dry the computer yourself. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.moneysense.ca/spending/technology/columnist.jsp?content=986628 Act quickly, carefully if you spill on laptops] on MoneySense.ca (link broken as of 2006-09-18, the article is still available via [http://web.archive.org/web/20050221034011/http://www.moneysense.ca/spending/technology/columnist.jsp?content=986628 web.archive.org]).&lt;br /&gt;
&lt;br /&gt;
==Harddisk Backup / Upgrade==&lt;br /&gt;
*[[How to copy a Linux installation]]&lt;br /&gt;
*[[Harddrive Upgrade|How to upgrade your Thinkpad hard drive]]&lt;br /&gt;
*[[How to copy a Windows installation]]&lt;br /&gt;
===External Sources===&lt;br /&gt;
*[http://gamma.nic.fi/~point/win2copy.htm Guide on copying Windows 2000/XP to another partition]&lt;br /&gt;
&lt;br /&gt;
==Recovering BIOS passwords==&lt;br /&gt;
Password recovery procedure for IBM ThinkPads&lt;br /&gt;
using R24RF08 and IBMpass&lt;br /&gt;
&lt;br /&gt;
'''1. Introduction.'''&lt;br /&gt;
&lt;br /&gt;
The IBM ThinkPad uses a small eeprom ([[AT24RF08|ATMEL 24RF08]]) to store different OEM&lt;br /&gt;
issues like serial number, UUID, etc. The supervisor password (SVP) is also stored in this eeprom.&lt;br /&gt;
The 24RF08 is not an ordinary eeprom: it features read protection, which the BIOS uses to lock down&lt;br /&gt;
access to the eeprom contents.  Also, the password is written in a special scan code, which needs to&lt;br /&gt;
be translated to ASCII to be of any use.&lt;br /&gt;
&lt;br /&gt;
To recover the password, one can use two different programs: R24RF08 (eeprom reader) and IBMpass&lt;br /&gt;
(password revealer) available at [http://www.allservice.ro http://www.allservice.ro]. Diagrams are included in the reader kit.&lt;br /&gt;
&lt;br /&gt;
Models for which R24RF08 and IBMpass are enough to recover the password: 240, 240X, 390E, 390X, 570, 570E,&lt;br /&gt;
600e, 600X, 770Z, A20m, A21e, A21m, a22m, A30, A30p, A31, A31p, G40, G41, R30, R31, R32, R40, R50, R51, &lt;br /&gt;
Transnote, T20, T21, T22, T23, T30, T40, T40p, T41, T41p, T42, T42p, X20, X21, X22, X23, X24, X30, X31, X40, X41, X61.&lt;br /&gt;
&lt;br /&gt;
ThinkPads featuring TPCA technology (i.e. a [[Tpm|TPM trusted platform module chip]]), especially T4x, X3x, X4x, X61 and X61T need the W24RF08 eeprom writer program to complete the password recovery procedure, if the passphrase function is enabled in BIOS setup.&lt;br /&gt;
&lt;br /&gt;
Other models such as the 380XD or 600 use 24C01 or 93C46 eeproms, which can be read without special tools.&lt;br /&gt;
The method is the same like for the models based on 24RF08, only the software to dump the eeprom is different. &lt;br /&gt;
&lt;br /&gt;
Newer T43/T43p, R52, R60, T60/p, X60 and Z60 ThinkPads can be unlocked using PC8394 programming tools that consist in RPC8394 and WPC8394 (reader and writer for TPM chips). &lt;br /&gt;
The software is available as well on [http://www.allservice.ro http://www.allservice.ro]. IBMpass 2.0 works for any TP model without exceptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Locating the ATMEL 24RF08 eeprom. Soldering.'''&lt;br /&gt;
&lt;br /&gt;
No need to unsolder the 24RF08 eeprom, just solder 3 wires to SDA, SCL and GND pins of the&lt;br /&gt;
eeprom. There are two eeprom layouts (see interface schematics described bellow), corresponding to 8 pin or 14 pin eeproms. Locate the eeprom first according to your model (E.g. T20-23 and T30 have the eeprom underneath TP, and can be accessed by removing the RAM modules cover, no need to dismantle the laptop.) and solder the wires using a soldering iron with a fine tip. Also, you can use 0.15 -0.20 mm enamel coated wires or similar small diameter insulated wires. These wires will be connected later to the interface.&lt;br /&gt;
Tip: You can use clips to connect the wires or you can solder on the PCB traces leading to the&lt;br /&gt;
eeprom pins. Once again, be careful and double, triple check the soldering if necessary till you are positively sure you have done the right job. In case of applying too much solder, use flux-impregnated copper-braid &amp;quot;desoldering wick&amp;quot; - this works exceptionally well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Choose and build the interface.'''&lt;br /&gt;
&lt;br /&gt;
Since version 2.0, R24RF08 and W24RF08 (eeprom writer) are compatible with a wide range of eeprom programmers. By default, both programs set the COM port signals to use direct logic level to access I2C bus. We provide here 2 schematics that are relevant for direct logic signals and for inverse logic signals (simple-i2cprog.pdf and driven-i2cprog.pdf). Also, depending of the interface you build, you can invert the logics for SDA-In, SDA-Out, and SCL COM port signals by some command line parameters described later in this document.&lt;br /&gt;
a) The file simple-i2cprog.pdf contains the schematic diagram of a simple interface (known as SIPROG)based on 2 zeners and 2 resistors. This is a classic, easy to build circuit and works with soldered or unsoldered eeproms. The purpose of the 2 zeners is to convert RS232 levels (+/- 5V) to TTL levels, needed by the eeprom. It uses direct logic signals to I2C eeprom and is powered by the COM port. However, this interface works with in-system eeproms but is dependant on COM port current and eeprom bus impedance. R24RF08 works natively with this circuit, no need to change the lines signals with command line parameters. This circuit works pretty well with almost all ThinkPads series.&lt;br /&gt;
b) The second interface is described in driven-i2cprog.pdf. The circuit uses MAX 232 as a RS232 to TTL driver and its main purpose is to work with soldered eeproms. The advantage of MAX232 is the TTL outputs that are more reliable and more powerful when work with soldered, in-system eeproms (dependency free from the COM port current). Due of the internal inverters of MAX232 the interface responds to an inverse signal logic level. R24RF08 needs /x, /d, /i switches to be specified in the command line.&lt;br /&gt;
&lt;br /&gt;
What these switches mean:&lt;br /&gt;
/x - invert serial clock, also known as SCL;&lt;br /&gt;
/d - invert serial data output, also known as SDA-Out;&lt;br /&gt;
/i - invert serial data input, also known as SDA-In.&lt;br /&gt;
All those can be used in any combination to meet any interface specification.&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;standard&amp;quot; serial port programmer probably won't work with a USB-Serial adapter, but requires the full nominal voltage of a hardware serial port. [Example: the A22p's serial port works fine here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Dump the EEPROM:'''&lt;br /&gt;
&lt;br /&gt;
Prepare your technician PC by connecting the interface to the COM1 port (donâ€™t connect the wires to eeprom yet). Turn on the ThinkPad and press F1 to enter BIOS Setup. When you are prompted for the password and thereâ€™s no other activity like HDD access or so, connect the wires (GND first!, SDA, SCL) to the corresponding wires from the interface (attached before to COM1) and execute R24RF08:&lt;br /&gt;
&lt;br /&gt;
-for SI-PROG interface (as described in 3.a above):&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt;. where filename.ext is the file where eeprom content will be stored.&lt;br /&gt;
Example: r24rf08 mytp.bin&lt;br /&gt;
&lt;br /&gt;
-for MAX232 driven I2C interface (as described in 3.b above):&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt; /x /d /i. where /x /d /i are command line parameters (switches) for this kind of interface.&lt;br /&gt;
Example: r24rf08 mytp2.bin /x /d /i&lt;br /&gt;
&lt;br /&gt;
Use exactly the instructed switches to avoid possible damages to your eeprom data!&lt;br /&gt;
The file should be created in the same folder. Finally, disconnect the wires (GND last!) and turn off the ThinkPad by pressing on/off switch.&lt;br /&gt;
&lt;br /&gt;
Dump the EEPROM data at least twice, and do a bytewise compare with `cmp`. Both files should be identical, and 1024 bytes long. Otherwise, you probably have a serial port problem.&lt;br /&gt;
&lt;br /&gt;
Note: the r24rf08.exe program automatically sets the serial port parameters. It also works fine with Wine under Linux - provided that a symlink (com1) exists in the .wine/dos_devices directory, and points to the /dev/ttySX for the actual serial port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. Reveal the password.'''&lt;br /&gt;
&lt;br /&gt;
Now, you have the .bin file but you need to dump in scan code to retrieve the password. IBMpass 2.0 Lite is a free tool that will do the job. Just open the eeprom dump youâ€™ve created before and search for 0x330, 0x340 lines. The password is located on 0x338 (and 0x340 depending on model) in scan code. For 24C01 eeproms the password is located at 0x38, 0x40. If the password won't work for the very first time then your eeprom may use newer IBM scancodes. In this case switch to alternate scan codes to find it. For those who want quick answers the recommended version is IBMpass 1.1. Usage for IBMpass 1.1 (command line only):&lt;br /&gt;
&lt;br /&gt;
ibmpass mytp.bin â€“ use â€œ/aâ€ switch to see in alternate scan code if needed:&lt;br /&gt;
ibmpass mytp.bin /a&lt;br /&gt;
&lt;br /&gt;
For some old models like 570 or 770Z you need to execute the eeprom patcher first. This will reset the read protection on the password offset. To do that just execute patcher.exe before the reading operation, without rebooting the laptop:&lt;br /&gt;
&lt;br /&gt;
-for SI-PROG:&lt;br /&gt;
patcher.exe , then immediately&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-for Driven-I2C (Max232) you must insert the switches:&lt;br /&gt;
patcher.exe /x /d /i, then immediately&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt; /x /d /i&lt;br /&gt;
&lt;br /&gt;
W24RF08, the writer version, has included the complete APP reset operation you donâ€™t need to use patcher.&lt;br /&gt;
&lt;br /&gt;
Moreover, there are a new encrypting algos used with some new security chips (AT97SC3201, AT97SC3203) that are very secured. The password is not in scancode and in some cases not even in the eeprom. To unlock the machine, the dump should suffer some changes and the eeprom must be reprogrammed using W24RF08. This operation works for all IBM TCG/TCPA secured laptops w/o exceptions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember, use 3 wires from the interface and 3 wires from eeprom! Connect them after your&lt;br /&gt;
ThinkPad is powered and disconnect them right after you read the content, before you switch off the laptop.&lt;br /&gt;
&lt;br /&gt;
'''6. Password format'''&lt;br /&gt;
&lt;br /&gt;
The thinkpad power-on/supervisor passwords are a maximum of 7 characters, and are NOT case-sensitive. The allowed characters are restricted to A-Z, 0-9, semicolon, _, - (and perhaps a few others).&lt;br /&gt;
If  PassPhrase is enabled then the password can be longer than 7 characters.&lt;br /&gt;
&lt;br /&gt;
===External Sources===&lt;br /&gt;
* [http://www.allservice.ro R24RF08/W24RF08, PC8394 programming tools &amp;amp; IBMpass author's webpage.]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-59377 IBM Support - Lost or forgotten password]&lt;br /&gt;
* [http://www.allservice.ro/forum/viewforum.php?f=12 Full Service of all ThinkPad models including free password recovery]&lt;br /&gt;
* [http://sodoityourself.com/hacking-ibm-thinkpad-bios-password/ A tutorial on how to do this]&lt;/div&gt;</summary>
		<author><name>Steve Graham</name></author>
		
	</entry>
</feed>