How do you rate this laptop with Linux?
25% (11)
55% (24)
16% (7)
0% (0)
5% (2)

Lenovo Thinkpad W500


Kevin Sylvia


Kernel 2.6.27, which most of the new distributions are using, works very well for Lenovo ThinkPad w500 laptops. Ubuntu 8.10 Intrepid Ibex was installed successfully from the Beta live CD with most features enabled by default. Just install and update to the latest packages to get most things functional.

This page is just for discussing using Linux on the Lenovo Thinkpad W500. For a general discussion about this laptop you can visit the Lenovo Thinkpad W500 page on LapWik.


For full specifications see the Lenovo ThinkPad W500 specifications page.

NameLenovo ThinkPad W500
ProcessorIntel Core 2 Duo T9400 @ 2.53GHz
Screen15.4“ WSXGA+ Widescreen
HDD100GB 7200rpm
Optical DriveDVD+-RW
Switchable GraphicsATI FireGL V5700 500MB & Mobile Intel® GM45 Express
NetworkIntel 82567LM Gigabit Ethernet, Intel w5300 802.11abgn, Bluetooth

Linux Compatibility

Optical DriveCompatible
GraphicsSee Note
56K ModemNot Tested
FirewireNot Tested
Card ReaderCompatible
ExpressCard SlotNot Tested
PCMCIANot Tested
Fingerprint ReaderNot Tested
CameraNot Tested



Do not install any 2.6.27 kernel less than or you may risk disabling your ethernet adapter due to a bug in the kernel that overwrites the eeprom of the adapter with bogus values. Kernel with the Ubuntu 8.10 beta installer blacklists the module. Later kernels are fixed.

Hard Drive|SATA Mode

This system did not boot with AHCI enabled. In the BIOS config, switching SATA mode from AHCI to compatible fixes this issue.
The Intel wireless cards work without any further configuration with the 2.6.27 kernel.

Switchable Graphics|Integrated vs Discrete Cards

Intel GM45 Express works without any further configuration. The ATI Mobility FireGL v5700 needs a binary driver from ATI.
Xorg does not yet support switchable graphics. There may be workarounds via a script such as the one used for this Sony laptop.
The other option is to change the BIOS display config to either Integrated or Discrete. Integrated enables Intel's GM45 hardware, which is fully supported out of the box and has the best power-efficiency. Discrete enables the ATI Mobility FireGL v5700, which is basically an ATI Radeon HD3650. I have not tested this out yet, but this card would required installing the AMD binary driver for the most functionality.


Freshly installed, the trackpoint acts as a standard 3-button mouse. To enable the verticle scrolling UltraNav feature, follow these steps:

dmesg|grep input

look for something similar to:

input: TPPS/2 IBM TrackPoint as /class/input/input10

Using your favorite editor in root, make an .fdi file in /etc/hal/fdi/policy:

sudo vim /etc/hal/fdi/policy/mouse-wheel.fdi

and paste the following into that document, replacing TPPS/2 IBM TrackPoint with the name of your pointing device from dmesg:

<match key="info.product" string="TPPS/2 IBM TrackPoint">
<merge key="input.x11_options.EmulateWheel" type="string">true</merge>
<merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
<merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge>
<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>

ACPI|Suspend and Hibernate

Suspend works if you set suspend on lid close or if you use the suspend function key (Fn-F4), but resume fails if you close the lid during the suspend process.
Hibernate appears to work, but does not resume properly.


The latest kernel is very friendly towards the Thinkpad w500. Switchable graphics is non-functioning and hibernate needs work. Everything else works without configuration.


Jan, 2010/09/29 06:55

in opensuse 11.3 everything works perfectly

Richard, 2010/10/03 12:10

I would be very surprised if the fingerprint reader worked under openSUSE 11.3 AFAIK it is unsupported in Linux - see

Victor, 2010/08/05 07:32

On Debian Squeeze (still testing) everything works, but you still need to configure by hand some hal issues. I had to create a file /etc/hal/fdi/policy/30-thinkpad-w500.fdi with info from and


<?xml version=“1.0” encoding=“ISO-8859-1”?> <!– -*- SGML -*- –>

