Some models of the 2008 generation of ThinkPads (W500, T500, R500, etc...) have been blessed with a feature called switchable graphics or hybrid graphics. This means that they have two graphics cards:
- Intel GMA 4500HD, as part of the Mobile Express 4 chipset, referred to as the integrated or Energy Saving graphics.
- AMD (ATI) Mobility V5700, aka ATI Radeon 3650, referred to as the discrete or High Performance graphics.
Under Windows with the appropriate drivers, the system and switch between these two graphics cards on the fly, without restarting the computer.
In the case of my W500, using the integrated graphics card more than doubles the battery life over the discrete graphics card, at some points giving 5 hours of runtime. To play games, run certain CAD packages, or use the DVI output of the Lenovo Advanced Dock, I can use the discrete graphics instead.
It's a convenient feature, and one that was ahead of its time. However, controlling this functionality with something other than the Lenovo Power Manager has been less than straightforward.
At some point I got the idea to rebind the otherwise unused ThinkVantage key on the laptop's keyboard to toggle between the graphics cards, since clicking two menu items in the battery monitor menu was such a chore.
This project was brought forward from my old website. It was completed in 2012, last updated in 2013, and probably won't be touched again.
Development
Poking around in Process Monitor to watch PWMUI.exe
(Lenovo Power Manager) revealed that it merely called another, external program to perform the switch when a graphics card was selected:
C:\PROGRA~2\ThinkPad\UTILIT~1\PWMUIAux.exe /HighPerformanceGpu
C:\PROGRA~2\ThinkPad\UTILIT~1\PWMUIAux.exe /EnergySavingGpu
These commands appear to tell the lower-level drivers to set the MUX to use the desired graphics processor, and switch power to them. Nothing appears to happen if the requested graphics card is already in use.
With that figured out, all I needed to do was determine which card was currently in use, and, as an added bonus, show an overlay not unlike the stock Lenovo on-screen display.
A Registry file and installer Batch file are included in the tools directory of this project's repository and source code archives, which copy the executable to C:\Windows
and create the ThinkVantage key binding.
Prerequisites
This utility is merely a wrapper for Lenovo Power Manager, which actually communicates with the system board driver and controls the graphics MUX. It was developed specifically for a W500 running Windows 7 x86-64, but may work for other models or operating systems as long as the use of PWMUIAux.exe
is the same.
Resources
Type | Name + Description |
---|---|
![]() | tpgraphics-toggle-win Git Repository |
Downloads
Type | Filename + Description | Date | Size | SHA256 |
---|---|---|---|---|
![]() | Switchable graphics toggle utility | 2021-12-18 | 431.6 KiB | |
![]() | Switchable graphics toggle utility source code, v1.0.0 | 2021-12-23 | 119.6 KiB |