Putting Ubuntu 16.04 on a Lenovo W541

Earlier this month I was given a new notebook at the day job to develop our next-generation education-supporting software with. All in all, it's a potent machine with a quad-core Intel i7 processor and a beefy nVidia K2100M video card. There were just a few problems with it. They included:

  • a 5400rpm hard drive
  • just 8 GB of RAM
  • a severely locked down version of Windows 7
  • errors galore when launching any application
  • sluggish, sluggish performance

This notebook, a Lenovo W541, is supposed to be either the second-most — if not the most — powerful computer I've had the luxury to use. When the IT manager asked if the machine would be "acceptable to work on", I nearly leapt from my seat because it's more than acceptable. Heck, it's downright generous considering how I'm writing software in C#. I don't really need the amount of power they've provided. That said, for the configuration I was given, it's like buying someone a Ferrari with a speed governor installed and set to 45kph. Yeah, it's nice … but it's painful, too.

So, not wanting to feel frustrated every moment at the office, I decided to break some rules, spend some cash I earned with some freelancing on the side, and upgrade some internals. Here's what I installed:

  • 32GB DDR3L 1600 MHz RAM (Transcend TS1600KWSH-16GK x2)
  • 512GB SATA III 6Gb/s M.2 SSD (Transcend MTS400)
  • 512GB SATA III 6Gb/s 2.5" SSD (Transcend SSD370S)

Transcendent Upgrades

It's a wonderful bit of kit, and I was able to get it all from Amazon for a decent price. The nice thing about this particular Lenovo is that is has a pair of M.2 slots, one of which is used by the WiFi card, and four SODIMM slots. Now, a word of warning to anyone with a W540 or W541 who wants to fill all four slots: only the quad-core processors (the i7 4xxx-QM series) can support four SODIMMs. Dual-core processors will only support slots 0 and 1 despite having four slots next to the 2.5" drive bay. That said, some examination of the CPU socket reveals that it may be possible to replace the processor yourself. I haven't physically verified this by taking the entire bottom of the notebook off but, from what I could see, it certainly appeared to be possible. That would make this notebook the first I've ever had where it was possible.

Back to the task at hand, though …

Installation of the hardware was a snap. The bottom panels, with some sliding around and nervous prying, open right up to reveal the necessary slots. Everything clipped in within seconds, and I was booting the Ubuntu 16.04 MATE Beta 2 Live DVD in no time flat.

The reason I opted to go with 16.04 instead of 15.10 had a lot to do with driver support. Having read through a lot of posts all over the Internet where people explained some of the difficulties they had installing Ubuntu on the W54x model Lenovos, I wanted as little pain as possible. People were saying good things about 16.04, so I threw caution to the wind. If it wasn't going to work, then 15.10 would also be possible, but it needs a little bit of care so that you don't brick your motherboard. 12.04 LTS is technically supported and certified, but there's a lot you lose by going with that release. So, 16.04 seemed to be the most logical version to go with.

The 16.04 MATE installation process was incredibly painless. I told the software where to put the OS, configured some partitions, and let the computer to all the work. Updates were pulled down during installation, and all the important bits "just worked"™ like you would expect it to in 2016. After installation there were a few extra things that needed some software, the fingerprint reader, video card, and power management systems most notably, and this was easy enough from the terminal.

To install the fingerprint reader drivers and software:

  1. sudo add-apt-repository ppa:fingerprint/fingerprint-gui
  2. sudo apt-get update
  3. sudo apt-get install libbsapi policykit-1-fingerprint-gui fingerprint-gui

To install the power management drivers:

  1. sudo add-apt-repository ppa:linrunner/tlp
  2. sudo apt-get update
  3. sudo apt-get install tlp tlp-rdw
  4. sudo apt-get install tp-smapi-dkms acpi-call-dkms

Then the nVidia drivers. Before installing these, it's a good idea to eliminate any existing ones that might have been installed beforehand.

  1. sudo apt-get remove --purge 'nvidia*'
  2. sudo apt-get remove --purge xserver-xorg-video-nouveau

Then:

  1. sudo add-apt-repository ppa:graphics-drivers/ppa -y
  2. sudo apt-get update && sudo apt-get upgrade -y
  3. sudo apt-get install linux-source && sudo apt-get install linux-headers-$(uname -r)
  4. sudo apt-get install nvidia-362 nvidia-settings

Once all this is done, restart the machine, and you'll be good to go. Under Windows 7 I was able to squeeze just under 4 hours out of the battery while developing in Visual Studio. Under 16.04 MATE I'm able to get about 5 hours on a single charge. Still not as great as a MacBook Pro, which can go for close to 12 hours without touching an AC adapter, but not bad considering it's a big, beefy Lenovo workstation.

Lenovo W541 and 16.04 MATE