<?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=Ssam</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=Ssam"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Ssam"/>
	<updated>2026-05-03T09:40:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X230&amp;diff=54237</id>
		<title>Category:X230</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X230&amp;diff=54237"/>
		<updated>2012-12-28T15:53:51Z</updated>

		<summary type="html">&lt;p&gt;Ssam: /* Features */ fingerprint reader model&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X230 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X230.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
*One of the following processors:&lt;br /&gt;
Intel Core i7-3520M (2.90 GHz, 4MB L3, 1600MHz FSB) &lt;br /&gt;
Intel Core i5-3360M (2.80 GHz, 3MB L3, 1600MHz FSB) &lt;br /&gt;
Intel Core i5-3320M (2.60 GHz, 3MB L3, 1600MHz FSB)&lt;br /&gt;
(different options available depending on the country you order from)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD Graphics 3000]] or [[Intel HD Graphics 4000]]&lt;br /&gt;
* Up to 16GB [[PC3-10600]] DDR3 memory at 1600MHz&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; TFT display with 1366x768 resolution with LED backlight&lt;br /&gt;
** 12.5&amp;quot; extra bright wide-viewing IPS TFT display with 1366x768 resolution with LED backlight&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** 500GB (5400rpm) SATA&lt;br /&gt;
** 320GB/500GB (7200rpm) SATA&lt;br /&gt;
** 128GB SSD SATA3&lt;br /&gt;
** Intel® 180GB SSD SATA3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[MiniPCI Express slot]] 1 with zero or one of the following:&lt;br /&gt;
** 10/100/1000 Ethernet &lt;br /&gt;
** ThinkPad b/g/n Wireless (1×1 BGN) &lt;br /&gt;
** Intel Centrino Wireless-N 2200 (2×2 BGN) &lt;br /&gt;
** Intel Centrino Advanced-N 6205 (2×2 AGN)&lt;br /&gt;
&lt;br /&gt;
* [[MiniPCI Express slot]] 2 with zero or one of the following:&lt;br /&gt;
**Qualcomm® Gobi™ 4k LTE VzW/HSPA&lt;br /&gt;
**Qualcomm® Gobi™ 3K 14.4Mbps/HSPA&lt;br /&gt;
**Ericsson HSPA+ WWAN Minicard (H5321gw)&lt;br /&gt;
&lt;br /&gt;
* [[ExpressCard slot|ExpressCard/54 slot]]&lt;br /&gt;
* [[SD Card slot]]&lt;br /&gt;
* Three USB ports (of which the two on the left are [[USB 3.0]])&lt;br /&gt;
* 720p HD [[Integrated camera]] or 3x3 Antenna Grid&lt;br /&gt;
* Stereo digital microphones&lt;br /&gt;
* Stereo speakers &lt;br /&gt;
* Combined headphone and microphone jack&lt;br /&gt;
* [[UltraNav]] ([[Trackpoint]] and [[Buttonless Touchpad]])&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (UPEK, model ID 147e:2020, not yet supported [Dec 2012])&lt;br /&gt;
* Comes with 65W AC Adapter&lt;br /&gt;
* Supports [[ThinkPad UltraBase Series 3]], [[ThinkPad Mini Dock Series 3]], etc.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX230.png|ThinkPad X230|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
* [http://www.lenovo.com/products/us/laptop/thinkpad/x-series/x230/X230-datasheet.pdf Datasheet]&lt;br /&gt;
&lt;br /&gt;
[[Category:X Series]]&lt;br /&gt;
&lt;br /&gt;
* It's possible to use a [[7mm_hard_drive_bay#mSata_SSD| mSATA SSD within the second MiniPCI Express slot]].&lt;/div&gt;</summary>
		<author><name>Ssam</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Xorg_RandR_1.2&amp;diff=49464</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=49464"/>
		<updated>2010-08-25T13:26:02Z</updated>

		<summary type="html">&lt;p&gt;Ssam: /* Note for Gnome users */&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 for 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;
Since Ubuntu 9.04 and later Debian releases the above command doesn't actually do anything and to create a new xorg.conf file you need to stop X and then type &lt;br /&gt;
    {{cmduser|sudo X -configure}}&lt;br /&gt;
which will create an xorg.conf.new file in the home folder of the user you are logged in (or /root if logged in as root)&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 {{path|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;
''Note: This apparently reboots X !!! - cf. [http://crunchbanglinux.org/forums/post/45226/#p45226]''&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;
=== Now automate it on login ===&lt;br /&gt;
To configure xrandr automatically during the first login, save this script to your computer as /etc/X11/Xsession.d/45custom_xrandr-settings:&lt;br /&gt;
&amp;lt;bash&amp;gt;&lt;br /&gt;
# If an external monitor is connected, place it with xrandr&lt;br /&gt;
&lt;br /&gt;
# External output may be &amp;quot;VGA&amp;quot; or &amp;quot;VGA-0&amp;quot; or &amp;quot;DVI-0&amp;quot; or &amp;quot;TMDS-1&amp;quot;&lt;br /&gt;
EXTERNAL_OUTPUT=&amp;quot;VGA&amp;quot;&lt;br /&gt;
INTERNAL_OUTPUT=&amp;quot;LVDS&amp;quot;&lt;br /&gt;
# EXTERNAL_LOCATION may be one of: left, right, above, or below&lt;br /&gt;
EXTERNAL_LOCATION=&amp;quot;right&amp;quot;&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$EXTERNAL_LOCATION&amp;quot; in&lt;br /&gt;
       left|LEFT)&lt;br /&gt;
               EXTERNAL_LOCATION=&amp;quot;--left-of $INTERNAL_OUTPUT&amp;quot;&lt;br /&gt;
               ;;&lt;br /&gt;
       right|RIGHT)&lt;br /&gt;
               EXTERNAL_LOCATION=&amp;quot;--right-of $INTERNAL_OUTPUT&amp;quot;&lt;br /&gt;
               ;;&lt;br /&gt;
       top|TOP|above|ABOVE)&lt;br /&gt;
               EXTERNAL_LOCATION=&amp;quot;--above $INTERNAL_OUTPUT&amp;quot;&lt;br /&gt;
               ;;&lt;br /&gt;
       bottom|BOTTOM|below|BELOW)&lt;br /&gt;
               EXTERNAL_LOCATION=&amp;quot;--below $INTERNAL_OUTPUT&amp;quot;&lt;br /&gt;
               ;;&lt;br /&gt;
       *)&lt;br /&gt;
               EXTERNAL_LOCATION=&amp;quot;--left-of $INTERNAL_OUTPUT&amp;quot;&lt;br /&gt;
               ;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
