It was time for me to update my laptop and I got this nice and powerful Thinkpad P51. Ditched Windows 10 and installed Kubuntu 18.04. Unfortunately, that was not enough to start using it and continue working. There were weird problems at the boot, and when I docked the laptop for the first time, I got no picture to the external monitors. After searching for solutions, I found some concerning posts as well as hints how it might be possible to get everything working. After some time of trial and experiment without success, I got frustrated. Should I have gotten a Mac this time?
But, I have used Linux for work since the kernel 1.0 was released in 1994 and don’t feel like changing to something else quite yet. Linux is still simply the best tool for most development tasks, even now almost a quarter of a century later.
Based on the certification https://certification.ubuntu.com/hardware/201702-25426/, the hardware should be fine. And it is. The basic problem is with the two graphics cards in the laptop and a working solution is to use the Nvidia card only.
Steps to make it work
First, go to BIOS setup and change Hybrid Graphics to Discrete Graphics
And disable Secure Boot
Boot up Linux and add acpi=force to your linux default parameters
sudo nano /etc/ default /grub |
Edit the line
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash nomodeset acpi=force”
sudo update-grub |
Add the following to /etc/modprobe.d/blacklist.conf
blacklist amd76x_edac blacklist vga16fb blacklist nouveau blacklist rivafb blacklist nvidiafb blacklist rivatv |
Update the initramfs disk
sudo update-initramfs -u |
Remove open source nvidia drivers
sudo apt-get remove --purge nvidia* ; sudo apt autoremove |
Download the proprietary Nvidia driver from http://www.nvidia.com/object/unix.html and install it. X needs to be stopped before installing the driver. Go to one of the virtual terminals and stop X before installing.
sudo service sddm stop sudo sh Downloads/NVIDIA-Linux-x86_64-390.59.run |
Reboot and this should be it. Hope I remembered all steps.
Now after a couple of days of working, everything works fluently.
The downside to this solution is that the internal graphics card is not used in any situation and thus the power consumption is higher. This is probably not a big issue, but if you have a solution for this, please let me know.