<deviceinfo version=“0.2”>

  <!-- These are buttons synthesized in the thinkpad-acpi kernel module -->
  <match key="system.hardware.vendor" contains="LENOVO">
    <match key="system.hardware.version" string="ThinkPad W500">
      <!-- -->
      <merge key="power_management.quirk.none" type="bool">true</merge> 
      <match key="system.hardware.product" contains="40625YG">
        <append key="" type="strlist">0x01:screenlock</append> <!-- Fn+F2 lock -->
        <append key="" type="strlist">0x02:battery</append> <!-- Fn+F3 battery -->
        <append key="" type="strlist">0x03:sleep</append> <!-- Fn+F4 suspend -->
        <append key="" type="strlist">0x04:radio</append> <!-- Fn+F5 wifi -->
        <append key="" type="strlist">0x06:switchvideomode</append> <!-- Fn+F7 switch video output device -->
        <append key="" type="strlist">0x07:f22</append> <!-- Fn+F8 touchpadtoggle -->
        <append key="" type="strlist">0x08:f24</append> <!-- Fn+F9 undock -->
        <append key="" type="strlist">0x0b:suspend</append> <!-- Fn+F12 hibernate -->
        <append key="" type="strlist">0x0f:brightnessup</append> <!-- Fn+Home -->
        <append key="" type="strlist">0x10:brightnessdown</append> <!-- Fn+End -->
        <append key="" type="strlist">0x13:zoom</append> <!-- Fn+Space -->
        <append key="" type="strlist">0x14:volumeup</append> <!-- Volume Up button -->
        <append key="" type="strlist">0x15:volumedown</append> <!-- Volume Down button -->
        <append key="" type="strlist">0x16:mute</append> <!-- Mute button -->
        <append key="" type="strlist">0x17:vendor</append> <!-- ThinkPad/ThinkVantage button -->
        <append key="info.capabilities" type="strlist">input.keymap</append>
  <match key="info.capabilities" contains="input.keymap">
    <append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
  <!-- tag the keyboard -->
  <match key="info.capabilities" contains="input.keyboard">
    <merge key="input.xkb.driver" type="string">evdev</merge>
    <merge key="input.xkb.layout" type="string">es</merge>
    <merge key="input.xkb.CoreKeyboard" type="string">yes</merge>
    <append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
  <!-- tag the keyboard -->
  <!-- -->
  <match key="info.capabilities" contains="input.keys nonono">
    <merge key="input.xkb.model" type="string">evdev</merge>
    <merge key="input.xkb.driver" type="string">evdev</merge>
    <merge key="input.xkb.protocol" type="string">evdev</merge>
    <merge key="input.xkb.layout" type="string">es</merge>
    <merge key="input.xkb.variant" type="string">nodeadkeys</merge>
    <merge key="input.xkb.rules" type="string">xorg</merge>
  <!-- tag the mouse as well -->
  <!-- -->
  <!-- match key="info.product" contains="Synaptics TouchPad" -->
  <match key="input.x11_driver" string="synaptics">
    <merge key="input.x11_driver" type="string">synaptics</merge>
    <merge key="input.x11_options.AlwaysCore" type="string">true</merge>
    <merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>
    <merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge>
    <merge key="input.x11_options.TapButton1" type="string">1</merge>
    <merge key="input.x11_options.TapButton2" type="string">2</merge>
    <merge key="input.x11_options.TapButton3" type="string">3</merge>
    <merge key="input.x11_options.RightEdge"  type="string">5500</merge>
    <merge key="input.x11_options.BottomEdge" type="string">4500</merge>
    <merge key="input.x11_options.RTCornerButton" type="string">0</merge>
    <merge key="input.x11_options.RBCornerButton" type="string">0</merge>
    <merge key="input.x11_options.protocol" type="string">event</merge>
    <merge key="input.x11_options.touchpadoff" type="string">0</merge>
    <merge key="input.x11_options.shmconfig" type="string">on</merge>
    <merge key="input.x11_options.SHMConfig" type="string">On</merge>
  <match key="info.product" contains="TPPS/2 IBM TrackPoint">
    <merge key="input.x11_driver" type="string">mouse</merge>
    <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
    <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
    <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
    <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
    <merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge>
    <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
  <match key="info.product" contains="Logitech USB RECEIVER">
    <merge key="input.x11_driver" type="string">evdev</merge>
    <merge key="input.x11_options.HWHEELRelativeAxisButtons" type="string">7 6</merge>
    <merge key="input.x11_options.SendCoreEvents" type="string">true</merge>


Victor, 2010/04/21 20:03

On debian lenny + backports (debian lenny only can not be installed without network problems) there are a lot of problems, but u can manage them.

- it uses vesa x11 driver instead of intel.
- fonts, windows size and other related are really small.
- when u press suspend button it runs twice and screen is not able to came back.
- special keys as volume up/down/mute are not managed.
- touchpad needs to be configured via xorg instead of hal to work.
- I can not reduce screen brightness