xrandr |grep $EXTERNAL_OUTPUT | grep &amp;quot; connected &amp;quot;&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
    xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --auto $EXTERNAL_LOCATION&lt;br /&gt;
    # Alternative command in case of trouble:&lt;br /&gt;
    # (sleep 2; xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --auto $EXTERNAL_LOCATION) &amp;amp;&lt;br /&gt;
else&lt;br /&gt;
    xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --off&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When X starts, it will be mirrored across both screens until someone logs in. At that point this script will execute and xrandr will position the external monitor.&lt;br /&gt;
&lt;br /&gt;
Note: On some machines the script above will not work although it seems to be executed correctly (no effect on resolution). In this case, try the commented-out alternative command line.&lt;br /&gt;
&lt;br /&gt;
=== [[Sample Fn-F7 script]] ===&lt;br /&gt;
For further examples of the use of xrandr commands, and scripts to switch the display using the Function key Fn-F7 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;
* [http://sourceforge.net/projects/zarfy/ Zarfy] &amp;amp;mdash; A GUI to libxrandr. It presents the user with visual representaion of active displays on an interactive map of the screen memory. Features free postioning, configuration saving, scripting for R&amp;amp;R and an alternate gui for switching between monitors.&lt;br /&gt;
&lt;br /&gt;
It is possible to have Fn-F7 run such a GUI, see [[Sample Fn-F7 script#Having Fn-F7 run a RandR GUI]].&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;
{{NOTE|With recent distributions which use KMS, the virtual size may be larger such as on the Intel 945 where the virtual size is now 4096x4096. However going beyond 2048x2048 still has implications, such as no support for 3D graphics (Compiz) and no Xvideo}}&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 - UMS'''&lt;br /&gt;
* '''VGA'''  -  Analog VGA output&lt;br /&gt;
* '''LVDS''' -  Laptop panel&lt;br /&gt;
* '''DP1''' - DisplayPort output&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;
'''Intel driver - KMS'''&lt;br /&gt;
* '''LVDS1''' -  Laptop panel&lt;br /&gt;
* '''VGA1'''  -  Analog VGA output&lt;br /&gt;
* '''DVI1'''  - Digital video output&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;
The gnome panel can be moved by holding ALT and dragging them to another screen.&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/027507.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;
=== Notes for X31, X32, T30 / Radeon 7000, Radeon 7500 users ===&lt;br /&gt;
{{X31}} and {{X32}} have 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 a customized virtual of 2304x1024 (for one 1024x768 and one 1280x1024 screen). But this only applies for 24-bit color depth. 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 16M &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>Ssam</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_reduce_power_consumption&amp;diff=38030</id>
		<title>How to reduce power consumption</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_reduce_power_consumption&amp;diff=38030"/>
		<updated>2008-06-20T13:54:32Z</updated>

		<summary type="html">&lt;p&gt;Ssam: /* Graphic controllers */ fix typo in xrandr command&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Reducing system power consumption will extend battery life, reduce system&lt;br /&gt;
temperature and (on some models) reduce system fan noise.&lt;br /&gt;
Power consumption can be greatly improved from a stock distribution configuration&lt;br /&gt;
to a fine tuned system. The general rules are :&lt;br /&gt;
* Unload drivers for unused devices (ie. USB 1.1, Yenta/PCMCIA, Wireless, IRDA, Bluetooth, ...)&lt;br /&gt;
* Reduce polling on devices (drives, USB subsystem, nvram, use SATA AN, ...)&lt;br /&gt;
* Reduce hard drive activity&lt;br /&gt;
* Reduce LCD brightness to the minimum you can stand&lt;br /&gt;
* Reduce CPU wakeups, so it can stay longer in deep power saving c-states&lt;br /&gt;
* Make use of every hardware devices availables power saving features (AHCI ALPM, USB autosuspend, Alsa and Wireless powersaving modes, HPET timers, ...)&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Arjan van de Ven's [[PowerTOP]] utility&lt;br /&gt;
is a gold mine to improve energy efficiency, but is almost only CPU-oriented. This tool helps to easily detect&lt;br /&gt;
the top power offenders, both userland and kernel modules, which prevent the use of CPU power saving mechanisms and sometime suggest &lt;br /&gt;
fixes accordingly.&lt;br /&gt;
PowerTOP users collected some [http://www.lesswatts.org/projects/powertop/known.php tips &amp;amp; tricks]&lt;br /&gt;
and an informative [http://www.lesswatts.org/projects/powertop/faq.php faq].&lt;br /&gt;
&lt;br /&gt;
Alternatively (or complementary) to PowerTOP, running &amp;lt;code&amp;gt;strace -p $(pidof yourapp)&amp;lt;/code&amp;gt; &lt;br /&gt;
for all your favorite or background running applications while they are expected to be &lt;br /&gt;
idle, will show the misbehaviors.&lt;br /&gt;
&lt;br /&gt;
Beside CPU wakeups, disks spins are also power hungry. To detect what make your disk spinning,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 sysctl vm.block_dump=1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will list all applications causing disks wakeups on the kernel's dmesg.&lt;br /&gt;
Other useful tools for this purpose are blktrace, iostat and lm-profiler&lt;br /&gt;
(from laptop-mode-tools suite).&lt;br /&gt;
&lt;br /&gt;
See also [[#Misbehaving Userland]].&lt;br /&gt;
&lt;br /&gt;
==BIOS settings==&lt;br /&gt;
Some Thinkpad BIOS (like 2.08 BIOS on {{X40}}) offer two very lame options,&lt;br /&gt;
with a very misleading online help (saying &amp;quot;Usually not needed&amp;quot;). That's&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management: (default disabled)&lt;br /&gt;
 PCI bus power management: (default disabled)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should indeed ''enable'' them, else the deepest C3 and C4 ACPI C-states&lt;br /&gt;
are disabled.&lt;br /&gt;
&lt;br /&gt;
==CPU==&lt;br /&gt;
Look at:&lt;br /&gt;
* [[How to make use of Dynamic Frequency Scaling]]&lt;br /&gt;
* [[Pentium M undervolting and underclocking]]&lt;br /&gt;
&lt;br /&gt;
A good thing to keep in mind is that every CPU wakeup, even if it's for&lt;br /&gt;
a trivial light job, reduce the time the CPU stays on a deep power&lt;br /&gt;
saving C-state (like C3 or C4). Therefore you should ensure your applications&lt;br /&gt;
stay really idle when they meant to be idle (track shorts select timeouts&lt;br /&gt;
in loop, etc. with [[PowerTOP]]).&lt;br /&gt;
&lt;br /&gt;
Also note that manually locking the CPU in the lowest P-state (frequency) &lt;br /&gt;
available is '''not''' an efficient way to improve battery lifetime. This will&lt;br /&gt;
cause the CPU to stay longer in C0 (power hungry C-state) doing hard work when &lt;br /&gt;
there is something to do, while it could have done this work faster by augmenting&lt;br /&gt;
the CPU freq, and returned back faster to a deeper, economic, C-state and to a&lt;br /&gt;
lower frequency (P-state).&lt;br /&gt;
The best is to let the kernel select the appropriates CPU frequencies by itself&lt;br /&gt;
with the help of in kernel CPU governors.&lt;br /&gt;
Have a look at [http://www.bughost.org/pipermail/power/2007-May/000166.html this explanation]&lt;br /&gt;
from Intel's kernel developer Arjan van de Ven.&lt;br /&gt;
&lt;br /&gt;
==Kernel settings and patches==&lt;br /&gt;
&lt;br /&gt;
===General settings===&lt;br /&gt;
The 2.6.21 kernel brought some very effective changes (like [[dynticks]]). &lt;br /&gt;
Later, 2.6.24-rc2 brought a lot of other power efficiency improvements. &lt;br /&gt;
If it's not already on your distribution and you value power efficiency, &lt;br /&gt;
you may think about compiling a recent kernel yourself. &lt;br /&gt;
&lt;br /&gt;
Here are a few options (beside the ACPI and APM related one) that matter to &lt;br /&gt;
reduce power consumption or to help diagnosing consumers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 # From PowerTOP's FAQ:&lt;br /&gt;
 CONFIG_NO_HZ&lt;br /&gt;
 CONFIG_HIGH_RES_TIMERS&lt;br /&gt;
 CONFIG_HPET&lt;br /&gt;
 CONFIG_HPET_TIMER&lt;br /&gt;
 CONFIG_CPU_FREQ_GOV_ONDEMAND&lt;br /&gt;
 CONFIG_USB_SUSPEND&lt;br /&gt;
 CONFIG_SND_AC97_POWER_SAVE&lt;br /&gt;
 CONFIG_SND_HDA_POWER_SAVE&lt;br /&gt;
 CONFIG_SND_HDA_POWER_SAVE_DEFAULT=3&lt;br /&gt;
 CONFIG_TIMER_STATS&lt;br /&gt;
 CONFIG_ACPI_BATTERY&lt;br /&gt;
 CONFIG_CPU_FREQ_STAT&lt;br /&gt;
 CONFIG_INOTIFY&lt;br /&gt;
&lt;br /&gt;
 # Not from the PowerTOP FAQ:&lt;br /&gt;
 CONFIG_BLK_DEV_IO_TRACE&lt;br /&gt;
 CONFIG_X86_ACPI_CPUFREQ&lt;br /&gt;
 CONFIG_X86_SPEEDSTEP_CENTRINO depreciated as of kernel 2.6.24, use CONFIG_X86_ACPI_CPUFREQ&lt;br /&gt;
 CONFIG_X86_SPEEDSTEP_ICH&lt;br /&gt;
 CONFIG_X86_SPEEDSTEP_SMI&lt;br /&gt;
 CONFIG_CPU_IDLE&lt;br /&gt;
 CONFIG_CPU_IDLE_GOV_LADDER&lt;br /&gt;
 CONFIG_CPU_IDLE_GOV_MENU&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those options are already in Fedora Core 7 and Ubuntu Gutsy (not Feisty) default i686 kernels.&lt;br /&gt;
PowerTOP FAQ also suggest to '''disable'''&lt;br /&gt;
CONFIG_IRQBALANCE and CONFIG_ACPI_DEBUG.&lt;br /&gt;
&lt;br /&gt;
Also, you need to properly set APM and ACPI. Look at:&lt;br /&gt;
* [[Power Management]]&lt;br /&gt;
* [[How to make use of Power Management features]]&lt;br /&gt;
&lt;br /&gt;
=== Kernel boot and module loading options ===&lt;br /&gt;
If you have an Intel chipset &amp;gt; ICH3 (cf. lspci output), as in most modern Thinpads, you should&lt;br /&gt;
be using the integrated HPET timer (saves about 30 CPU wake ups per second). To see if&lt;br /&gt;
hpet is enabled on your laptop :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep hpet /proc/timer_list&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this does not display &amp;quot;Clock Event Device: hpet&amp;quot;, then add &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 hpet=force&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to your kernel boot options (usualy in /boot/grub/menu.lst or lilo.conf). &lt;br /&gt;
Note that &amp;quot;hpet=force&amp;quot; is only available by default in 2.6.24-rc2 and above &lt;br /&gt;
(or as a separated patch for 2.6.22 and 2.6.23, see below).&lt;br /&gt;
&lt;br /&gt;
===Useful Patches===&lt;br /&gt;
&lt;br /&gt;
Thomas Gleixner High Resolution Timers (hrt) patchset brings many improvements,&lt;br /&gt;
like the cpuidle work and Udo A. Steinberg and Venki Pallipadi &amp;quot;force&lt;br /&gt;
enable HPET&amp;quot; patches (non HPET timers causes about 20-40 CPU wakeups/second, but&lt;br /&gt;
HPET is often hidden by the BIOS due to Windows XP deficiencies). Those are &lt;br /&gt;
fully merged in 2.6.24-rc1 vanilla kernel.&lt;br /&gt;
See http://www.tglx.de/projects/hrtimers/&lt;br /&gt;
&lt;br /&gt;
Kristen Carlson Accardi from Intel has a patchset to turn on &amp;quot;Aggressive&lt;br /&gt;
Link Power Management&amp;quot; (ALPM) for the AHCI driver (for SATA bus). Also from&lt;br /&gt;
Accardi, SATA Asynchronous Notification (SATA AN), alows SATA link to notify&lt;br /&gt;
media insertions (thus avoid hal polling the cdrom). Those patches were merged &lt;br /&gt;
in 2.6.24-rc2 kernel (AN needs also support in hal to be used).&lt;br /&gt;
See: http://www.kernel.org/pub/linux/kernel/people/kristen/patches/SATA/alpm/&lt;br /&gt;
&lt;br /&gt;
As of now (2.6.24-rc8), the linux kernel doesn't support PCI Express power &lt;br /&gt;
management (aka PCIe ASPM, aka PCIe LPM). Shaohua Li from Intel submited a &lt;br /&gt;
patch on LKML (http://lkml.org/lkml/2008/1/17/544 ) though, and reported it &lt;br /&gt;
to reduce power consumption by 1.3 watts for a system with three PCIe links.&lt;br /&gt;
&lt;br /&gt;
The [[HDAPS]] disk protection systems can reduce battery life. &lt;br /&gt;
Matthew Garrett provides [http://www.linuxpowertop.org/patches/hdaps.patch a patch]&lt;br /&gt;
that prevents hdaps kernel module to generate interrupts when&lt;br /&gt;
this feature isn't used.&lt;br /&gt;
&lt;br /&gt;
===Useful sysctls===&lt;br /&gt;
The meaning of those settings is explained case by case on the relevant &lt;br /&gt;
sections of this document. But for convenience sake, we group them here too.&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;ondemand&amp;quot; scaling governor is recommended by Intel developers&lt;br /&gt;
for energy efficiency: it's expected to be more efficient than the &amp;quot;powersave&amp;quot;&lt;br /&gt;
governor, or than userspace daemons (like cpufreq-utils, cpufreqd, powernowd...).&lt;br /&gt;
Look [http://www.bughost.org/pipermail/power/2007-May/000071.html here],&lt;br /&gt;
[http://www.bughost.org/pipermail/power/2007-May/000073.html here], or&lt;br /&gt;
[http://www.bughost.org/pipermail/power/2007-May/000166.html here] for a&lt;br /&gt;
kernel developer explanation about &amp;quot;ondemand&amp;quot; being better on modern Intel CPUs.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;link_power_management_policy&amp;quot; tunable won't be available unless you&lt;br /&gt;
run a 2.6.24-rc2 or more kernel, or applied Kirsten patchset, have an Intel &lt;br /&gt;
AHCI compatible chipset, and use SATA drives.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
 echo 0 &amp;gt; /proc/sys/kernel/nmi_watchdog&lt;br /&gt;
 echo Y &amp;gt; /sys/module/snd_ac97_codec/parameters/power_save&lt;br /&gt;
 echo 1 &amp;gt; /sys/devices/system/cpu/sched_mc_power_savings&lt;br /&gt;
 echo ondemand &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
 echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
 for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 &amp;gt; $i; done&lt;br /&gt;
 # those sysctl's are only available if you have an AHCI compatible SATA &lt;br /&gt;
 # controler and use kernel &amp;gt; 2.6.24-rc2 (or use Kristen ALPM patchset) : &lt;br /&gt;
 echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
 echo min_power &amp;gt; /sys/class/scsi_host/host1/link_power_management_policy&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're running a kernel older than 2.6.22 do this. Not needed for kernels 2.6.22 onward:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd /sys/devices/system/cpu/cpu0/cpufreq&lt;br /&gt;
 cat ondemand/sampling_rate_max &amp;gt; ondemand/sampling_rate&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ATA drives==&lt;br /&gt;
Hard drives and CDRom drives spinning is very costly. To improve battery&lt;br /&gt;
lifetime, you should reduce disks access (or devices polling) the more you&lt;br /&gt;
can.  &lt;br /&gt;
&lt;br /&gt;
===Hard Drives===&lt;br /&gt;
The files access time update, while mandated by POSIX, is causing lots of&lt;br /&gt;
disks access; even accessing files on disk cache may wake the ATA or USB&lt;br /&gt;
bus. If you don't use this feature, disable it via:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 mount -o remount,noatime /  # and so on for all mounted fs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The laptop_mode reduce disk usage by regrouping writes. You should enable&lt;br /&gt;
it, at least while on battery. See [[Laptop-mode]] for more details:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default kernel dirty page writeback frequency is very conservative. On&lt;br /&gt;
a laptop running on battery, one might find more appropriate to reduce it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some power saving hard drives features can be activated with hdparm (beware&lt;br /&gt;
that &amp;quot;-B 1&amp;quot; may reduce your drive lifetime, if you have lot of intermittent&lt;br /&gt;
disk activity causing lots of heads load/unloads: so reduce I/O activity first,&lt;br /&gt;
as explained above, in order to get longer disks idling periods).&lt;br /&gt;
For more details look at [[How to make use of Power Management features]] :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
 hdparm -B 1 -S 12 /dev/sda # and/or any other disk device&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SATA Link Power Management====&lt;br /&gt;
On kernels 2.6.24 and new this enables SATA Link Power Management:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
 echo min_power &amp;gt; /sys/class/scsi_host/host1/link_power_management_policy&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Disable it by replacing &amp;lt;code&amp;gt;min_power&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;max_performance&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On Hardy Heron with a 2.6.24-16 kernel, a suspend/resume cycle is much quicker if you disable SATA Link Power Management before initiating the suspend.&lt;br /&gt;
&lt;br /&gt;
===Optical drive===&lt;br /&gt;
The optical drive is reported to consume power even when not accessed. See &lt;br /&gt;
&lt;br /&gt;
* [[How to hotswap UltraBay devices|Eject the UltraBay optical drive]], or just turn off its power supply (i.e., run the appropriate eject script but leave the drive inserted).&lt;br /&gt;
* [[How to set optical drive speed|Reduce the spinning speed of the optical drive]].&lt;br /&gt;
&lt;br /&gt;
The hald daemon polling tends to maintain the ATA buses out of power saving&lt;br /&gt;
modes, and to wakeup CDROM drive (except if you have a kernel &amp;gt;= 2.6.24, hal &amp;gt;= 0.5.10,&lt;br /&gt;
and SATA AN compatible devices). If you have a recent hald version, you&lt;br /&gt;
can stop this polling when on battery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 hal-disable-polling --device /dev/scd0 # or whatever your CD drive is&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
start polling again when on ac:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 hal-disable-polling --enable-polling --device /dev/scd0 # or whatever your CD drive is&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your hald is not recent enough, consider suspending it when running on battery. Some moderns SATA buses and drivers supports a notification mechanism (SATA AN - Asynchronous Events Notifications) that obsolete the need for polling on modern hardware; support for this feature had been merged in Linux 2.6.24-rc1 and HAL 0.5.10.&lt;br /&gt;
&lt;br /&gt;
==LCD Backlight/Brightness==&lt;br /&gt;
The LCD backlight is one of the very major power drain. &lt;br /&gt;
Reducing brightness to the lowest readable&lt;br /&gt;
level will save a lot of battery lifetime. Also, don't forget to configure&lt;br /&gt;
your screen saver to shutdown the screen backlight (rather than displaying some&lt;br /&gt;
eye candy), when no activity for a few minutes.&lt;br /&gt;
&lt;br /&gt;
You can also let the system [[automatically reduce brightness]] after a &lt;br /&gt;
period of inactivity.&lt;br /&gt;
&lt;br /&gt;
If you're choosing your Thinkpad laptop model, keep in mind that the screen&lt;br /&gt;
size affect the battery time greatly: more power needed for larger screens.&lt;br /&gt;
&lt;br /&gt;
The very recent, but xorg standard way to control backlight from CLI is&lt;br /&gt;
using xbacklight. ie. to set backlight at half the brightness:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 xbacklight -set 50&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should configure the DPMS to shutdown the screen when idle (rather than&lt;br /&gt;
displaying a fancy but power consuming screensaver). ie. to turn off the&lt;br /&gt;
display after 5mn of idling:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 xset +dpms&lt;br /&gt;
 xset dpms 0 0 300&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Graphic controllers==&lt;br /&gt;
All xorg Thinkpad graphics chipsets drivers (ati, radeon, fglrx, i810) have&lt;br /&gt;
the same bug causing very frequent CPU wakeups when DRI is activated, even&lt;br /&gt;
when you don't use any 3D application.&lt;br /&gt;
This problem is partly fixed on xorg git tree but not released as of xorg&lt;br /&gt;
7.2. If you value more battery than 3D, you should disable DRI: put this on&lt;br /&gt;
the /etc/X11/xorg.conf &amp;quot;Device&amp;quot; of you graphic controller:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Option          &amp;quot;NoDRI&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also be sure that DPMS is working: &amp;lt;code&amp;gt;grep DPMS /var/log/Xorg.0.log&amp;lt;/code&amp;gt;&lt;br /&gt;
should output &amp;quot;DPMS enabled&amp;quot;. If not, put &amp;lt;code&amp;gt;Option &amp;quot;DPMS&amp;quot;&amp;lt;/code&amp;gt; in your config.&lt;br /&gt;
See the section above about how to enable dpms driven display power saving.&lt;br /&gt;
&lt;br /&gt;
On recent xrandr/xorg versions, you can disable the TV output (or any other detected&lt;br /&gt;
as connected but not used outputs) when you're not using it: it's known to consume power. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
 xrandr # see all displays listed here, but that you don't actually use and disable them. &lt;br /&gt;
 xrandr --output TV --off # for instance (if &amp;quot;xrandr&amp;quot; above listed a connected output named &amp;quot;TV&amp;quot; that you don't use)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you don't have an external monitor plugged, disable CRT and DVI output &lt;br /&gt;
(for some, this can make a difference in power usage) : &lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
 echo crt_disable &amp;gt; /proc/acpi/ibm/video&lt;br /&gt;
 echo dvi_disable &amp;gt; /proc/acpi/ibm/video&lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some drivers have specials power saving mode, and/or allows underclocking the GPU. See also:&lt;br /&gt;
* [[How to make use of Graphics Chips Power Management features]], or with [[Rovclock]] on ATI.&lt;br /&gt;
* [[Problem with high power drain in ACPI sleep]]&lt;br /&gt;
&lt;br /&gt;
==USB Subsystem==&lt;br /&gt;
The kernel support an efficient USB 2.0 power saving feature if you enabled&lt;br /&gt;
CONFIG_USB_SUSPEND. This may not trigger in when you have an USB device&lt;br /&gt;
plugged (and beside, USB devices tends to suck power on their own), so avoid&lt;br /&gt;
using such devices when on battery. To enable it by default, you must add the line &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
options usbcore autosuspend=1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
to your &amp;lt;tt&amp;gt;/etc/modprobe.conf&amp;lt;/tt&amp;gt; or add it to (and create if necessary) the file &amp;lt;tt&amp;gt;/etc/modprobe.d/usbcore&amp;lt;/tt&amp;gt; depending on how your distribution organises modprobe configuratoin. &lt;br /&gt;
&lt;br /&gt;
If on the other hand, you have &amp;lt;tt&amp;gt;usbcore&amp;lt;/tt&amp;gt; built into your kernel, you can add this in the kernel boot options (ie. in grub's menu.lst):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 usbcore.autosuspend=1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or at runtime, per device, with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 for i in /sys/bus/usb/devices/%s/power/autosuspend; do echo 1 &amp;gt; $i; done&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
USB 1.1 is worst. It needs polling the bus frequently, hence can't really go&lt;br /&gt;
in a low power mode when you enabled it, even if you don't have any device&lt;br /&gt;
plugged. You'd better remove it when you don't use a 1.1 device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 rmmod uhci_hcd&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you don't intend to use any device needing USB 1.1 (unfortunately, the built-in bluetooth and fingerprint-reader are USB 1.1 devices), the USB 1.1 support can also be totally avoided. On Debian and derivatives, just do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo &amp;quot;blacklist uhci_hcd&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PCMCIA/CardBus==&lt;br /&gt;
Same for PCMCIA/CardBus. Some users experiences interrupts clouds (sometime up to &lt;br /&gt;
several thousands interrupts/second) causing CPU wakeups, thus totally preventing &lt;br /&gt;
the CPU to reach lower C-states. &lt;br /&gt;
If you don't use PCMCIA, you may disable it the same way (unloading seems insufficient&lt;br /&gt;
to restore the system properly, you have to boot without it):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo &amp;quot;blacklist pcmcia&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist&lt;br /&gt;
 echo &amp;quot;blacklist yenta_socket&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
ALSA has a power saving feature that should be enabled on your kernel&lt;br /&gt;
(CONFIG_SND_AC97_POWER_SAVE). Note that this low power mode won't trigger in&lt;br /&gt;
unless you muted all sound inputs (micro, line in etc.). This feature has&lt;br /&gt;
to be activated with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 amixer set Line mute nocap&lt;br /&gt;
 amixer set Mic mute nocap&lt;br /&gt;
 echo Y &amp;gt; /sys/module/snd_ac97_codec/parameters/power_save&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More radical: you can unload all sound related modules when you are on &lt;br /&gt;
battery, or mute the sound system (echo mute &amp;gt; /proc/acpi/ibm/volume).&lt;br /&gt;
&lt;br /&gt;
See also [[How to enable audio codec power saving]].&lt;br /&gt;
&lt;br /&gt;
==Wireless Interface==&lt;br /&gt;
===intel wireless===&lt;br /&gt;
Wireless network consume a lot of power.&lt;br /&gt;
To save power, you can kill the Wi-Fi radio when it's not in use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 1 &amp;gt; /sys/bus/pci/devices/*/rf_kill&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need Wi-Fi, you can also reduce power consumption (at the price of&lt;br /&gt;
performances) by activating the power saving modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 iwpriv eth1 set_power 5&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For drivers using the new Wi-Fi kernel framework (mac80211/cfg80211), &lt;br /&gt;
the canonical way to do this is now:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 for i in /sys/bus/pci/devices/*/power_level ; do echo 5 &amp;gt; $i ; done&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most drivers, like ipw2200, that don't use the new mac80211 framework place the&lt;br /&gt;
interfaces in aggressive scanning mode when they are not associated with any &lt;br /&gt;
Access Point, even when the interface is down (more info about this on Intel's&lt;br /&gt;
[http://www.lesswatts.org/tips/wireless.php LessWatts] website).&lt;br /&gt;
This behavior consumes a lot of power, even more than when the interface&lt;br /&gt;
is plain active and in use. But this can disabled at module's load time :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 rmmod ipw2200&lt;br /&gt;
 modprobe ipw2200 associate=0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can fix this setting by placing the following in /etc/modprobe.d/options &lt;br /&gt;
(Debian/Ubuntu) or in /etc/modprobe.conf (Red Hat/Fedora):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 options ipw2200 associate=0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reducing beacon intervals on your Access Point to 1 per second will also&lt;br /&gt;
reduce network card interrupts, therefore power savings. This shouldn't have&lt;br /&gt;
negatives side effects.&lt;br /&gt;
&lt;br /&gt;
See also, to activate power saving on the wireless network card:&lt;br /&gt;
* For [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] and [[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]], see instructions for the [[ipw2200]] driver.&lt;br /&gt;
* For [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter]], see the [http://ipw3945.sourceforge.net/README.ipw3945 ipw3945 driver README]&lt;br /&gt;
&lt;br /&gt;
==Ethernet Controler==&lt;br /&gt;
If you don't use Wake-on-LAN, you should disable it for your network card,&lt;br /&gt;
because it sucks a lot of power:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ethtool -s eth0 wol d&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you can, try to reduce useless network activity on your ethernet&lt;br /&gt;
segment, coming to your NIC (ie. uneeded broadcasts), those cause &lt;br /&gt;
interrupts and CPU wakeups.&lt;br /&gt;
&lt;br /&gt;
Forcing 100Mbps full-duplex speed on a gigabit ethernet NIC can also save a lot of power (~1W) on most network workloads. This also reduces components temperature (e.g., [[Thermal Sensors|thermal sensor]] 0xC0 on the {{T43}} cools down by 5 degree between 1000Mbps and 100Mbps, and another 1 degree for 10Mbps).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  ethtool -s eth0 autoneg off speed 100&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note, however, that if the network device on the other side has auto-negotiation enabled (which is very common) and you turn auto-negotiation off, the other side will assume half-duplex mode and you will experience a significant loss of performance.&lt;br /&gt;
&lt;br /&gt;
==Bluetooth==&lt;br /&gt;
When you don't need bluetooth, disable it. Because of its radio, &lt;br /&gt;
bluetooth is not power friendly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 hciconfig hci0 down ; rmmod hci_usb&lt;br /&gt;
 echo disable &amp;gt; /proc/acpi/ibm/bluetooth&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Modem==&lt;br /&gt;
When was the last time you used your analog modem? If you can't remember, you probably just don't need it. If it is on a separate module in your laptop, simply remove it. Store it in a ESD safe place (like the bag in which your last addon card or hard drive was packed), in case you should need it again. This won't save you a lot of power and weight, but why carry something around you never use.&lt;br /&gt;
&lt;br /&gt;
==System Fans==&lt;br /&gt;
Fans consumes power when running, so you may look at the [[ACPI fan control script]].&lt;br /&gt;
&lt;br /&gt;
==Misbehaving Userland==&lt;br /&gt;
You should avoid using Beagle, Compiz, Beryl, XMMS, gnome-power-manager&lt;br /&gt;
and Evolution while on battery.&lt;br /&gt;
Look at the PowerTOP's [http://www.linuxpowertop.org/known.php known problems]&lt;br /&gt;
list.&lt;br /&gt;
&lt;br /&gt;
Deactivate desktop animations (blinking cursor on the terms, animated wallpapers, ...): they cause regular X (therefore kernel and CPU) wakeups.&lt;br /&gt;
&lt;br /&gt;
In short, while on battery, you should stop all applications that don't really stay idle when you're not using them. This means applications that:&lt;br /&gt;
* Wakes up the CPU too often (by polling something, because of too short select() timeouts, ...)&lt;br /&gt;
* Access the disks at regular intervals&lt;br /&gt;
* Access an hardware bus (USB, ATA, ...) at regular intervals&lt;br /&gt;
To find those offenders run:&lt;br /&gt;
* &amp;lt;code&amp;gt;strace -p $(pidof yourapp)&amp;lt;/code&amp;gt; # for all your running applications&lt;br /&gt;
* &amp;lt;code&amp;gt;powertop&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sysctl vm.block_dump=1&amp;lt;/code&amp;gt; # and look at dmesg&lt;br /&gt;
* &amp;lt;code&amp;gt;ps aux | awk '{print$10,$11}' | sort -n&amp;lt;/code&amp;gt; # will list all running softs sorted by used cpu time&lt;br /&gt;
Please, don't forget to fill a bug when you find such a misbehaving software.&lt;br /&gt;
{{NOTE|Not all software is evil, buggy or badly written. Some produce regular activity because they have to, in order to provide their intented functionality.  Think twice before filling bugs about this.}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[How to measure power consumption]]&lt;br /&gt;
* [[Script for monitoring power consumption]]&lt;br /&gt;
* Battery [[maintenance]]&lt;br /&gt;
&lt;br /&gt;
==External resources==&lt;br /&gt;
* [http://www.free-it.de/archiv/talks_2005/paper-11017/paper-11017.html ''Current trends in Linux Kernel Power Management''], Dominik Brodowski, 2005&lt;br /&gt;
* [http://www.linuxpowertop.org PowerTOP] website&lt;br /&gt;
* [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide] from the Gentoo Linux documentation&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030478.html When/where/what for low power consumption?] (thread on Linux-Thinkpad)&lt;br /&gt;
* Intel's [http://www.lesswatts.org/ LessWatts] &amp;quot;''Saving power on Linux''&amp;quot; website&lt;br /&gt;
* ''8 hours of battery life on your lap(top)'' ([http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.odp ODP]/[http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.pdf PDF]), a presentation by Pavel Machek&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:600X]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:A30]] [[Category:A30p]] [[Category:A31]] [[Category:A31p]] [[Category:i1200]] [[Category:i1300]] [[Category:i1620]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50e]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:R60]] [[Category:R60e]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:T60p]] [[Category:T61]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:X61]] [[Category:X61s]]  [[Category:Z60m]] [[Category:Z60t]] [[Category:Z61t]] [[Category:Z61e]] [[Category:TransNote]]&lt;/div&gt;</summary>
		<author><name>Ssam</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:PowerTOP&amp;diff=38024</id>
		<title>Talk:PowerTOP</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:PowerTOP&amp;diff=38024"/>
		<updated>2008-06-20T10:37:13Z</updated>

		<summary type="html">&lt;p&gt;Ssam: /* ibm_acpi wakeups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;uum... how is this related to ibm/lenovo thinkpads? [[User:Ra|Ra]] 19:04, 18 September 2007 (UTC)&lt;br /&gt;
:it is related, as it is a software for linux which helps you to get a longer battery life for your laptop which in this case is a thinkpad ;) --[[User:Zhenech|Zhenech]] 20:07, 18 September 2007 (UTC)&lt;br /&gt;
:: thanks for clarifying (i do use powertop since its released). anyway imho linking to the homepage is ok, but the article does not contain any useful (thinkpad related) information. -- [[User:Ra|Ra]] 22:57, 18 September 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== ibm_acpi wakeups ==&lt;br /&gt;
&lt;br /&gt;
One of the biggest causes of wakeups on my X31 is ibm-acpi&lt;br /&gt;
75% (159.0) &amp;lt;interrupt&amp;gt; : acpi&lt;br /&gt;
&lt;br /&gt;
http://www.lesswatts.org/projects/powertop/known.php#ibm_acpi says:&lt;br /&gt;
&amp;quot;The ibm_acpi kernel module seems to create a really high number/frequency of ACPI interrupts, which will shorten your battery life a lot. We've not diagnosed this a lot yet, but at this point it's worth trying to unload this kernel module from your kernel.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
after follow some of powertop's advice i get down to 8.5-8.4 watts, if i unload ibm-acpi i get down to 8.3 W, with a total of 43 wakeups per second. (this is with an idle gnome desktop on ubuntu hardy with 2.6.24 kernel). does anyone know anything about how to improve ibm-acpi, with out loosing all its useful features.&lt;br /&gt;
&lt;br /&gt;
also forcing HPET seems to increase powerusage by about 0.5 watt. (my statistic are quite low)&lt;br /&gt;
&lt;br /&gt;
followup:&lt;br /&gt;
getting rid of tp-fancontrol gets rid of 99% of the acpi wake ups.&lt;/div&gt;</summary>
		<author><name>Ssam</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:PowerTOP&amp;diff=38019</id>
		<title>Talk:PowerTOP</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:PowerTOP&amp;diff=38019"/>
		<updated>2008-06-18T18:22:48Z</updated>

		<summary type="html">&lt;p&gt;Ssam: New section: ibm_acpi wakeups&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;uum... how is this related to ibm/lenovo thinkpads? [[User:Ra|Ra]] 19:04, 18 September 2007 (UTC)&lt;br /&gt;
:it is related, as it is a software for linux which helps you to get a longer battery life for your laptop which in this case is a thinkpad ;) --[[User:Zhenech|Zhenech]] 20:07, 18 September 2007 (UTC)&lt;br /&gt;
:: thanks for clarifying (i do use powertop since its released). anyway imho linking to the homepage is ok, but the article does not contain any useful (thinkpad related) information. -- [[User:Ra|Ra]] 22:57, 18 September 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== ibm_acpi wakeups ==&lt;br /&gt;
&lt;br /&gt;
One of the biggest causes of wakeups on my X31 is ibm-acpi&lt;br /&gt;
75% (159.0) &amp;lt;interrupt&amp;gt; : acpi&lt;br /&gt;
&lt;br /&gt;
http://www.lesswatts.org/projects/powertop/known.php#ibm_acpi says:&lt;br /&gt;
&amp;quot;The ibm_acpi kernel module seems to create a really high number/frequency of ACPI interrupts, which will shorten your battery life a lot. We've not diagnosed this a lot yet, but at this point it's worth trying to unload this kernel module from your kernel.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
after follow some of powertop's advice i get down to 8.5-8.4 watts, if i unload ibm-acpi i get down to 8.3 W, with a total of 43 wakeups per second. (this is with an idle gnome desktop on ubuntu hardy with 2.6.24 kernel). does anyone know anything about how to improve ibm-acpi, with out loosing all its useful features.&lt;br /&gt;
&lt;br /&gt;
also forcing HPET seems to increase powerusage by about 0.5 watt. (my statistic are quite low)&lt;/div&gt;</summary>
		<author><name>Ssam</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Supported_Boot_Devices&amp;diff=37323</id>
		<title>Talk:Supported Boot Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Supported_Boot_Devices&amp;diff=37323"/>
		<updated>2008-04-15T17:31:57Z</updated>

		<summary type="html">&lt;p&gt;Ssam: New section: thinkpad x31 boot from usb cd&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CF slot? ==&lt;br /&gt;
&lt;br /&gt;
I've got a X21, and I would really like to be able to boot off the cf slot.  Does anyone else have any information?&lt;br /&gt;
&lt;br /&gt;
== UltraBase/ThinkPad Dock? ==&lt;br /&gt;
&lt;br /&gt;
The footnotes for the X series models regarding the UltraBase made me think that either the definition of Internal HD/FD/CD should be updated to include the UltraBase/ThinkPad Dock or that a few more columns should be added to the table for devices supported in UltraBase/ThinkPad Docks (such as SCSI devices).  However, I do not have any experience with the UltraBase or Thinkpad Dock so I am really unsure to what extent they should be included or what boot performance is expected (if internal drives work, will dock devices work?).  If you have an UltraBase/ThinkPad Dock and have some thoughts on this issue, please edit the table/definitions to an appropriate state or add a comment here stating what you think.  --[[User:Kevinoid|Kevinoid]] 14:03, 10 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Missing Hardware ==&lt;br /&gt;
&lt;br /&gt;
You might want to add a &amp;quot;N/A&amp;quot; selection for machines that do not have appropriate hardware. The 600 series does not have Firewire, so saying &amp;quot;no&amp;quot; that it will not boot from it seems... odd. The 755 series does not have USB at all.&lt;br /&gt;
&lt;br /&gt;
CardBus appeared (IIRC) on Pentium II models, so older machines have only PC Card slots, not CardBus. -- [[User:Whizkid|Whizkid]] 16:15, 10 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Netboot on X23 ==&lt;br /&gt;
&lt;br /&gt;
I have just experienced I can only netboot my X23 if I explicitely disable the boot-from-harddisk in the bios setup (that is, press INS so an ! exclamation mark is in front of it).&lt;br /&gt;
Without this, no matter what order the boot devices are in, it always starts up from my harddrive (also when I press F12 and manually select network boot at startup)&lt;br /&gt;
--[[User:Vloris|Vloris]] 12:13, 8 September 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== 600 Series and PCMCIA ==&lt;br /&gt;
&lt;br /&gt;
I have a 600E and 600X that I'm trying to get to boot from PCMCIA. If anyone has done it, please provide information on how. I have a PCMCIA SD card reader that boots a 560E just fine, but won't boot the 600E or 600X. Thanks. --[[User:Whizkid|Whizkid]] 23:24, 16 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
== thinkpad x31 boot from usb cd ==&lt;br /&gt;
&lt;br /&gt;
I needed to update the BIOS on my thinkpad x31 before it would boot from a Lenovo USB optical drive. This may just be because the USB drive was a recent DL DVD writer. I used the following updater http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-50298 from within windows. The previous BIOS was a 2.x version, and the new one is 1QET97WW (3.02). --[[User:Ssam|Ssam]] 19:31, 15 April 2008 (CEST)&lt;/div&gt;</summary>
		<author><name>Ssam</name></author>
		
	</entry>
</feed>