Updated: July 12, 2021
In 2014, I got myself a "serious" laptop, designed to be used for real, productivity work and gaming, as sort of portable backup system for the conventional desktop PC layout. The laptop had a relatively moderate price and very nice specs: i7 processor, Nvidia GTX 860M card, 16GB of RAM, and 4K display. It also came with Windows 8.1, and I made a decision to keep it that way.
Fast forward to the present, this laptop is getting a wee old. It's still super-capable - it runs Assetto Corsa in 4K, it runs ArmA 3 and Cities Skylines without any issues, even BeamNG.drive. Really, it does all the modern tasks with jolly flair. However, I think I should relegate it to a secondary backup role, meaning it will still be a productivity system, but perhaps not always my first port of call. To that end, I decided to add Linux to its operating system range. Specifically, Kubuntu. A new adventure begins.
Why is this interesting, you ask?
Over the years, I've used Linux for testing, semi-serious and serious purposes on many occasions. I'm not going to spam you with links to my own articles, just jump into the Linux section and have a good, long read. TL;DR: Linux typically tends to give older devices fresh vitality. However, in almost all of my endeavors, there were always some issues with Linux, mostly hardware compatibility.
For example, the old Asus eeePC had problems with Fn keys and fan control. The G50 laptop had problems with networking. I've also encountered issues with HD scaling. Now, my first encounter with this was on the Y50 actually. At that time, Ubuntu 14.04 handled the 4K resolution really well, much better than Windows 8.1. In fact, I decided to "downgrade" my resolution from UHD to HD in Windows, to be able to use the system effectively. But since, I've found new challenges on the Slimbook Pro2, with Kubuntu and Plasma.
At that time, Kubuntu 18.04 didn't handle scaling perfectly, and I had to use a whole bunch of workarounds to get everything sorted. Since, the situation that has improved immensely, and in the more recent builds of Plasma, HD scaling is almost superb, give or take an odd regression or two. In fact, today, the only Linux desktop environment that does the whole HD display thing well is Plasma. Which brings me to my decision on what I intend to do with the Y50 laptop. It's a change in my production setup, but also an experiment.
- I want to use Kubuntu 20.04 as the operating system, because Plasma is the best. Fact.
- The scaling element will be quite interesting, because 4K display. A new development.
- The whole thing will be even more interesting, because the system has a hybrid graphic card setup. Again, this will be a first for me, using Linux on a machine with Intel + Nvidia graphics in parallel, plus the 4K display.
- All the other questions and considerations that have always previously come up whenever I chose Linux for serious productivity use on my hardware.
Commence to start
And so, the experiment begins. TL;DR: this is what happened:
I booted into the live session without any issues. The desktop was not really usable in the default, non-scaled 4K resolution. I know technology needs to progress and whatnot, but it really makes little sense to have super-UHD displays, because you need to magnify everything by 100% or such.
I repartitioned the hard disk, and installed Kubuntu 20.04. The distro asked me to configure Secure Boot, because I chose to install the additional proprietary drivers during the setup. Weird. How and why would this functionality be required for something as simple as Nvidia drivers? Anyway, I let it be, then, on next reboot, I went into BIOS, and disabled Secure Boot. This did not affect either Windows 8.1 or Kubuntu in any way.
After the installation, the GRUB menu was hidden by default. Why! The system has dual-boot! What logic is there in hiding a menu that lets users select which operating system they wish to boot. I had to make the necessary change, edit /boot/default/grub, and in there change GRUB_TIMEOUT_STYLE from "hidden" to "countdown". Simply silly.
However, once the menu became visible, I realized that it was tiny - having a 4K GRUB menu isn't ideal. This necessitated a menu resolution change, which is something we will discuss in a separate guide. But on its own, there's another problem with a non-scaled display result. Enter the realm of many, many pixels ...
I logged into my desktop and was pleasantly surprised to discover that my Wireless network was correctly preserved from the live session, there were no KDEWallet prompts, and Nvidia drivers were up and running. So I decided to scale the desktop - a full 100% scale, which would transform the 4K display to 1K. Apply, reboot, see what gives.
Scaling works, doesn't it?
Well, yes and no. The desktop was scaled, but the panel height hasn't been changed, and I had to do it manually. Also, the mouse cursor remained at its old 4K size, and it was way too tiny. Another manual trick.
But then, the mouse only changed when I'd hover over applications, but not the desktop. I guess a Plasma shell restart (or a system reboot) is needed. Shame. Then, I noticed that not every component of the desktop obeyed my scaling rule. For example, the Wallpaper utility was rendering its sub-menus at 4K instead of the new, scaled up resolution. The login menu was also stuck at 4K.
Back to 1080p
And much like Windows 8.1, I decided that the easiest solution is to simply reduce the resolution to 1080p. And I did it. It's a shame that I wasn't able to make an integral change, but then Kubuntu 20.04 is running Plasma LTS (5.18), not 5.20, which is where the HD scaling becomes really good. So for now, this is what I have to do.
An added bonus of this change is the screen refresh rate. At 3840x2180px, the refresh rate was only 48 Hz. At the lower 1080p setting, the refresh rate is 60 Hz. Why oh why. However, this did not fix all of my problems:
- The GRUB menu was still tiny.
- The login menu was still 4K - tiny and not fun to use.
The solution to the second problem is far from trivial. It took me quite a while to find the most optimal tweak, one that would not clash with the logged-in desktop session. To that end, we shall have a separate tutorial, which shows how to optimize SDDM for HD/UHD screens, including scaling.
There were a few other problems. I wanted to check which proprietary drivers were in use. But Kubuntu does not ship with the drivers utility by default. I had to install it manually.
sudo apt-get install kubuntu-drivers-manager
Then, the utility would not display any results, it was stuck collecting information.
I had to rebuild its search index manually before it deigned showing me the list of drivers.
Why should this EVER be an issue, beats me.
The desktop was also set for single-click. Why? Then, with Nvidia drivers, you get a nice, hi-res boot splash, which is really nice (finally), but the rotating wait-for-application icon animation inside the desktop renders too fast. Typically, the wait animation is a clockwise-spinning circle of colors with 1rpm frequency. Here, the circle was spinning rapidly, something like 4-5 rpm.
Performance, heating, applications, all that. Well, let's see. Overall, decent. The laptop is sprightly enough, even though the fans kick in quite a lot. Resource usage stands at about 550 MB idle. The CPU revs up a fair deal, hence the noise, but then settles to almost zero when there's no other activity. But in this regard, it's not different from Windows 8.1. The battery usage is also similar to the second resident operating system - maybe 2 hours of light-to-moderate usage at 50% brightness.
The hardware side of things seems quite decent - everything worked, including sleep & wake. The only "bad" thing that comes to mind is a notification from KWin that desktop effects were restarted after resuming, but I can't find any negative effect to this thing.
The touchpad was also correctly configured - no silly tapping - contrast this with the single-click mouse thingie. If anything, my impression is that the Synaptic driver works better under Plasma than it does in Windows 8.1. Normally, I hate using touchpads, and on this box in particular, but less so with Kubuntu.
On the application fronts, things are really good. All of the software, including GTK applications, renders just fine. For instance, GIMP and LibreOffice look sharp, clean, elegant. I also had no problem installing or using all sorts of other programs that I like or need. When it comes to encryption, I was also able to install both TrueCrypt and VeraCrypt, without problems, and there were no libraries missing. A promising start.
This would be the end of part one of my IdeaPad Y50-70 Linux saga. Overall, the experiment went well. But there were problems. Cardinally, HD/UHD scaling in Plasma before 5.20 is still rather meh, and I needed a lot of manual work to get things sorted. The desktop also had some rather rough edges, for no good reason.
On the bright side, the hardware compatibility is top-notch, performance and responsiveness are more than reasonable for a seven-year old laptop with a 5,400rpm mechanical disk, and Kubuntu sure looks the part, plus you get a decent spread of good applications. But now we must up the game [sic]. I intend to test the gaming side of things as well, which will surely be rather interesting. Anyway, that would be all for now. Hopefully, this was an entertaining little exercise. GRUB and SDDM 4K scaling tutorials coming soon.