From 9a18f012110eaf438db9a259f2c1207d3613e0e7 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 5 Dec 2022 09:46:00 -0500 Subject: Add draft thinkpad x1 post. --- posts/2022-12-05-guix-thinkpad-x1-10th-gen.md | 81 +++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 posts/2022-12-05-guix-thinkpad-x1-10th-gen.md diff --git a/posts/2022-12-05-guix-thinkpad-x1-10th-gen.md b/posts/2022-12-05-guix-thinkpad-x1-10th-gen.md new file mode 100644 index 0000000..c73efbe --- /dev/null +++ b/posts/2022-12-05-guix-thinkpad-x1-10th-gen.md @@ -0,0 +1,81 @@ +title: Setting up Guix on a 10th gen Thinkpad X1 +date: 2022-12-05 12:00:00 +tags: guix, thinkpad +summary: A document of my experience setting up Guix on a new Thinkpad X1 +--- + +The last time I bought a laptop, I got a [used Thinkpad X220 from +eBay](/liberating-a-thinkpad-x220.html). I loved that laptop, but +time marches on and old hardware eventually becomes too slow for +modern development needs. After a lot of indecision, I bought a 10th +generation Thinkpad X1 with an Intel Core i7-1280P CPU, 32GB RAM, and +1TB NVMe SSD. While they don’t make Thinkpads like they used to, I’m +still really happy with it and glad I chose it. Despite the keyboard +changes, the TrackPoint™ is still there and I don’t think I could feel +good using a laptop without it. Below I will explain all the steps I +took to get the Guix distribution setup nicely on it. + +## But first, a tangent about proprietary firmware + +I'm going to talk about proprietary firmware now. If you don't care, +which is totally understandable, skip to the next section. + +I wanted to use Guix, which uses +[Linux-libre](https://www.fsfla.org/ikiwiki/selibre/linux-libre/), on +whatever laptop I got, but I knew the situation with regards to +proprietary firmware blobs on laptops has only gotten worse in recent +years. Unfortunately, despite there being more free/open drivers than +ever (such as for AMD GPUs), those free drivers are often accompanied +by proprietary firmware. After an exhaustive search of the laptops +that can run without any proprietary software blobs (such as the +Librem 14), I wasn't really feeling good about buying any of them. +Newer generations of the Intel Core line of CPUs with new integrated +Xe graphics hardware now require proprietary firmware. Intel wireless +cards have required proprietary firmware for a long time. Even Intel +sound hardware requires proprietary firmware! Then, there's the +longstanding CPU microcode update issue. Linux-libre removes +microcode updates, which are all proprietary, so users of Linux-libre +do not receive critical security fixes to CPU-level vulnerabilities. +Of laptops that were Linux-libre compatible, the Librem 14 seemed the +best. It uses older Intel 10th gen Core CPUs, the last generation that +can be used with Linux-libre and still have hardware accelerated +graphics. + +While I would certainly like a world where all devices were run with +free/open firmware, I've come to find this "no proprietary firmware" +stance of the GNU Free Distribution Guidelines to be a hindrance to +the spread and adoption of free software. The FSF's (really, RMS's) +stance on the firmware issue isn't exactly based on a solid foundation +anyway. Firmware on nearly every device is proprietary, but most +devices have the firmware “baked in” and do not need it loaded at +system boot time. So, from the FSF's perspective, we can make an +abstraction: A device may or may not have proprietary firmware on it, +but if we never have to load firmware then we can treat it as if it +were hardware. It's only once the kernel gets involved that +proprietary firmware becomes an issue, because the hardware maker now +has the opportunity to provide malicious firmware updates. Okay, I +get the abstraction and the potential risk, but it feels like a cop +out. The lack of CPU microcode updates on fully free systems is the +most damning evidence that this stance is a net-negative that I’m +aware of. All of those users (myself included, on many past +computers) are vulnerable to well-known issues that are patched in +microcode updates! I'm a big free software guy, but we don't have our +priorities straight here. Lack of firmware is *the biggest* blocker +for people who *want* to use as much free software as possible. They +often attempt to install a fully free distro only to find out that +they can’t connect to the Internet because their wireless card +requires a blob and our answer is “buy new hardware.” I think we need +to make a tactical retreat from the firmware battle and meet people +where they are at. + +Anyway, I decided to abandon Linux-libre. While Guix itself does not +provide vanilla Linux (with firmware blobs), Guix allows for adding +unofficial package repositories called “channels.” One such +repository is [nonguix](https://gitlab.com/nonguix/nonguix) which does +have Linux and a bunch of other stuff, like Firefox. It’s very nice +and I recommend it! Thanks to the good folks who maintain it! Guix +should drop the FSDG requirements! RMS will be mad but that’s okay! + +## Initial barebones installation + +## Full installation -- cgit v1.2.3