but I still love Debian and my new W500.

Alexander, 2010/03/06 10:12

Thinkpad W500, Ubuntu 9.10 Karmic Koala
Gfx worked, but were buggy with the automatically installed open source ones.
(Rendering had “holes” in some meshes)

I then set the gfx in BIOS to Discrete and disabled OS detection (where it tries to guess whether or not an OS can do the switching)
After that, I installed the ATI fglrx drivers via system⇒admin⇒hardware drivers
After rebooting, I saw the “AMD Unsupported hardware” watermark, but the drivers themselves work nicely. Haven't tested a lot yet, but 3D applications work just as I'd expect them to.

Giri, 2009/12/02 22:34

Hi All,
I just got my W500. When i try to install Redhat 8.0, it just hangs at “Initializing PC Card Devices….”. Not sure what to do. I tried the settings mentioned in this page but still the same problem. Any guidence will be much appreciated.

zyzyis, 2009/11/05 10:32

Fedora 11 works out-of-box, the latest fglrx driver works. Resuming from suspend doesn't work still with 2.6.30 kernel.

iak, 2009/10/03 03:55

Ubuntu LiveCD 9.04 64 bit

Wireless - work out of the box
Graphics - Intel work out of the box

  1. Ati works, but can't change desktop effect
  2. Ati with proprietary driver, work, but hang some times

