<?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=Walden</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=Walden"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Walden"/>
	<updated>2026-04-23T22:40:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Switchable_Graphics&amp;diff=53928</id>
		<title>Switchable Graphics</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Switchable_Graphics&amp;diff=53928"/>
		<updated>2012-10-09T01:59:31Z</updated>

		<summary type="html">&lt;p&gt;Walden: /* Development status */ Added link to a possibly useful utility (Deja vu? I swear I've added this before.)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Select ThinkPads feature switchable graphics, where a low power consumption integrated GPU and high performance dedicated GPU is combined and you have the ability to switch between them, sacrificing either performance or battery life.&lt;br /&gt;
&lt;br /&gt;
In Windows XP this switching requires a logout/login, while in Vista and Windows 7 there is support for runtime switching.&lt;br /&gt;
&lt;br /&gt;
Under Linux, the switching so far had to be done by entering BIOS setup and changing between &amp;quot;Internal&amp;quot; (low power, integrated), &amp;quot;External&amp;quot; (high performance, discrete) or &amp;quot;Switchable&amp;quot; (OS selectable) options.&lt;br /&gt;
&lt;br /&gt;
Depending on which Linux version you use, you could have the following effects&lt;br /&gt;
* On Ubuntu 8.10 (Intrepid) BIOS setting has to be either on Internal or External, not Switchable.&lt;br /&gt;
* On Ubuntu 9.10 (Karmic) the Integrated Intel card works with both Integrated or Switchable set&lt;br /&gt;
&lt;br /&gt;
== Switchable Graphics and Docks ==&lt;br /&gt;
&lt;br /&gt;
ThinkPads with switchable graphics can only drive DVI or DisplayPort outputs on Docks by using the high-performance discrete graphics card, the integrated GPU is just not attached to the DVI or DisplayPort outputs (though VGA output through the dock is possible).&lt;br /&gt;
&lt;br /&gt;
== Improving Battery-life with Optimus ==&lt;br /&gt;
ThinkPads with NVidia Optimus graphics, have been well known to have significantly better battery-life in Windows than in Linux, even when Linux only uses the internal graphics. The reason is that the NVidia GPU is not automatically powered off when it is not used. So to get optimal battery-life in Linux on ThinkPad with Optimus, you need to switch it off manually (or by a script).&lt;br /&gt;
&lt;br /&gt;
First you need to enable access to vga-switcheroo settings, for that you need to mount the debugfs. You can do that by adding the following line to {{path|/etc/fstab}}:&lt;br /&gt;
  none            /sys/kernel/debug debugfs defaults 0 0&lt;br /&gt;
&lt;br /&gt;
After mounting that you can now access {{path|/usr/kernel/debug/vgaswitcheroo/switch}}. &lt;br /&gt;
&lt;br /&gt;
See which GPU is currently active (look for '+'), and which ones are powered (look for 'pwr'): &lt;br /&gt;
  {{cmdroot|cat /sys/kernel/debug/vgaswitcheroo/switch}}&lt;br /&gt;
&lt;br /&gt;
To force it to use the internal graphics write: &lt;br /&gt;
  {{cmdroot|echo 'IGD' &amp;gt; /sys/kernel/debug/vgaswitcheroo/switch}}&lt;br /&gt;
&lt;br /&gt;
To force it to use the discrete GPU: &lt;br /&gt;
  {{cmdroot|echo 'DES' &amp;gt; /sys/kernel/debug/vgaswitcheroo/switch}}&lt;br /&gt;
&lt;br /&gt;
Most importantly, to poweroff the currently unused GPU, run: &lt;br /&gt;
  {{cmdroot|echo 'OFF' &amp;gt; /sys/kernel/debug/vgaswitcheroo/switch}}&lt;br /&gt;
&lt;br /&gt;
This will greatly improve to your average battery-life on ThinkPads T420 if you only use intel Xorg drivers.&lt;br /&gt;
&lt;br /&gt;
== Development status ==&lt;br /&gt;
David Arlie has been working on switching between GPUs without having to reboot, and changing BIOS settings. An initial version of a new driver (vga_switcheroo) has been merged in the 2.6.34 kernel. This driver allows switching between graphics cards, but requires that the Xserver is restarted. Full seamless runtime switching support will require significant Xserver work.&lt;br /&gt;
&lt;br /&gt;
http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=ODAyMg&lt;br /&gt;
&lt;br /&gt;
A script to switch between ATI discrete graphics with the fglrx driver and Intel integrated graphics with xorg driver through rebooting and selection in the bios is posted here.  The user must reboot, but no further configuration is needed as the script detects the card used and copies the correct libraries and configuration file.&lt;br /&gt;
&lt;br /&gt;
http://www.thinkwiki.org/wiki/Auto_detect_drivers_for_switchable_graphics&lt;br /&gt;
&lt;br /&gt;
It has been discovered that on a W500 running Windows 7 64-bit that the switch can be invoked using one of the two following commands (depending on which chipset is currently in use)&lt;br /&gt;
&lt;br /&gt;
{{cmd|C:\PROGRA~2\ThinkPad\UTILIT~1\PWMUIAux.exe /HighPerformanceGpu |}}&lt;br /&gt;
&lt;br /&gt;
{{cmd|C:\PROGRA~2\ThinkPad\UTILIT~1\PWMUIAux.exe /EnergySavingGpu |}}&lt;br /&gt;
&lt;br /&gt;
A small utility has been developed to switch between the chipsets with the ThinkVantage button, using Windows SetupAPI to detect the current chipset. More information and download of source and binary available here: http://entropicassembly.com/thinkpadgraphics/&lt;br /&gt;
&lt;br /&gt;
== ThinkPad models which may have this feature ==&lt;br /&gt;
* {{R400}}&lt;br /&gt;
* {{T400}}, {{T500}}, {{T510i}}, {{T420}}, {{T420s}}, {{T520}}&lt;br /&gt;
* {{W500}}, {{W520}}&lt;/div&gt;</summary>
		<author><name>Walden</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Switchable_Graphics&amp;diff=53605</id>
		<title>Switchable Graphics</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Switchable_Graphics&amp;diff=53605"/>
		<updated>2012-04-05T17:31:03Z</updated>

		<summary type="html">&lt;p&gt;Walden: /* Development status */ removed unnecessary command line argument&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Select ThinkPads feature switchable graphics, where a low power consumption integrated GPU and high performance dedicated GPU is combined and you have the ability to switch between them, sacrificing either performance or battery life.&lt;br /&gt;
&lt;br /&gt;
In Windows XP this switching requires a logout/login, while in Vista and Windows 7 there is support for runtime switching.&lt;br /&gt;
&lt;br /&gt;
Under Linux, the switching so far had to be done by entering BIOS setup and changing between &amp;quot;Internal&amp;quot; (low power, integrated), &amp;quot;External&amp;quot; (high performance, discrete) or &amp;quot;Switchable&amp;quot; (OS selectable) options.&lt;br /&gt;
&lt;br /&gt;
Depending on which Linux version you use, you could have the following effects&lt;br /&gt;
* On Ubuntu 8.10 (Intrepid) BIOS setting has to be either on Internal or External, not Switchable.&lt;br /&gt;
* On Ubuntu 9.10 (Karmic) the Integrated Intel card works with both Integrated or Switchable set&lt;br /&gt;
&lt;br /&gt;
Lenovo has published a [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-70495 Switchable Graphics FAQ] you may want to review.&lt;br /&gt;
&lt;br /&gt;
== Switchable Graphics and Docks ==&lt;br /&gt;
&lt;br /&gt;
ThinkPads with switchable graphics can only drive DVI or DisplayPort outputs on Docks by using the high-performance discrete graphics card, the integrated GPU is just not attached to the DVI or DisplayPort outputs (though VGA output through the dock is possible).&lt;br /&gt;
&lt;br /&gt;
== Development status ==&lt;br /&gt;
David Arlie has been working on switching between GPUs without having to reboot, and changing BIOS settings. An initial version of a new driver (vga_switcheroo) has been merged in the 2.6.34 kernel. This driver allows switching between graphics cards, but requires that the Xserver is restarted. Full seamless runtime switching support will require significant Xserver work.&lt;br /&gt;
&lt;br /&gt;
http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=ODAyMg&lt;br /&gt;
&lt;br /&gt;
A script to switch between ATI discrete graphics with the fglrx driver and Intel integrated graphics with xorg driver through rebooting and selection in the bios is posted here.  The user must reboot, but no further configuration is needed as the script detects the card used and copies the correct libraries and configuration file.&lt;br /&gt;
&lt;br /&gt;
http://www.thinkwiki.org/wiki/Auto_detect_drivers_for_switchable_graphics&lt;br /&gt;
&lt;br /&gt;
It has been discovered that on a W500 running Windows 7 64-bit that the switch can be invoked using one of the two following commands (depending on which chipset is currently in use)&lt;br /&gt;
&lt;br /&gt;
{{cmd|C:\PROGRA~2\ThinkPad\UTILIT~1\PWMUIAux.exe /HighPerformanceGpu |}}&lt;br /&gt;
&lt;br /&gt;
{{cmd|C:\PROGRA~2\ThinkPad\UTILIT~1\PWMUIAux.exe /EnergySavingGpu |}}&lt;br /&gt;
&lt;br /&gt;
== ThinkPad models which may have this feature ==&lt;br /&gt;
* {{R400}}&lt;br /&gt;
* {{T400}}, {{T500}}, {{T510i}}, {{T420}}, {{T420s}}, {{T520}}&lt;br /&gt;
* {{W500}}&lt;/div&gt;</summary>
		<author><name>Walden</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=SD_Card_slot&amp;diff=53604</id>
		<title>SD Card slot</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=SD_Card_slot&amp;diff=53604"/>
		<updated>2012-04-04T18:41:28Z</updated>

		<summary type="html">&lt;p&gt;Walden: /* Models featuring this Technology */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&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;
The SD Card slot (Secure Digital) is found on select ThinkPads and Docking stations.&lt;br /&gt;
&lt;br /&gt;
In addition to SD Cards, SD Card slots can also accept the older MMC (MultiMedia Card).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* [[Wikipedia:Secure Digital card|Wikipedia article on SD Cards]]&lt;br /&gt;
* [[Wikipedia:Multimedia Card|Wikipedia article on MMC Cards]]&lt;br /&gt;
&lt;br /&gt;
==PCI-based SD Card slot==&lt;br /&gt;
This implementation is called &amp;quot;SD Card with IO support&amp;quot;, and supports in addition to regular SD memory cards also special SDIO cards (e.g. Bluetooth, WiFi, etc).&lt;br /&gt;
&lt;br /&gt;
Implemented by chips:&lt;br /&gt;
* [[Ricoh R5C822]]&lt;br /&gt;
* [[Ricoh R5C843]]&lt;br /&gt;
* [[Ricoh R5C847]]&lt;br /&gt;
... and probably others&lt;br /&gt;
&lt;br /&gt;
lspci reports it as a Ricoh device with PCI ID &lt;br /&gt;
* 1180:0822 (X Series, Z60m, Z60t)&lt;br /&gt;
* 1180:0841 (Z Series)&lt;br /&gt;
* 1180:e822&lt;br /&gt;
* 1180:e823 ({{X220}})&lt;br /&gt;
&lt;br /&gt;
=== Linux support ===&lt;br /&gt;
You can read/write large SDHC cards since Linux kernel version 2.6.22, this has been tested on {{X41_Tablet}}, {{X41}} and {{X40}} with 16 GB SDHC (FAT32), 4 GB (non-HC, FAT32) and 2 GB (non-HC, FAT16) cards. However there have been some old reports that you can't, delete, create, resize or format partitions, there seems to be no problems with this on 2.6.24. These problem will not exist if you use an USB connected SDHC card reader instead of the internal one, so you can always use the cards.&lt;br /&gt;
&lt;br /&gt;
The driver was coded by the SDHCi project supporting these and other SD controller chips, making them work with SDHC cards as well. The driver (modules &amp;lt;tt&amp;gt;sdhci&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;sdhci_pci&amp;lt;/tt&amp;gt;) has been reported to work on ThinkPad {{X40}}, {{X41}}, {{Z60m}}, {{Z60t}}, {{X60}} and {{X61}} models, and has been available in mainline kernel since 2.6.17-rc1. See also &amp;quot;[[How to get the internal SD card working]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Problems with Standby / Hibernate ====&lt;br /&gt;
&lt;br /&gt;
Add the follwing line to the {{cmdroot|/etc/pm/config.d/00sleep_module}} to unload the module before standby:&lt;br /&gt;
&lt;br /&gt;
 SUSPEND_MODULES=&amp;quot;$SUSPEND_MODULES sdhci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Windows support ===&lt;br /&gt;
The Microsoft hotfix 934428 is available here [http://support.microsoft.com/kb/934428] it adds SDHC (SD High Capacity) support to Windows XP SP2 systems.&lt;br /&gt;
&lt;br /&gt;
02-01-2009 NOTE for SDHC cards using Windows 2003 Server and Vista.  IBM/Lenovo nor Microsoft supports this KB934428 with 2003 Server and the update.exe halts with OS version mis-match error when executed on 2003 or Vista despite the fact the sff*.sys driver files are perfectly compatible.  &lt;br /&gt;
Manual extraction and installation of the driver file still fails to properly mount and read 4GB+ SD cards despite indicators and messages of successful installation.&lt;br /&gt;
Solution requires obtaining sdhcinst.dll from 2003 install media or copying from the %systemroot%\system32 directory into the %systemroot%\system32\drivers directory before manually installing driver files and pointing to the ..\SP2QFE\ic\sdbus.inf file. A copy of sdhcinst.dll copied from a KB934428 patched XP workstaiton is identical to all 2003 Server versions and Vista since Microsoft clings to a universal drivers model. &lt;br /&gt;
The KB934428 doesn't include the sdhcinst.dll file.&lt;br /&gt;
Follow this link to lenovo forums for longer but just as simple explanation. &lt;br /&gt;
&lt;br /&gt;
[http://lnv.lithium.com/lnv/board/message?board.id=Special_Interest_Windows&amp;amp;thread.id=2106]&lt;br /&gt;
[OT] This solution has also been successfully tested on systems from different manufacturers and with non Richo card readers.&lt;br /&gt;
&lt;br /&gt;
14-04-2010 NOTE&lt;br /&gt;
Thinkpad Z61p SD-reader can accept SDHC cards up to 32GB in Windows (XP,Vista,7)&amp;lt;br/&amp;gt; &lt;br /&gt;
with updated Texas Instruments Media Card Reader Driver [http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;amp;cc=us&amp;amp;prodTypeId=321957&amp;amp;prodSeriesId=1847703&amp;amp;prodNameId=1847704&amp;amp;swEnvOID=1093&amp;amp;swLang=2&amp;amp;mode=2&amp;amp;taskId=135&amp;amp;swItem=ob-70996-1] and by modifying registry:&amp;lt;br/&amp;gt; &lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\tifm21\Parameters&amp;lt;br/&amp;gt; &lt;br /&gt;
Original Key Value: SDParam = 17 (Decimal)&amp;lt;br/&amp;gt; &lt;br /&gt;
New Key Value: SDParam = 16&amp;lt;br/&amp;gt; &lt;br /&gt;
After the hack, reboot the computer. Some users have also reported SDParam = 1 to work.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Models featuring this Technology ===&lt;br /&gt;
* ThinkPad {{T410}}, {{T410i}}, {{T510}}, {{T510i}}&lt;br /&gt;
* ThinkPad {{W500}}, {{T61}}, {{T61p}}&lt;br /&gt;
* ThinkPad {{X40}}, {{X41}}, {{X41_Tablet}}&lt;br /&gt;
* ThinkPad {{X60}}, {{X60s}}, {{X60_Tablet}}, {{X61}}, {{X61s}}, {{X61_Tablet}}, {{X201}}, {{X201i}}, {{X220}}&lt;br /&gt;
* ThinkPad {{Z60m}}, {{Z60t}}, {{Z61p}}&lt;br /&gt;
&lt;br /&gt;
== USB-based SD Card slot ==&lt;br /&gt;
This implementation only supports SD Memory cards.&lt;br /&gt;
&lt;br /&gt;
=== Linux support ===&lt;br /&gt;
Should be supported by the Linux USB Storage drivers (usb-storage).&lt;br /&gt;
&lt;br /&gt;
=== Models featuring this technology ===&lt;br /&gt;
* [[ThinkPad Advanced Dock]]&lt;br /&gt;
* ThinkPad {{X200}}&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Walden</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Switchable_Graphics&amp;diff=53590</id>
		<title>Switchable Graphics</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Switchable_Graphics&amp;diff=53590"/>
		<updated>2012-03-23T21:46:12Z</updated>

		<summary type="html">&lt;p&gt;Walden: /* Development status */ grammar.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Select ThinkPads feature switchable graphics, where a low power consumption integrated GPU and high performance dedicated GPU is combined and you have the ability to switch between them, sacrificing either performance or battery life.&lt;br /&gt;
&lt;br /&gt;
In Windows XP this switching requires a logout/login, while in Vista and Windows 7 there is support for runtime switching.&lt;br /&gt;
&lt;br /&gt;
Under Linux, the switching so far had to be done by entering BIOS setup and changing between &amp;quot;Internal&amp;quot; (low power, integrated), &amp;quot;External&amp;quot; (high performance, discrete) or &amp;quot;Switchable&amp;quot; (OS selectable) options.&lt;br /&gt;
&lt;br /&gt;
Depending on which Linux version you use, you could have the following effects&lt;br /&gt;
* On Ubuntu 8.10 (Intrepid) BIOS setting has to be either on Internal or External, not Switchable.&lt;br /&gt;
* On Ubuntu 9.10 (Karmic) the Integrated Intel card works with both Integrated or Switchable set&lt;br /&gt;
&lt;br /&gt;
Lenovo has published a [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-70495 Switchable Graphics FAQ] you may want to review.&lt;br /&gt;
&lt;br /&gt;
== Switchable Graphics and Docks ==&lt;br /&gt;
&lt;br /&gt;
ThinkPads with switchable graphics can only drive DVI or DisplayPort outputs on Docks by using the high-performance discrete graphics card, the integrated GPU is just not attached to the DVI or DisplayPort outputs (though VGA output through the dock is possible).&lt;br /&gt;
&lt;br /&gt;
== Development status ==&lt;br /&gt;
David Arlie has been working on switching between GPUs without having to reboot, and changing BIOS settings. An initial version of a new driver (vga_switcheroo) has been merged in the 2.6.34 kernel. This driver allows switching between graphics cards, but requires that the Xserver is restarted. Full seamless runtime switching support will require significant Xserver work.&lt;br /&gt;
&lt;br /&gt;
http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=ODAyMg&lt;br /&gt;
&lt;br /&gt;
A script to switch between ATI discrete graphics with the fglrx driver and Intel integrated graphics with xorg driver through rebooting and selection in the bios is posted here.  The user must reboot, but no further configuration is needed as the script detects the card used and copies the correct libraries and configuration file.&lt;br /&gt;
&lt;br /&gt;
http://www.thinkwiki.org/wiki/Auto_detect_drivers_for_switchable_graphics&lt;br /&gt;
&lt;br /&gt;
It has been discovered that on a W500 running Windows 7 64-bit that the switch can be invoked using one of the two following commands (depending on which chipset is currently in use)&lt;br /&gt;
&lt;br /&gt;
{{cmd|C:\PROGRA~2\ThinkPad\UTILIT~1\PWMUIAux.exe /HighPerformanceGpu /ShowDialog|}}&lt;br /&gt;
&lt;br /&gt;
{{cmd|C:\PROGRA~2\ThinkPad\UTILIT~1\PWMUIAux.exe /EnergySavingGpu /ShowDialog|}}&lt;br /&gt;
&lt;br /&gt;
== ThinkPad models which may have this feature ==&lt;br /&gt;
* {{R400}}&lt;br /&gt;
* {{T400}}, {{T500}}, {{T510i}}, {{T420}}, {{T420s}}, {{T520}}&lt;br /&gt;
* {{W500}}&lt;/div&gt;</summary>
		<author><name>Walden</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Switchable_Graphics&amp;diff=53589</id>
		<title>Switchable Graphics</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Switchable_Graphics&amp;diff=53589"/>
		<updated>2012-03-23T21:44:00Z</updated>

		<summary type="html">&lt;p&gt;Walden: /* Development status */ Added information on invoking switch from command line&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Select ThinkPads feature switchable graphics, where a low power consumption integrated GPU and high performance dedicated GPU is combined and you have the ability to switch between them, sacrificing either performance or battery life.&lt;br /&gt;
&lt;br /&gt;
In Windows XP this switching requires a logout/login, while in Vista and Windows 7 there is support for runtime switching.&lt;br /&gt;
&lt;br /&gt;
Under Linux, the switching so far had to be done by entering BIOS setup and changing between &amp;quot;Internal&amp;quot; (low power, integrated), &amp;quot;External&amp;quot; (high performance, discrete) or &amp;quot;Switchable&amp;quot; (OS selectable) options.&lt;br /&gt;
&lt;br /&gt;
Depending on which Linux version you use, you could have the following effects&lt;br /&gt;
* On Ubuntu 8.10 (Intrepid) BIOS setting has to be either on Internal or External, not Switchable.&lt;br /&gt;
* On Ubuntu 9.10 (Karmic) the Integrated Intel card works with both Integrated or Switchable set&lt;br /&gt;
&lt;br /&gt;
Lenovo has published a [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-70495 Switchable Graphics FAQ] you may want to review.&lt;br /&gt;
&lt;br /&gt;
== Switchable Graphics and Docks ==&lt;br /&gt;
&lt;br /&gt;
ThinkPads with switchable graphics can only drive DVI or DisplayPort outputs on Docks by using the high-performance discrete graphics card, the integrated GPU is just not attached to the DVI or DisplayPort outputs (though VGA output through the dock is possible).&lt;br /&gt;
&lt;br /&gt;
== Development status ==&lt;br /&gt;
David Arlie has been working on switching between GPUs without having to reboot, and changing BIOS settings. An initial version of a new driver (vga_switcheroo) has been merged in the 2.6.34 kernel. This driver allows switching between graphics cards, but requires that the Xserver is restarted. Full seamless runtime switching support will require significant Xserver work.&lt;br /&gt;
&lt;br /&gt;
http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=ODAyMg&lt;br /&gt;
&lt;br /&gt;
A script to switch between ATI discrete graphics with the fglrx driver and Intel integrated graphics with xorg driver through rebooting and selection in the bios is posted here.  The user must reboot, but no further configuration is needed as the script detects the card used and copies the correct libraries and configuration file.&lt;br /&gt;
&lt;br /&gt;
http://www.thinkwiki.org/wiki/Auto_detect_drivers_for_switchable_graphics&lt;br /&gt;
&lt;br /&gt;
It has been discovered that on a W500 running Windows 7 64-bit, the switch can be invoked using one of the two following commands (depending on which chipset is currently in use)&lt;br /&gt;
&lt;br /&gt;
{{cmd|C:\PROGRA~2\ThinkPad\UTILIT~1\PWMUIAux.exe /HighPerformanceGpu /ShowDialog|}}&lt;br /&gt;
&lt;br /&gt;
{{cmd|C:\PROGRA~2\ThinkPad\UTILIT~1\PWMUIAux.exe /EnergySavingGpu /ShowDialog|}}&lt;br /&gt;
&lt;br /&gt;
== ThinkPad models which may have this feature ==&lt;br /&gt;
* {{R400}}&lt;br /&gt;
* {{T400}}, {{T500}}, {{T510i}}, {{T420}}, {{T420s}}, {{T520}}&lt;br /&gt;
* {{W500}}&lt;/div&gt;</summary>
		<author><name>Walden</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=53588</id>
		<title>How to control fan speed</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=53588"/>
		<updated>2012-03-23T21:40:43Z</updated>

		<summary type="html">&lt;p&gt;Walden: /* Disengaged (full-speed) mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses methods for controlling the system fan.&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; columns=&amp;quot;2&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{WARN|When designing fan-control applets, never ignore a valid thermal sensor.&lt;br /&gt;
&lt;br /&gt;
Even if it seems to be stuck at a certain temperature, you must take that sensor into account.  While it will probably make the fan spin faster than if the sensor was ignored, that's exactly what would happen when the fan is under EC control, and could very well be the reason for the &amp;quot;stuck&amp;quot; value in the first place.&lt;br /&gt;
&lt;br /&gt;
Always play it safe.  If a battery pack seems to want the fan to always run faster, the only safe thing to do is to make it run faster.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==For Linux==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Fan control operations are disabled by default for safety reasons.}}&lt;br /&gt;
&lt;br /&gt;
To enable fan control, the module parameter &amp;lt;tt&amp;gt;fan_control=1&amp;lt;/tt&amp;gt; must be given to thinkpad-acpi.&lt;br /&gt;
&lt;br /&gt;
For example, in Ubuntu 8.04 (Hardy Heron), add the following to {{path|/etc/modprobe.d/options}}: &amp;lt;tt&amp;gt;options thinkpad_acpi fan_control=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Debian Squeeze (testing) create {{path|/etc/modprobe.d/thinkpad_acpi.conf}} with: &amp;lt;tt&amp;gt;options thinkpad_acpi fan_control=1&amp;lt;/tt&amp;gt; and install the package &amp;lt;tt&amp;gt;thinkfan&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Having done so, reboot and you can use the following commands to control fan speed:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level 0 &amp;gt; /proc/acpi/ibm/fan}} (fan off)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level 2 &amp;gt; /proc/acpi/ibm/fan}} (low speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level 4 &amp;gt; /proc/acpi/ibm/fan}} (medium speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level 7 &amp;gt; /proc/acpi/ibm/fan}} (maximum speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level auto &amp;gt; /proc/acpi/ibm/fan}} (automatic - default)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level disengaged &amp;gt; /proc/acpi/ibm/fan}} (disengaged)&lt;br /&gt;
&lt;br /&gt;
If you receive a PERMISSION DENIED error you can use the following command syntax instead as a work-around:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level 0 | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (fan off)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level 2 | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (low speed)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level 4 | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (medium speed)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level 7 | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (maximum speed)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level auto | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (automatic - default)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level disengaged | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (disengaged)&lt;br /&gt;
&lt;br /&gt;
===Automated control scripts===&lt;br /&gt;
&lt;br /&gt;
An [[ACPI fan control script#Variable speed control scripts|ACPI fan control script]] can be used to override the firmware's fan algorithm with gentler, quieter version. It monitors the laptop's [[thermal sensors]] and sets the fan speed accordingly, according to customizable thresholds. For the default behavior, simply save {{CodeRef|tp-fancontrol}} as {{path|tp-fancontrol}}, make sure you've loaded [[thinkpad-acpi]] with the &amp;quot;fan_control=1&amp;quot; parameter, and run:&amp;lt;br /&amp;gt;&lt;br /&gt;
{{cmdroot|./tp-fancontrol}}&lt;br /&gt;
&lt;br /&gt;
There is an distro independent daemon (http://launchpad.net/tp-fan/tpfand/0.94/+download/tpfand-0.94.tar.gz), written in python. Packages are available for debian based linux systems.&lt;br /&gt;
&lt;br /&gt;
[http://www.gambitchess.org/moin.py/ThinkPad_Fan_Control A GTK GUI program (packaged for Ubuntu 7.10 and 8.04)] may also help.&lt;br /&gt;
&lt;br /&gt;
===Automated program - Simple ThinkPad Fan Control===&lt;br /&gt;
Written by Stanko, stanko [at] mfhinc [dot] net&lt;br /&gt;
&lt;br /&gt;
This is program for controlling fans speed on IBM/Lenovo ThinkPads. It is written&lt;br /&gt;
for Linux only. This program is written in C, using GTK GUI.&lt;br /&gt;
 &lt;br /&gt;
You are required to have the Linux kernel with 'thinkpad-acpi' patch.&lt;br /&gt;
You must also enable manual control for your fans. For Linux 2.6.22 and above,&lt;br /&gt;
you must add 'fan_control=1' as a module parameter to 'thinkpad-acpi'.&lt;br /&gt;
For example, in Debian Lenny (and Ubuntu 8.04), you must add the following&lt;br /&gt;
to &amp;quot;/etc/modprobe.d/options&amp;quot;:&lt;br /&gt;
        options thinkpad_acpi fan_control=1&lt;br /&gt;
 &lt;br /&gt;
Having done so, reboot. Now you'll be able to use this program easily.&lt;br /&gt;
 &lt;br /&gt;
Here is screenshot:&lt;br /&gt;
[[Image:Tpfc.png|none]]&lt;br /&gt;
&lt;br /&gt;
and direct download (src + i386 32bit binary). Please read README.txt file&lt;br /&gt;
included in package. &lt;br /&gt;
&lt;br /&gt;
'''Download links'''&lt;br /&gt;
&lt;br /&gt;
[[http://www.box.net/shared/phz3foll8oe0501k8s1j tpfc0.5.tar.gz]]&lt;br /&gt;
&lt;br /&gt;
[[http://stanko.mfhinc.net/projects/tpfc/tpfc0.5.tar.gz mirror 1]]&lt;br /&gt;
&lt;br /&gt;
[[http://sale.mfhinc.net/wp-content/uploads/2010/04/tpfc0.5.tar.gz mirror 2]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I wrote this for my own personal use, and thought that it would be a good idea&lt;br /&gt;
to release it to the world, and hope that it will be useful to someone!&lt;br /&gt;
Feel free to send comments, bug reports or a thanks to the e-mail above. Although I don't use ThinkPad anymore (so I can't test the program), I still try to respond to all emails I get.&lt;br /&gt;
&lt;br /&gt;
==For Windows==&lt;br /&gt;
&lt;br /&gt;
Shimodax's ThinkPad fan control tool offers similar functionality (see [http://forum.thinkpads.com/viewtopic.php?t=17715 forum discussion] at thinkpads.com).  Source and binaries are available through the [http://sourceforge.net/projects/tp4xfancontrol &amp;quot;Tp4xFanControl&amp;quot;] project on SourceForge.&lt;br /&gt;
&lt;br /&gt;
==Hardware specs==&lt;br /&gt;
&lt;br /&gt;
The following hardware behavior was discovered experimentally by [[User:Thinker|Thinker]] and neither provided by nor confirmed by IBM/Lenovo. The following description may be inaccurate and may vary by model (see list of models above). The terminology probably does not match the one used by IBM/Lenovo engineers.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Information on other models is included in the [[thinkpad-acpi]] [[Git]] version.}}&lt;br /&gt;
{{NOTE|1=The ThinkPad {{X61s}} and {{X61}} with WWAN have a [http://forum.notebookreview.com/showthread.php?t=141931 second system fan].  It shares the same control register as the main fan (cannot be controlled separately), and exposes a second tachometer.}}&lt;br /&gt;
&lt;br /&gt;
ACPI DSDT register HFSP (8 bits, offset 0x2F in the &amp;lt;tt&amp;gt;EmbeddedController&amp;lt;/tt&amp;gt; address space, accessed through the standard EC interface at IO ports 0x62 and 0x66) is read/writable and has the following meaning:&lt;br /&gt;
 &lt;br /&gt;
 Bits   7 6 5 4 3 2 1 0&lt;br /&gt;
        ---------------&lt;br /&gt;
 Value  1 0 * * * * * *  - automatic&lt;br /&gt;
        * 1 * * * * * *  - disengaged&lt;br /&gt;
        0 0 N N N N N N  - manual (0..63; 0=disable fan, 1=min, ..., 7=max)&lt;br /&gt;
&lt;br /&gt;
Changing modes may not be immediate on all ThinkPads.  Later ThinkPad models seem to take at least 5s to start responding to a fan mode change, for example.&lt;br /&gt;
&lt;br /&gt;
After boot, the HFSP register may not reflect the true state of the EC (on some models it reads 0x07 even though the EC is actually in automatic mode).&lt;br /&gt;
&lt;br /&gt;
The HFSP register controls both fans at the same time in the X61/X61s.&lt;br /&gt;
&lt;br /&gt;
=== Fan Tachometer ===&lt;br /&gt;
&lt;br /&gt;
The embedded controller registers 0x84 (LSB), 0x85 (MSB) are the main fan tachometer, and report fan speed in RPM in everything since the {{A31}} and maybe a little earlier.  Not much is know about the tachometer in earlier models, or even whether they had one or not.&lt;br /&gt;
&lt;br /&gt;
On the X61/X61s, one must select through EC register 0x31 bit 0 which fan the tachometer registers will expose (Firmware 7M).  Beware: this is the same register used for brightness control in other models.&lt;br /&gt;
&lt;br /&gt;
=== Automatic mode ===&lt;br /&gt;
In ''automatic'' mode, the embedded controller sets the fan speed automatically according to system temperatures and some unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
Note that the ACPI DSDT may supplement this in some models.  The {{X40}}, for example, changes the profile of speeds the automatic mode should use depending on battery status.&lt;br /&gt;
&lt;br /&gt;
=== Manual mode ===&lt;br /&gt;
&lt;br /&gt;
In ''manual'' mode, the fan level is forced to the given value and the EC will auto-regulate the fan to maintain at a (roughly) constant RPM, which is model-dependent. Manual speed levels 8-63 yield the same behavior as level 7, and the the ACPI DSDT uses level 7 for the emergency mode it enters upon critical CPU/GPU temperature, so apparently 7 is the real maximum level.&lt;br /&gt;
&lt;br /&gt;
=== Disengaged (full-speed) mode ===&lt;br /&gt;
&lt;br /&gt;
In ''disengaged'' mode, the embedded controller does not monitor the fan speed.  It &amp;quot;disengages&amp;quot; the closed-loop control function that keeps track of fan speed, and uses an open-loop control function that ramps up the fan to its maximum speed (100% duty-cycle).  The end speed is not stable, but it is often much faster than the maximum speed manual and automatic modes would set the fan to.&lt;br /&gt;
&lt;br /&gt;
Most newer ThinkPads take quite a while (in excess of one minute) to fully enter disengaged mode.  Exiting it is much faster.  The {{A31}} acts differently, and switches to disengaged mode as fast as it switches to other modes.&lt;br /&gt;
&lt;br /&gt;
For some reason, the embedded controller may stop updating the tachometer registers while entering or exiting disengaged mode in some ThinkPad firmware versions (hence the EC tachometer registers will not be updated on these models while entering/exiting disengaged mode).  Once it arrives at maximum speed, or once it gets back at closed-loop cruise speed, the embedded controller starts updating the tachometer registers again.   Later T models such as the {{T43}} have this problem, while the {{A31}} does not.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Apparently the [[Problem with fan noise|pulsing fan noise]] experienced by some users can be cured by repeatedly running 2-4 seconds of manual control followed by 0.5-1 seconds of disengaged mode. The pulse occurs when the the embedded controller computes the fan speed and adjusts the fan voltage adaptively every few seconds (~4.8sec for the ThinkPad T43); the aforementioned mode switching doesn't give it a chance to do so. One of the [[ACPI fan control script#Variable speed control scripts|ACPI fan control scripts]] implements this solution.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|To force engaged mode using [http://www.staff.uni-marburg.de/~schmitzr/donate.html TPFanControl] for Windows, enter '64' as the value (0-7) for manual mode. This can also be incorporated into smart mode through a custom tpfancontrol.ini}}&lt;br /&gt;
&lt;br /&gt;
==Supported models==&lt;br /&gt;
&lt;br /&gt;
The above was successfully tested on the following models:&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{A31}}, {{A31p}} (fan levels RPM: 0 = off, 1-2 = ~3280-3380 (!), 3-5 = ~3200, 6-7 = ~3380, &amp;quot;disengaged&amp;quot; = ~4000 (see NOTE above))&lt;br /&gt;
* ThinkPad {{R50}} (highest manual level is 3; disengage mode works and reaches much higher RPM)&lt;br /&gt;
* ThinkPad {{R50p}} (fan levels RPM: 0 = off, 1-2 = ~3200, 3-5 = ~3500-3600, 6-7 = ~3700-3800, disengaged = ~5300)&lt;br /&gt;
* ThinkPad {{R51}} (fan levels RPM: 0 = off, 1-2 = ~3150, 3-5 = ~3350, 6 = ~3750, disengaged = ~5100)&lt;br /&gt;
* ThinkPad {{R51e}} (fan levels RPM: 0 = off, 1-2 = ~3300, 3-5 = ~3800, 6 = ~4150, disengaged = ~5100)&lt;br /&gt;
* ThinkPad {{R52}} (fan levels RPM: 0 = off, 1-2 = ~3350, 3-5 = ~3650, 6 = ~4250, disengaged = ~5245)&lt;br /&gt;
* ThinkPad {{R60}} (fan levels RPM: 0 = off, 1-1 = ~2650, 3-5 = ~3300, 6-7 = ~3950, disengaged = ~4800)&lt;br /&gt;
* ThinkPad {{R60e}}&lt;br /&gt;
* ThinkPad {{R61i}} (fan levels RPM: 0 = off, 1 = 2689, 2 = 2729, 3 = 3059, 4 = 3047, 5 = 3051, 6 = 3515, 7 = 3468, full-speed/disengaged = 4119~4200)mod.#7650-D7G@+/-2yr.used&lt;br /&gt;
* ThinkPad {{T22}}&lt;br /&gt;
* ThinkPad {{T23}} &lt;br /&gt;
** (low speed = '''~2200''', medium and maximum speed = '''~4800'''; disengaged mode works at '''~5800''')&lt;br /&gt;
** (fan levels = ~RPM: 0 = '''0'''; 1,2 = '''~2200'''; 3,4,5,6,7 = '''~4900''';  disengaged,full-speed = '''~6331''')&lt;br /&gt;
* ThinkPad {{T30}}&lt;br /&gt;
* ThinkPad {{T40}} (fan levels RPM: 1-2 = ~2950, 3-5 = ~3600, 6-7 = ~4050; disengaged = ~5400)&lt;br /&gt;
* ThinkPad {{T41}}, {{T41p}} (fan levels RPM: 1-2 = ~2980, 3-5 = ~3500, 6-7 = ~4050; disengaged mode works at ~5100)&lt;br /&gt;
* ThinkPad {{T410i}} (fan levels RPM: 0 = off, 1 = ~1950, 2 = ~3575, 3-4 = ~3700, 5-6 = ~3825, 7 = ~4525; full-speed/disengaged = ~5450; only Linux-tested with tpfc0.5)&lt;br /&gt;
* ThinkPad {{T42}}, {{T42p}} (fan levels RPM: 1-2 = ~2900, 3-5 = ~3700, 6-7 = ~4700; disengaged mode works at ~5200)&lt;br /&gt;
* ThinkPad {{T43}}, {{T43p}} (fan levels RPM: 1-2 = ~3300, 3-5 = ~4100, 6-7 = ~4700; disengaged mode works at ~6450)&lt;br /&gt;
* ThinkPad {{T60}} (fan levels RPM: 1-2 = 3000-3100, 3-5 = ~3600, 6-7 = ~4500; disengaged mode works at ~5500)&lt;br /&gt;
* ThinkPad {{T61}} (fan levels RPM: 0 = off, 1-2 = ~2980, 3-5 = ~3330, 6-7 = ~3760; disengaged mode works at ~4500)&lt;br /&gt;
* ThinkPad {{W500}} (fan levels RPM: 0=off, 1-2 = 1900, 3-5 = ~3000, 6-7 = ~3500; disengaged mode works at ~5100)&lt;br /&gt;
* ThinkPad {{W510}} (fan levels RPM: 0=off, 1 = ~2750, 2 = ~3100, 3-5 = ~3500, 6-7 = ~4000; disengaged mode works at ~4585)&lt;br /&gt;
* ThinkPad {{X30}} (level 0 = off, low = ~3900, medium = ~4200, maximum = ~4650, disengaged = ~5900)&lt;br /&gt;
* ThinkPad {{X31}} (fan levels RPM: 0 = off, 1-2 = ~2850, 3-5 = ~3450, 6 = ~4050, 7 = ~4150; disengaged mode works at ~4975)&lt;br /&gt;
* ThinkPad {{X40}}&lt;br /&gt;
* ThinkPad {{X41}}&lt;br /&gt;
* ThinkPad {{X41T}}&lt;br /&gt;
* ThinkPad {{X60}} (fan levels RPM: 7 = ~3700, disengaged ~4700)&lt;br /&gt;
* ThinkPad {{X61}} (fan levels RPM: 1-2 = ~3400, 3-5 = ~3800, 6-7 = ~4500, disengaged = ~6700)&lt;br /&gt;
* ThinkPad {{X61s}} (fan levels RPM: 0 = off, 1-2 = ~3800, 3-5 = ~4500, 6-7 = ~4800, disengaged = ~4800) (though fancontrol can keep it at 2500rpm...)&lt;br /&gt;
* ThinkPad {{X120e}}&lt;br /&gt;
* ThinkPad {{Z60t}}, {{Z60m}} (fan levels RPM: 1-2 = ~1700, 3-5 = ~2800, 6-7 = ~3500)&lt;br /&gt;
* ThinkPad {{Z61m}}&lt;br /&gt;
* Thinkpad {{Z61p}} (fan levels 0-7, auto, disengaged; enable, disable; watchdog (untested))&lt;br /&gt;
* Thinkpad {{Edge11}} (fan levels: 0 = off, 1, 2, 3, 7 = full; RPM shown value is around 492 - 503, but should be 1000 - 3000)  &lt;br /&gt;
Probably other models are supported too (please update this page if you confirm this; maintain some ordering too).&lt;br /&gt;
&lt;br /&gt;
==Models using a different interface==&lt;br /&gt;
&lt;br /&gt;
The following models also work, use a different access method which supported (only) via the {{path|/proc/acpi/ibm/fan}} of [[thinkpad-acpi]]. No need for patching.&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{600E}}, {{600X}}, {{770E}}, {{770X}} (these use a different fan control interface)&lt;br /&gt;
&lt;br /&gt;
==Unsupported models==&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{560}} (these models don't have a fan)&lt;/div&gt;</summary>
		<author><name>Walden</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=53587</id>
		<title>How to control fan speed</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=53587"/>
		<updated>2012-03-23T21:39:19Z</updated>

		<summary type="html">&lt;p&gt;Walden: /* Disengaged (full-speed) mode */ Added hint about how to force engaged mode&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses methods for controlling the system fan.&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; columns=&amp;quot;2&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{WARN|When designing fan-control applets, never ignore a valid thermal sensor.&lt;br /&gt;
&lt;br /&gt;
Even if it seems to be stuck at a certain temperature, you must take that sensor into account.  While it will probably make the fan spin faster than if the sensor was ignored, that's exactly what would happen when the fan is under EC control, and could very well be the reason for the &amp;quot;stuck&amp;quot; value in the first place.&lt;br /&gt;
&lt;br /&gt;
Always play it safe.  If a battery pack seems to want the fan to always run faster, the only safe thing to do is to make it run faster.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==For Linux==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Fan control operations are disabled by default for safety reasons.}}&lt;br /&gt;
&lt;br /&gt;
To enable fan control, the module parameter &amp;lt;tt&amp;gt;fan_control=1&amp;lt;/tt&amp;gt; must be given to thinkpad-acpi.&lt;br /&gt;
&lt;br /&gt;
For example, in Ubuntu 8.04 (Hardy Heron), add the following to {{path|/etc/modprobe.d/options}}: &amp;lt;tt&amp;gt;options thinkpad_acpi fan_control=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Debian Squeeze (testing) create {{path|/etc/modprobe.d/thinkpad_acpi.conf}} with: &amp;lt;tt&amp;gt;options thinkpad_acpi fan_control=1&amp;lt;/tt&amp;gt; and install the package &amp;lt;tt&amp;gt;thinkfan&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Having done so, reboot and you can use the following commands to control fan speed:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level 0 &amp;gt; /proc/acpi/ibm/fan}} (fan off)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level 2 &amp;gt; /proc/acpi/ibm/fan}} (low speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level 4 &amp;gt; /proc/acpi/ibm/fan}} (medium speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level 7 &amp;gt; /proc/acpi/ibm/fan}} (maximum speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level auto &amp;gt; /proc/acpi/ibm/fan}} (automatic - default)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level disengaged &amp;gt; /proc/acpi/ibm/fan}} (disengaged)&lt;br /&gt;
&lt;br /&gt;
If you receive a PERMISSION DENIED error you can use the following command syntax instead as a work-around:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level 0 | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (fan off)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level 2 | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (low speed)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level 4 | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (medium speed)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level 7 | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (maximum speed)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level auto | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (automatic - default)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level disengaged | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (disengaged)&lt;br /&gt;
&lt;br /&gt;
===Automated control scripts===&lt;br /&gt;
&lt;br /&gt;
An [[ACPI fan control script#Variable speed control scripts|ACPI fan control script]] can be used to override the firmware's fan algorithm with gentler, quieter version. It monitors the laptop's [[thermal sensors]] and sets the fan speed accordingly, according to customizable thresholds. For the default behavior, simply save {{CodeRef|tp-fancontrol}} as {{path|tp-fancontrol}}, make sure you've loaded [[thinkpad-acpi]] with the &amp;quot;fan_control=1&amp;quot; parameter, and run:&amp;lt;br /&amp;gt;&lt;br /&gt;
{{cmdroot|./tp-fancontrol}}&lt;br /&gt;
&lt;br /&gt;
There is an distro independent daemon (http://launchpad.net/tp-fan/tpfand/0.94/+download/tpfand-0.94.tar.gz), written in python. Packages are available for debian based linux systems.&lt;br /&gt;
&lt;br /&gt;
[http://www.gambitchess.org/moin.py/ThinkPad_Fan_Control A GTK GUI program (packaged for Ubuntu 7.10 and 8.04)] may also help.&lt;br /&gt;
&lt;br /&gt;
===Automated program - Simple ThinkPad Fan Control===&lt;br /&gt;
Written by Stanko, stanko [at] mfhinc [dot] net&lt;br /&gt;
&lt;br /&gt;
This is program for controlling fans speed on IBM/Lenovo ThinkPads. It is written&lt;br /&gt;
for Linux only. This program is written in C, using GTK GUI.&lt;br /&gt;
 &lt;br /&gt;
You are required to have the Linux kernel with 'thinkpad-acpi' patch.&lt;br /&gt;
You must also enable manual control for your fans. For Linux 2.6.22 and above,&lt;br /&gt;
you must add 'fan_control=1' as a module parameter to 'thinkpad-acpi'.&lt;br /&gt;
For example, in Debian Lenny (and Ubuntu 8.04), you must add the following&lt;br /&gt;
to &amp;quot;/etc/modprobe.d/options&amp;quot;:&lt;br /&gt;
        options thinkpad_acpi fan_control=1&lt;br /&gt;
 &lt;br /&gt;
Having done so, reboot. Now you'll be able to use this program easily.&lt;br /&gt;
 &lt;br /&gt;
Here is screenshot:&lt;br /&gt;
[[Image:Tpfc.png|none]]&lt;br /&gt;
&lt;br /&gt;
and direct download (src + i386 32bit binary). Please read README.txt file&lt;br /&gt;
included in package. &lt;br /&gt;
&lt;br /&gt;
'''Download links'''&lt;br /&gt;
&lt;br /&gt;
[[http://www.box.net/shared/phz3foll8oe0501k8s1j tpfc0.5.tar.gz]]&lt;br /&gt;
&lt;br /&gt;
[[http://stanko.mfhinc.net/projects/tpfc/tpfc0.5.tar.gz mirror 1]]&lt;br /&gt;
&lt;br /&gt;
[[http://sale.mfhinc.net/wp-content/uploads/2010/04/tpfc0.5.tar.gz mirror 2]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I wrote this for my own personal use, and thought that it would be a good idea&lt;br /&gt;
to release it to the world, and hope that it will be useful to someone!&lt;br /&gt;
Feel free to send comments, bug reports or a thanks to the e-mail above. Although I don't use ThinkPad anymore (so I can't test the program), I still try to respond to all emails I get.&lt;br /&gt;
&lt;br /&gt;
==For Windows==&lt;br /&gt;
&lt;br /&gt;
Shimodax's ThinkPad fan control tool offers similar functionality (see [http://forum.thinkpads.com/viewtopic.php?t=17715 forum discussion] at thinkpads.com).  Source and binaries are available through the [http://sourceforge.net/projects/tp4xfancontrol &amp;quot;Tp4xFanControl&amp;quot;] project on SourceForge.&lt;br /&gt;
&lt;br /&gt;
==Hardware specs==&lt;br /&gt;
&lt;br /&gt;
The following hardware behavior was discovered experimentally by [[User:Thinker|Thinker]] and neither provided by nor confirmed by IBM/Lenovo. The following description may be inaccurate and may vary by model (see list of models above). The terminology probably does not match the one used by IBM/Lenovo engineers.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Information on other models is included in the [[thinkpad-acpi]] [[Git]] version.}}&lt;br /&gt;
{{NOTE|1=The ThinkPad {{X61s}} and {{X61}} with WWAN have a [http://forum.notebookreview.com/showthread.php?t=141931 second system fan].  It shares the same control register as the main fan (cannot be controlled separately), and exposes a second tachometer.}}&lt;br /&gt;
&lt;br /&gt;
ACPI DSDT register HFSP (8 bits, offset 0x2F in the &amp;lt;tt&amp;gt;EmbeddedController&amp;lt;/tt&amp;gt; address space, accessed through the standard EC interface at IO ports 0x62 and 0x66) is read/writable and has the following meaning:&lt;br /&gt;
 &lt;br /&gt;
 Bits   7 6 5 4 3 2 1 0&lt;br /&gt;
        ---------------&lt;br /&gt;
 Value  1 0 * * * * * *  - automatic&lt;br /&gt;
        * 1 * * * * * *  - disengaged&lt;br /&gt;
        0 0 N N N N N N  - manual (0..63; 0=disable fan, 1=min, ..., 7=max)&lt;br /&gt;
&lt;br /&gt;
Changing modes may not be immediate on all ThinkPads.  Later ThinkPad models seem to take at least 5s to start responding to a fan mode change, for example.&lt;br /&gt;
&lt;br /&gt;
After boot, the HFSP register may not reflect the true state of the EC (on some models it reads 0x07 even though the EC is actually in automatic mode).&lt;br /&gt;
&lt;br /&gt;
The HFSP register controls both fans at the same time in the X61/X61s.&lt;br /&gt;
&lt;br /&gt;
=== Fan Tachometer ===&lt;br /&gt;
&lt;br /&gt;
The embedded controller registers 0x84 (LSB), 0x85 (MSB) are the main fan tachometer, and report fan speed in RPM in everything since the {{A31}} and maybe a little earlier.  Not much is know about the tachometer in earlier models, or even whether they had one or not.&lt;br /&gt;
&lt;br /&gt;
On the X61/X61s, one must select through EC register 0x31 bit 0 which fan the tachometer registers will expose (Firmware 7M).  Beware: this is the same register used for brightness control in other models.&lt;br /&gt;
&lt;br /&gt;
=== Automatic mode ===&lt;br /&gt;
In ''automatic'' mode, the embedded controller sets the fan speed automatically according to system temperatures and some unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
Note that the ACPI DSDT may supplement this in some models.  The {{X40}}, for example, changes the profile of speeds the automatic mode should use depending on battery status.&lt;br /&gt;
&lt;br /&gt;
=== Manual mode ===&lt;br /&gt;
&lt;br /&gt;
In ''manual'' mode, the fan level is forced to the given value and the EC will auto-regulate the fan to maintain at a (roughly) constant RPM, which is model-dependent. Manual speed levels 8-63 yield the same behavior as level 7, and the the ACPI DSDT uses level 7 for the emergency mode it enters upon critical CPU/GPU temperature, so apparently 7 is the real maximum level.&lt;br /&gt;
&lt;br /&gt;
=== Disengaged (full-speed) mode ===&lt;br /&gt;
&lt;br /&gt;
In ''disengaged'' mode, the embedded controller does not monitor the fan speed.  It &amp;quot;disengages&amp;quot; the closed-loop control function that keeps track of fan speed, and uses an open-loop control function that ramps up the fan to its maximum speed (100% duty-cycle).  The end speed is not stable, but it is often much faster than the maximum speed manual and automatic modes would set the fan to.&lt;br /&gt;
&lt;br /&gt;
Most newer ThinkPads take quite a while (in excess of one minute) to fully enter disengaged mode.  Exiting it is much faster.  The {{A31}} acts differently, and switches to disengaged mode as fast as it switches to other modes.&lt;br /&gt;
&lt;br /&gt;
For some reason, the embedded controller may stop updating the tachometer registers while entering or exiting disengaged mode in some ThinkPad firmware versions (hence the EC tachometer registers will not be updated on these models while entering/exiting disengaged mode).  Once it arrives at maximum speed, or once it gets back at closed-loop cruise speed, the embedded controller starts updating the tachometer registers again.   Later T models such as the {{T43}} have this problem, while the {{A31}} does not.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Apparently the [[Problem with fan noise|pulsing fan noise]] experienced by some users can be cured by repeatedly running 2-4 seconds of manual control followed by 0.5-1 seconds of disengaged mode. The pulse occurs when the the embedded controller computes the fan speed and adjusts the fan voltage adaptively every few seconds (~4.8sec for the ThinkPad T43); the aforementioned mode switching doesn't give it a chance to do so. One of the [[ACPI fan control script#Variable speed control scripts|ACPI fan control scripts]] implements this solution.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|To force engaged mode using [http://www.staff.uni-marburg.de/~schmitzr/donate.html TPFanControl] for Windows, enter '64' as the value (0-7) for manual mode. }}&lt;br /&gt;
&lt;br /&gt;
==Supported models==&lt;br /&gt;
&lt;br /&gt;
The above was successfully tested on the following models:&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{A31}}, {{A31p}} (fan levels RPM: 0 = off, 1-2 = ~3280-3380 (!), 3-5 = ~3200, 6-7 = ~3380, &amp;quot;disengaged&amp;quot; = ~4000 (see NOTE above))&lt;br /&gt;
* ThinkPad {{R50}} (highest manual level is 3; disengage mode works and reaches much higher RPM)&lt;br /&gt;
* ThinkPad {{R50p}} (fan levels RPM: 0 = off, 1-2 = ~3200, 3-5 = ~3500-3600, 6-7 = ~3700-3800, disengaged = ~5300)&lt;br /&gt;
* ThinkPad {{R51}} (fan levels RPM: 0 = off, 1-2 = ~3150, 3-5 = ~3350, 6 = ~3750, disengaged = ~5100)&lt;br /&gt;
* ThinkPad {{R51e}} (fan levels RPM: 0 = off, 1-2 = ~3300, 3-5 = ~3800, 6 = ~4150, disengaged = ~5100)&lt;br /&gt;
* ThinkPad {{R52}} (fan levels RPM: 0 = off, 1-2 = ~3350, 3-5 = ~3650, 6 = ~4250, disengaged = ~5245)&lt;br /&gt;
* ThinkPad {{R60}} (fan levels RPM: 0 = off, 1-1 = ~2650, 3-5 = ~3300, 6-7 = ~3950, disengaged = ~4800)&lt;br /&gt;
* ThinkPad {{R60e}}&lt;br /&gt;
* ThinkPad {{R61i}} (fan levels RPM: 0 = off, 1 = 2689, 2 = 2729, 3 = 3059, 4 = 3047, 5 = 3051, 6 = 3515, 7 = 3468, full-speed/disengaged = 4119~4200)mod.#7650-D7G@+/-2yr.used&lt;br /&gt;
* ThinkPad {{T22}}&lt;br /&gt;
* ThinkPad {{T23}} &lt;br /&gt;
** (low speed = '''~2200''', medium and maximum speed = '''~4800'''; disengaged mode works at '''~5800''')&lt;br /&gt;
** (fan levels = ~RPM: 0 = '''0'''; 1,2 = '''~2200'''; 3,4,5,6,7 = '''~4900''';  disengaged,full-speed = '''~6331''')&lt;br /&gt;
* ThinkPad {{T30}}&lt;br /&gt;
* ThinkPad {{T40}} (fan levels RPM: 1-2 = ~2950, 3-5 = ~3600, 6-7 = ~4050; disengaged = ~5400)&lt;br /&gt;
* ThinkPad {{T41}}, {{T41p}} (fan levels RPM: 1-2 = ~2980, 3-5 = ~3500, 6-7 = ~4050; disengaged mode works at ~5100)&lt;br /&gt;
* ThinkPad {{T410i}} (fan levels RPM: 0 = off, 1 = ~1950, 2 = ~3575, 3-4 = ~3700, 5-6 = ~3825, 7 = ~4525; full-speed/disengaged = ~5450; only Linux-tested with tpfc0.5)&lt;br /&gt;
* ThinkPad {{T42}}, {{T42p}} (fan levels RPM: 1-2 = ~2900, 3-5 = ~3700, 6-7 = ~4700; disengaged mode works at ~5200)&lt;br /&gt;
* ThinkPad {{T43}}, {{T43p}} (fan levels RPM: 1-2 = ~3300, 3-5 = ~4100, 6-7 = ~4700; disengaged mode works at ~6450)&lt;br /&gt;
* ThinkPad {{T60}} (fan levels RPM: 1-2 = 3000-3100, 3-5 = ~3600, 6-7 = ~4500; disengaged mode works at ~5500)&lt;br /&gt;
* ThinkPad {{T61}} (fan levels RPM: 0 = off, 1-2 = ~2980, 3-5 = ~3330, 6-7 = ~3760; disengaged mode works at ~4500)&lt;br /&gt;
* ThinkPad {{W500}} (fan levels RPM: 0=off, 1-2 = 1900, 3-5 = ~3000, 6-7 = ~3500; disengaged mode works at ~5100)&lt;br /&gt;
* ThinkPad {{W510}} (fan levels RPM: 0=off, 1 = ~2750, 2 = ~3100, 3-5 = ~3500, 6-7 = ~4000; disengaged mode works at ~4585)&lt;br /&gt;
* ThinkPad {{X30}} (level 0 = off, low = ~3900, medium = ~4200, maximum = ~4650, disengaged = ~5900)&lt;br /&gt;
* ThinkPad {{X31}} (fan levels RPM: 0 = off, 1-2 = ~2850, 3-5 = ~3450, 6 = ~4050, 7 = ~4150; disengaged mode works at ~4975)&lt;br /&gt;
* ThinkPad {{X40}}&lt;br /&gt;
* ThinkPad {{X41}}&lt;br /&gt;
* ThinkPad {{X41T}}&lt;br /&gt;
* ThinkPad {{X60}} (fan levels RPM: 7 = ~3700, disengaged ~4700)&lt;br /&gt;
* ThinkPad {{X61}} (fan levels RPM: 1-2 = ~3400, 3-5 = ~3800, 6-7 = ~4500, disengaged = ~6700)&lt;br /&gt;
* ThinkPad {{X61s}} (fan levels RPM: 0 = off, 1-2 = ~3800, 3-5 = ~4500, 6-7 = ~4800, disengaged = ~4800) (though fancontrol can keep it at 2500rpm...)&lt;br /&gt;
* ThinkPad {{X120e}}&lt;br /&gt;
* ThinkPad {{Z60t}}, {{Z60m}} (fan levels RPM: 1-2 = ~1700, 3-5 = ~2800, 6-7 = ~3500)&lt;br /&gt;
* ThinkPad {{Z61m}}&lt;br /&gt;
* Thinkpad {{Z61p}} (fan levels 0-7, auto, disengaged; enable, disable; watchdog (untested))&lt;br /&gt;
* Thinkpad {{Edge11}} (fan levels: 0 = off, 1, 2, 3, 7 = full; RPM shown value is around 492 - 503, but should be 1000 - 3000)  &lt;br /&gt;
Probably other models are supported too (please update this page if you confirm this; maintain some ordering too).&lt;br /&gt;
&lt;br /&gt;
==Models using a different interface==&lt;br /&gt;
&lt;br /&gt;
The following models also work, use a different access method which supported (only) via the {{path|/proc/acpi/ibm/fan}} of [[thinkpad-acpi]]. No need for patching.&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{600E}}, {{600X}}, {{770E}}, {{770X}} (these use a different fan control interface)&lt;br /&gt;
&lt;br /&gt;
==Unsupported models==&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{560}} (these models don't have a fan)&lt;/div&gt;</summary>
		<author><name>Walden</name></author>
		
	</entry>
</feed>