Popular Guides
View more guides at Linux Wiki Guides
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.
| Name | Lenovo ThinkPad W500 |
| Processor | Intel Core 2 Duo T9400 @ 2.53GHz |
| Screen | 15.4” WSXGA+ Widescreen |
| RAM | 3GB DDR3 |
| HDD | 100GB 7200rpm |
| Optical Drive | DVD+-RW |
| Switchable Graphics | ATI FireGL V5700 500MB & Mobile Intel® GM45 Express |
| Network | Intel 82567LM Gigabit Ethernet, Intel w5300 802.11abgn, Bluetooth |
| Device | Compatibility | Comments |
|---|---|---|
| Processor | Compatible | |
| Screen | Compatible | |
| HDD | Compatible | |
| Optical Drive | Compatible | |
| Graphics | See Note | |
| Sound | Compatible | |
| Ethernet | WARNING! | |
| Wireless | Compatible | |
| Bluetooth | Compatible | |
| 56K Modem | Not Tested | |
| USB | Compatible | |
| Firewire | Not Tested | |
| Card Reader | Compatible | |
| ExpressCard Slot | Not Tested | |
| PCMCIA | Not Tested | |
| Fingerprint Reader | Not Tested | |
| Camera | Not Tested |
Do not install any 2.6.27 kernel less than 2.6.27.4 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 2.6.27.4 with the Ubuntu 8.10 beta installer blacklists the module. Later kernels are fixed.
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.
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> </match>
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.
Discussion
in opensuse 11.3 everything works perfectly
I would be very surprised if the fingerprint reader worked under openSUSE 11.3 AFAIK it is unsupported in Linux - see http://reactivated.net/fprint/wiki/Unsupported_devices
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 http://linux.seindal.dk/2008/01/31/suspend-hibernate-problems-in-new-debian-testing-install/ and http://old.nabble.com/Help-with-suspend-hibernate-in-Gnome-Power-Manager-td15181122.html.
/etc/hal/fdi/policy/30-thinkpad-w500.fdi:
<?xml version=“1.0” encoding=“ISO-8859-1”?> <!– -*- SGML -*- –>
<deviceinfo version=“0.2”>
<device> <!-- 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"><!-- http://old.nabble.com/Help-with-suspend-hibernate-in-Gnome-Power-Manager-td15181122.html --> <merge key="power_management.quirk.none" type="bool">true</merge><match key="system.hardware.product" contains="40625YG"> <append key="input.keymap.data" type="strlist">0x01:screenlock</append> <!-- Fn+F2 lock --> <append key="input.keymap.data" type="strlist">0x02:battery</append> <!-- Fn+F3 battery --> <append key="input.keymap.data" type="strlist">0x03:sleep</append> <!-- Fn+F4 suspend --> <append key="input.keymap.data" type="strlist">0x04:radio</append> <!-- Fn+F5 wifi --> <append key="input.keymap.data" type="strlist">0x06:switchvideomode</append> <!-- Fn+F7 switch video output device --> <append key="input.keymap.data" type="strlist">0x07:f22</append> <!-- Fn+F8 touchpadtoggle --> <append key="input.keymap.data" type="strlist">0x08:f24</append> <!-- Fn+F9 undock --> <append key="input.keymap.data" type="strlist">0x0b:suspend</append> <!-- Fn+F12 hibernate --> <append key="input.keymap.data" type="strlist">0x0f:brightnessup</append> <!-- Fn+Home --> <append key="input.keymap.data" type="strlist">0x10:brightnessdown</append> <!-- Fn+End --> <append key="input.keymap.data" type="strlist">0x13:zoom</append> <!-- Fn+Space --> <append key="input.keymap.data" type="strlist">0x14:volumeup</append> <!-- Volume Up button --> <append key="input.keymap.data" type="strlist">0x15:volumedown</append> <!-- Volume Down button --> <append key="input.keymap.data" type="strlist">0x16:mute</append> <!-- Mute button --> <append key="input.keymap.data" type="strlist">0x17:vendor</append> <!-- ThinkPad/ThinkVantage button --> <append key="info.capabilities" type="strlist">input.keymap</append> </match> </match> </match><match key="info.capabilities" contains="input.keymap"> <append key="info.callouts.add" type="strlist">hal-setup-keymap</append> </match><!-- 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> </match> <!-- tag the keyboard --> <!-- http://www.gentoo-wiki.info/X11_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> </match> <!-- tag the mouse as well --> <!-- http://wiki.archlinux.org/index.php/Touchpad_Synaptics --> <!-- 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> <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> <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> </match> </device></deviceinfo>
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.
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.
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.
Fedora 11 works out-of-box, the latest fglrx driver works. Resuming from suspend doesn't work still with 2.6.30 kernel.
Ubuntu LiveCD 9.04 64 bit
Wireless - work out of the box
Graphics - Intel work out of the box
Card Reader - work out of the box
Sound - work out of the box (mute button doesn't work)
Camera - work out of the box
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.
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
Fixed my issue. (Guess I didn't dig deep enough on the forums).
Found the following text here:
http://ubuntuforums.org/showthread.php?t=991624&highlight=sound+w500
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.*
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.)
Installed 8.10 on w500 with minimal issues:
HDD:
GFX:
Fingerprint Reader:
Wireless:
Wireless WAN (Mobile Broadband):
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.
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” ?
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”.
ExpressCard Slot - works
PCMCIA - works
Camera - works
Opensuse 11.1 64bits
To get the sound working, I added, in Yast→Hardware→Sound, a property called “enable_msi” with value “1”
DisplayPort converter to DVI works fine on lenovo thinkvision L220x supporting 1920×1200
SuSE 11.1 x64, Kernel 2.6.27.7-9-default
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
ubuntu 8.10 with latest updates works fine
fingerprint i reached this step thats listed at https://wiki.ubuntu.com/ThinkFinger and it seems can't find the USB device:
bashar@bashar-laptop:~$ sudo tf-tool –acquire
[sudo] password for bashar:
ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig thoenig@suse.de
Initializing…USB device not found.
The AuthenTec Fingerprint Reader in the T400, W500 and possibly others is not yet supported.
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.
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.
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.
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.
wuxga is not compatible with xorg - works on ubuntu 8.04.1 though
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.
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
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)