Card Reader - work out of the box
Sound - work out of the box (mute button doesn't work)
Camera - work out of the box

Prem, 2009/07/20 05:41

Thinkpad W500
ATI : some problem switched to Integrated Intel Graphics,
Wireless : works
Sound: works
Mic: works
Ethernet: Works
Bluetooth: works
Wireless: Worked after installing iwlagn-ucode5000
OS: Sabayon 4.2
Battery : Monitor works.
Suspend/Resume: Resumes but fails to remount partition as 'rw'
Hibernate: Hibernates, doesn't come backup properly.

Peter Gant, 2009/06/16 16:00

Installed Linux Mint Felicia and everything eventually worked apart from the fingerprint reader. At first X Windows refused to start but this problem was cured by setting the graphics to discrete.

A fix for the fingerprint reader would be nice, there are problems because Lenovo changed their vendor and the current Linux drivers only work with the old chips.

P Gant

Jay, 2009/05/13 22:36

Fixed my issue. (Guess I didn't dig deep enough on the forums).

Found the following text here:

sound - works. ALSA provides separate volume controls for “Front” and “PCM”, although they both seem to affect the speakers and the headphone jack, but the Front Mute only mutes the speakers. Typical ALSA quirks. The speakers also mute automatically when a headphone jack in inserted.

Now here is the part that fixed it for me:

Special keys

Volume - The volume keys work with ALSA out-of-the-box. However, the mute key has some quirky behavior in that there is no on-screen indication that it has taken effect, and *pushing it again while muted does not unmute; only pushing the up or down volume key unmutes.*

Jay, 2009/05/13 22:13

Running Ubuntu 9.04

Everything worked from install after with the exception of the sound, which interestingly enough worked on the liveCD, but alas, no longer. If anyone has any idea as to how to even just start to fix this problem, I would be very grateful to hear from you. (Already searched Ubuntu Forums without any luck.)

Steen, 2009/04/06 13:07

Installed 8.10 on w500 with minimal issues:


Set to read SATA in compatability mode.


Default Primary Video Device: PCI Express
Boot Display Device: ThinkPad LCD
Graphics Device: Discrete Graphics
OS Detection for Switchable Graphics: Disabled

Fingerprint Reader:

Not configured yet.


Working out of the box.

Wireless WAN (Mobile Broadband):

Not configured yet. The Ericsson F3057g creates multiple devices.

However Lenovo provides extra HDD's with an encryption feature, which perform exceptionally poor when mounted (ntfs 3.1 / fuseblk). Am in the process of clearing a HDD of content, to format with ext3 and see how that works.

Sasha, 2009/04/01 08:35

This time I hope that Kevin Sylvia reads my message.

After being happy with my successful installation of the dual boot of my w500, according to Kevin Sylvia's instructions,there is one problem:
Dim screen. Too dim !
Whenever I restart the laptop (including after hibernation) the screen is dim.
It is so dim that I can hardly read.
I changed the power management settings, but the screen is still dim on restart.
However, If I change something in the power management, while the screen is dim,
or if I disconnect and reconnect the AC power, The screen brightens.
Can anybody help me get rid of this “feature” ?

Sasha, 2009/03/30 12:47

Many thanks to Kevin Sylvia !

I have just installed Ubuntu 8.10 (64) on a Thinkpad w500, as a dual boot with Vista.

1. Shrank Partition C of Vista, gained 51 GB, and started installing Ubuntu.
2. Could not install from the CD without first changing the Switchable Graphics to Integrated. (I did not try the other option).
3. After the installation I could not restart, without changing the SATA mode to “Compatibility”.

Tinu, 2009/03/09 09:40

ExpressCard Slot - works
PCMCIA - works
Camera - works

Eric, 2009/02/17 12:47

Opensuse 11.1 64bits
To get the sound working, I added, in Yast→Hardware→Sound, a property called “enable_msi” with value “1”

Bashar, 2009/01/29 17:32

DisplayPort converter to DVI works fine on lenovo thinkvision L220x supporting 1920×1200

Michael, 2009/01/10 22:02

SuSE 11.1 x64, Kernel
Install went well. All features are working less the following:
Forced discreet graphics in Bios.
Bluetooth operational but not allowing throughput
Webcam works less with Kopete (Kopete problem)
Sound fails with KDE V4.1 but is fully functional in KDE V3.5
Tethering to an external modem like a cell phone under KDE is non-functional.
ATI Graphics works but with slight modification due to it trying to use the 32bit drivers instead of the 64bit. Deleting the 32 bit file and creating a link to the 64 is the quick work around.
Suspend to ram and disk both work less with the ATI graphics driver. Intel and radeonhd drivers works fine.

Not Checked:
Internal Modem, Firewire port

Bashar, 2008/12/07 23:03

ubuntu 8.10 with latest updates works fine

fingerprint i reached this step thats listed at and it seems can't find the USB device:

bashar@bashar-laptop:~$ sudo tf-tool –acquire
[sudo] password for bashar:

ThinkFinger 0.3 (
Copyright (C) 2006, 2007 Timo Hoenig

Initializing…USB device not found.

W500 Owner, 2009/01/29 16:39

The AuthenTec Fingerprint Reader in the T400, W500 and possibly others is not yet supported.

Tav, 2008/11/29 23:10

Ubuntu 8.10 (2.6.27-9-generic) 64bit installed.
Forced discrete graphics in Bios and using ATI proprietary driver.
Ethernet, Wireless and bluetooth all work.
2 crashes over last 4 days, problem not determined, but could be related to wireless according to some other posts.

Martin, 2008/11/22 18:36

OpenSuse 11.1B5 and switchable graphics

Have installed OpenSuse 11.1 B5 and it works (Gnome tested). Booting through Vista loader and Easy BCD so I can keep compatibility with shipped tools. Set bios to Discrete and left option to have switchable if OS supports it works erratically. Results not yet predictable when Discreet actually enabled. Right out of bios on cold boot seems to work. If reboot from vista, then get intel video and bios reset to switchable. On reboot → bios → linux get intel even when discreet set.

W500 Owner, 2009/01/29 16:33

The system detects that the OS supports switchable graphics and overrides your setting. If you want to manually override discrete vs. integrated graphics, you must disable the OS detection BIOS option and then set which you want.

Richard, 2009/11/02 11:20

This one caught me. I had it set to discrete but had the OS detection enabled, with the effect that I had to load Windows (XP) to the login page, then restart, before loading either Windows or Ubuntu (8.10) after I'd run Ubuntu. Disabled the detection and voila - graphics all there.

Chris, 2008/11/09 17:34

wuxga is not compatible with xorg - works on ubuntu 8.04.1 though

W500 Owner, 2009/01/29 17:13

Xorg has no “compatibility” problems with WUXGA. I have run WUXGA and higher resolutions with Xorg, and several years ago with Xfree86 before Xorg replaced it.
The supported resolutions will come from the monitor and video chipsets.

Mark, 2008/09/26 10:33

Ubuntu LiveCD 8.04.1

Ethernet - works
Wireless - doesn't
Graphics - Intel card works (i965) out of the box
Card Reader - works (SD)
Sound - works

Mark, 2008/09/26 07:18

Fedora 9 32bit - quick test (no upgrade done yet, see below for reason)

Install from CD - Success

Ethernet - doesn't work
Wireless - not tested
Graphics - none of 2 cards recognised (Intel or AMD)

Enter your comment. Wiki syntax is allowed:
If you can't read the letters on the image, download this .wav file to get them read to you.
lenovo_thinkpad_w500.txt · Last modified: 2010/10/13 15:21 (external edit)
Contact Us Sister Sites Privacy Policy Terms of Use
Copyright © 2006-2013 and other authors