A few years ago I bought old, used Lenovo W510 with Intel i7. I payed a very little money for it and I thought that it will be excellent replacement for my old Toshiba Tecra A10. I hoped that Nvidia GPU would improve overall graphics performance. Unfortunately: it appeared that Nvidia Quadro FX 880M was the most troublesome part of this laptop.
As I think it may be helpful for other people trying to use this Lenovo with Ubuntu/Kubuntu I created (incomplete) short “compatibility report”.
Kubuntu 24.04
Nvidia support: only unofficial. Currently I use Nouveau + gdm login manager. It is quite stable, but it takes at about 30-40 secs to “sleep” the laptop. The “resume” operation is fast. Unfortunately sometimes it resumes with black or “frozen” login screen and then you can only reboot it (but it is rare).
Overall performance: quite good. But it takes more tome to boot my W510 with i7 than in my old Toshiba Tecra A10 which has only i5 on board. Disk controller seems to be slower in W510.
What works
- graphics Nouveau
- webcam
- built-in microphone
- sound
- networking
- WiFi (2 and 5 Ghz)
- keyboard
- USB
- docking station
- touchpad
- sleep/wake up (as I have written: sleep is sloooow when using Nouveau open source graphic driver)
What does not work / problems
- it is difficult to install NVida drivers in newest kernels
- controlling of screen brightness after sleep/restore cycle when sleep was made on battery.
- battery calibration software for Lenovo laptops.
- nouveau: sleep is sloooow when using Nouveau open source graphic driver
- nouveau: some applications work improperly (for instance Stellarium)
unknown status / never tried
- fingerprint reader (never tried because of this note);
Kubuntu 22.04
Used with Nvidia and Nouveau. Same problems as in 20.04 but Nouveau worked better.
Kubuntu 20.04
As there were problems with sleep/wake up when using Nouveau driver, I configured graphics with unsupported NVidia driver. Worked rather stable but there were many issues with strange artifacts appearing after wake up.
Nvidia support
Unfortunately since ca. 2014 NVida doesn’t support “Nvidia Quadro FX 880M”. It’s interesting, because my W510 was at about 4 years old when it had lost Nvidia’s support. And this forces me to rethink again if I would pay a lot of money for GPU with closed source drivers and then in a few years it probably would be less useful (of totally useless).
Anyway: there is a unofficial port of NVidia drivers to newer Kubuntus. Unfortunately the latest supported one is Ubuntu Jammy (2021). So - no chance to run it in the newest one.
I used this driver in 20.04 and it - of course - made graphics to ve more performant. But there were also problems:
- after sleep/resume cycle restored graphics was distorted;
- there were atrange artifacts appearing on the creen (randomly, one could get used to them);
- often it cannot resume (screen was black), so I had to power off machine and power on again.
Useful links
- https://www.thinkwiki.org/wiki/Category:W510
- https://www.phoronix.com/review/lenovo_thinkpad_w510
- https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-340
- https://www.davidosomething.com/linux-lenovo-thinkpad-w510-part-3/
Technical details.
So what is under the hood? Let’s see:
$ lspci
00:00.0 Host bridge: Intel Corporation Core Processor DMI (rev 11)
00:03.0 PCI bridge: Intel Corporation Core Processor PCI Express Root Port 1 (rev 11)
00:08.0 System peripheral: Intel Corporation Core Processor System Management Registers (rev 11)
00:08.1 System peripheral: Intel Corporation Core Processor Semaphore and Scratchpad Registers (rev 11)
00:08.2 System peripheral: Intel Corporation Core Processor System Control and Status Registers (rev 11)
00:08.3 System peripheral: Intel Corporation Core Processor Miscellaneous Registers (rev 11)
00:10.0 System peripheral: Intel Corporation Core Processor QPI Link (rev 11)
00:10.1 System peripheral: Intel Corporation Core Processor QPI Routing and Protocol Registers (rev 11)
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
00:19.0 Ethernet controller: Intel Corporation 82577LM Gigabit Network Connection (rev 06)
00:1a.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)
00:1c.7 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 8 (rev 06)
00:1d.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)
00:1f.0 ISA bridge: Intel Corporation QM57 Chipset LPC Interface Controller (rev 06)
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GT216GLM [Quadro FX 880M] (rev a2)
01:00.1 Audio device: NVIDIA Corporation GT216 HDMI Audio Controller (rev a1)
03:00.0 Network controller: Intel Corporation Centrino Ultimate-N 6300 (rev 35)
0d:00.0 SD Host controller: Ricoh Co Ltd MMC/SD Host Controller (rev 01)
0d:00.1 System peripheral: Ricoh Co Ltd R5U2xx (R5U230 / R5U231 / R5U241) [Memory Stick Host Controller] (rev 01)
17:00.0 SD Host controller: Ricoh Co Ltd MMC/SD Host Controller (rev 01)
17:00.3 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 PCIe IEEE 1394 Controller (rev 01)
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-Core Registers (rev 04)
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 04)
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 04)
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 04)
ff:03.0 Host bridge: Intel Corporation Core Processor Integrated Memory Controller (rev 04)
ff:03.1 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Target Address Decoder (rev 04)
ff:03.4 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Test Registers (rev 04)
ff:04.0 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Control Registers (rev 04)
ff:04.1 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Address Registers (rev 04)
ff:04.2 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Rank Registers (rev 04)
ff:04.3 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Thermal Control Registers (rev 04)
ff:05.0 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Control Registers (rev 04)
ff:05.1 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Address Registers (rev 04)
ff:05.2 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Rank Registers (rev 04)
ff:05.3 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Thermal Control Registers (rev 04)