What have I learnt from installing Linux on my new laptop

Nelson's Cave

Anybody who has sat with me in front of a com­puter might have heard me ran­domly rant­ing at Windows. Sometimes I fear I am not qual­i­fied enough to rant in such a way. Sometimes I’m reminded any­way that no rants are enough in this mat­ter. Either way, the day has come. While I still have a Windows-based job, I’m finally erad­ic­at­ing Windows at home. It’s time to learn some­thing new. I installed Linux on my new laptop.

For the last three years, I’ve been liv­ing on an old inher­ited Sony Vaio. As soon as I got it, I upgraded memory and drive, the memory to a 16GB DDR3 Kingston HyperX Impact, and the drive to a 512GB SSD Samsung 850 EVO. Most espe­cially get­ting away from the old spin­ning disks to the SSD was the biggest dif­fer­ence, and I can’t recom­mend this enough: do not ever again run a com­puter on HDD. This upgrade made the com­puter usable for some time, but even­tu­ally, a slow Intel i5 3rd-gen with very noisy fans and a poor screen bogged me too much.

And after a sum­mer of sav­ings, I got a new laptop. Dell XPS 15 9570, with 32GB DDR4 RAM, 1TB M.2 Samsung SSD, a six-core i9-8950HK with UHD 630 integ­rated graph­ics and a ded­ic­ated NVIDIA GeForce GTX 1050Ti with 4GB GDDR5 (that is giv­ing me noth­ing but trouble, btw, Nvidia people…). Just raw horsepower here.

And it was my goal for a long time: the next com­puter I buy, it will only have Linux on it!

Now, time for the les­sons.

Windows doesn’t like any neighbours

Thinking I might someday need Windows, for any reas­on, my ori­gin­al plan was to keep Windows installed on that SSD I would res­cue from the old com­puter. But Windows, unlike Linux (and most Unix-based OSs for that mat­ter), is too selfish to let you give him noth­ing that a main intern­al drive. And even if you do and go for dual boot­ing, how many times a Windows“ update does reset the boot­ing sys­tem to boot only Windows reaches unbe­liev­able num­bers.

So with this, I sur­rendered. Hey, I still have a Windows“ based job, in case I need for whatever reas­ons a Windows com­puter. And there’s VirtualBox, and Wine, and my girlfriend’s old laptop… And talk­ing about VirtualBox, a gen­er­ous 32GB of DDR4 memory is a good chance to set up some vir­tu­al machines and exper­i­ment: NixOS, FreeBSD, and DragonFly, are the ones I’m hav­ing fun with at the moment, so far learn­ing a lot about filesys­tems, the hard way, but that’s a top­ic for anoth­er day.

Manufacturers rarely care for what doesn’t pay

Yes, this is per­haps the only reas­on why Windows would be any bet­ter than Linux, and it comes from very unfair reas­ons. If you’re a com­puter man­u­fac­turer, you want your product to pay off. You sell with whatever gives you more money. If most people use their com­puters with Windows, you make sure your product is 100% com­pat­ible with Windows. If very few people use any­thing else, the costs of ensur­ing com­pat­ib­il­ity are often not enough to equal the pay­off from how many cus­tom­ers would you actu­ally get. So here Linux is left alone, it is the Linux com­munity who does the dirty job. Just have a look at that infam­ous opin­ion Linus Torvalds has on NVIDIA for example.

And it goes not only to NVIDIA. Most mother­boards face the same prob­lems. When ACPI – the pro­tocol for hard­ware com­mu­nic­a­tion – was stand­ard­ised (by no one else than Intel and Microsoft – mono­poly smell here), the Ubuntu com­munity com­pared it quite accur­ately with Trojan Horses. And to add insult to injury, hard­ware man­u­fac­tur­ers would deac­tiv­ate fea­tures of their hard­ware upon detect­ing that they were boot­ing Linux because these were nev­er tested with Linux, and as we all know, bor­ing hard­ware is bet­ter than crash­ing hard­ware. Hence put­ting Linux in dis­ad­vant­age and mak­ing the ker­nel since some­where around ver­sion 2 to have to fake being a Windows ker­nel, so it could get the full fea­tures.

The internet has been the most useful tool in my life

Once, in high school, a teach­er, actu­ally of inform­at­ics, by the way, said once that in this age of the inter­net, you won’t meas­ure your cap­ab­il­it­ies, nor pre­dict how your future will look like, by how much you know. Rather, your abil­it­ies to find inform­a­tion and digest it quickly will pay a much big­ger role.

Every prob­lem found a solu­tion there. ACPI con­fig­ur­a­tion, recom­men­ded drivers, extens­ive com­par­is­ons of Linux dis­tros (although in the end, I went for simple-start Ubuntu 18.10, although on con­tinu­ous ker­nel upgrades, just to be a bit more bleed­ing-edge – and yes, some­times it bleeds).

Linux is just unbelievably modular and extensible

And I want to make my soft­ware like that! If you think of Windows or MacOS, it’s a one-big-thing kind of product. Everything in your com­puter comes bundled togeth­er in a way you wouldn’t think it could actu­ally be broken in very inde­pend­ent pieces. And this is what makes Linux so com­plic­ated, decision-mak­ing-wise: Linux is only the ker­nel. But a stand-alone ker­nel doesn’t make it for a pleas­ant com­puter exper­i­ence. Bundle it togeth­er with a Desktop Environment, and Initialization Daemon, a File Manager, a Terminal, your favour­ite apps, and a ton of pack­ages, in pretty much any way you’d like to mix, shake it, and serve your­self your cus­tom-made Operating System.

Including the option of hav­ing a cus­tom­ised win­dow man­ager that can vir­tu­al­ize entire new mon­it­ors, that can then be pro­jec­ted over the net­work and dis­played in an entirely dif­fer­ent device: pre­cisely what I’m doing with my very old iPad using an x11vnc serv­er!

A TL;DR;

My biggest take from this whole exper­i­ence is that com­puters are, well, just a bunch of pieces of met­al that serve a com­pu­ta­tion­al pur­pose. Why shouldn’t they be fully cus­tom­iz­able?

Leave a Reply