Framework Laptop 13 review
This year was the year of hardware upgrades for me: In January, I replaced my 13 years old i7-2600 desktop with a much more modern 7950X3D system, and a few months later, my 8 years old i5-6200U laptop showed its first signs of disintegration, calling for a replacement. A few years back, this would have meant that I needed to compare various models from various vendors, but that’s no longer the case: There’s one laptop vendor that’s so obviously superior to all others that it’s really a no-brainer (unless you’re on a really tight budget). This vendor is, of course, Framework, and so I got myself a Framework Laptop 13 (AMD Ryzen 7040 Series) and installed Kubuntu on it. Since this is the first time I use KDE Plasma as by daily driver, the following article is also partly a review of that desktop environment, not just the new hardware I run it on.
Why Framework?
I just matter-of-factly said Framework is the obvious choice if you’re shopping for a new laptop computer, but let me elaborate a bit. Traditionally, there have been three types of laptop/notebook computers (with somewhat blurred lines between the categories of cource): First, there’s the OEM models sold under various brands that are all based on barebone systems from ODMs like Clevo. These are relatively cheap, but not necessarily bad – some of those OEMs have a pretty good reputation, and some like System76, Tuxedo or Slimbook even specialize in providing a good Linux experience. Next, there’s the »regular« models from the usual vendors like Acer, Asus, Dell, HP, Lenovo etc. that are entirely unremarkable; and finally, there’s the high-end »halo« products like Dell’s XPS series or whatever stuff Apple produces. The common theme so far is that the more expensive and premium a device is, the less upgradeable and repairable it will be. In the highest tiers, neither battery nor storage nor memory are exchangeable, and this is exactly where Framework comes in. They position themselves in the high-end category, but with a completely modular design. This was outright revolutionary when they launched in 2020, and even though this caused some other manufacturers to partly re-think their position on modularity and repairability, there’s still nothing that comes close to what Framework provides. So, if you want a laptop that’s not only good at the usual laptop things, but also widely configurable and with every component replaceable, including the mainboard, it’s the only option.
Why Kubuntu / KDE Plasma?
My first Linux distribution was, as was typical for many German Linux users in the late 90s, S.u.S.E. Linux, but I immediately converted to Debian once I saw how awesome APT is. A few years later, Ubuntu emerged as a natural evolution of Debian that was more desktop-focused, but still retained the good dpkg+APT base, so this became – and still is – my distribution of choice, despite some quite questionable decisions done by Canonical (the company behind Ubuntu). Regarding the desktop environment, I used IceWM and KDE 3 in the past, but then KDE 4 came out, which was a horrible broken mess that nobody asked for, so I switched to the Debian/Ubuntu default of GNOME 2. A little later, GNOME did a major misstep too with the release of version 3, but fortunately, there was a derivative called GNOME Fallback / GNOME Flashback that turned the horrible GNOME Shell into a more or less normal desktop environment again. Many years passed since, and GNOME steadily deteriorated further, while the KDE folks got their act together and provided a decent desktop environment again with version 5. Seeing that there’s a general trend towards KDE right now and gaining some first-hand experience with KDE Plasma on the Steam Deck (where it’s the default desktop), I decided to use the hardware change as a perfect excuse to take the plunge and go back to KDE after 16 years.
I got my Framework Laptop in August, and Kubuntu 24.04 LTS was the newest version back then. Unfortunately, this still shipped with KDE Plasma 5.x instead of the freshly released 6.0. (There were distributions with KDE Plasma 6 already, but those were based on the very outdated Ubuntu 22.04 LTS.) I upgraded to Kubuntu 24.10 with Plasma 6.1 in October, so I got to know both versions of KDE’s desktop.
The Framework Experience
I ordered the DIY edition instead of a pre-built device, for multiple reasons: I wanted the self-build experience, it’s a bit cheaper, and you can more easily mix&match with components you got from elsewhere. In my case, this was the RAM (simply because it costs 40% less this way) and the SSD (because I already had one).
The laptop ships directly from the factory in Taiwan and comes in an unassuming brown cardboard box. It’s on the inside that the magic happens: The base device, the keyboard cover, the screen bezel, the I/O modules and (normally) RAM and SSD all come separately, some of them even packaged in small boxes themselves. The base unit already contains the mainboard, battery, WiFi module, antennas, loudspeakers, display, and webcam, all pre-assembled. Everything else is up to the user to assemble, and that process is really a pleasure to do. All components are clearly labeled, only two types of screws are used throughout the entire chassis (one of which I didn’t even need); a suitable screwdriver comes in the package. The keyboard cover snaps into place with magnets and is then finally mounted to the chassis with five (captive) screws. The screen bezel is only held onto the display frame with magnets, with no secondary method of attachment. The magnets are strong enough that it doesn’t come off accidentally, but you can still swap bezels within 20 seconds if you want. (Fun fact: casually peeling off one corner of the bezel and having it snap back on is a great way to start conversations about what makes a Framework Laptop special!)
The final assembly step is attaching the I/O modules (officially called »expansion cards«), which are probably the most prominent unique feature of Framework devices. The only ports exposed from the mainboard and chassis (other than a combined headphone/microphone TRRS audio jack) are four USB-C ports which are deeply recessed into the case and supposed to be populated with the modules, each of which is approximately 3×3×1 cm in size. Some of those are simple passive adapters to USB-A, USB-C or DisplayPort, but there are also modules that provide HDMI, audio, microSD, SD or 2.5G Ethernet ports, or even storage modules with small SSDs inside. Once inserted, those modules sit flush with the surface of the case, with the exception of the Ethernet module, whose socket protudes 1.5 cm outside.
The Framework Laptop 13 fits four of these modules, which just barely not enough for my needs. My standard loadout consists of a USB-C module (which is mandatory, because that’s how charging happens), a USB-A module (for USB storage devices etc.), Ethernet and SD. What’s missing is the HDMI module, which I need to swap out for another one when I need it. If there was a USB-C-PD/USB-A combo card, that would be the solution, as would be more ports. The much larger Framework Laptop 16, for example, has space for six modules, but it lacks the built-in audio port; still, it would fit my scenario exactly, while the Framework Laptop 13 doesn’t quite do so.
Another caveat: Not all of those ports are created equal. All support charging and USB 1.x/2.0/3.x peripherals up to 10 GBit/s, but only the rear two ports can also do USB 4, and only three out of four support the DisplayPort Alternate Mode, i.e. video output. These restrictions are a little annoying, but usually no deal-breaker.
The Hardware
Once assembled, you end up with a rather premium-looking modern notebook with a sleek light brushed-metal finish, albeit one that turns out to be not very resistant to scratches. It’s not quite clear which materials are used, but the outside feels more like aluminium or magnesium alloy than plastic; there’s also no flex to speak of. At 1.3 kg, it’s relatively light for its performance class.
Performance-wise, I have no complaints at all. The 8-core Ryzen 7 4840U I chose is the fastest mobile x86 CPU you could get in 2023, after all – the new (2024) Ryzens and probably also the new Core Ultras are supposedly faster, but not by much. I didn’t do any serious benchmarks, but it does compile code approximately half as fast as my 16-core desktop system, despite drawing significantly less power. And when I’m not doing any compiles, i.e. nearly 100% of the time, the system is completely silent. During intense web browsing sessions, I can occasionally hear the fan spinning up for one or two seconds, but that’s really brief and not too distracting.
The display is a matte, not very bright 13.5-inch IPS screen with the slightly unusual resolution of 2256×1504, giving a very nice 3:2 aspect ratio. (There’s also a 2.8K screen option by now, but those 2.2K pixels are already plenty, so I didn’t order that.) Contrast is good, colors are matching sRGB almost perfectly; the gamma curve, however, doesn’t, and thus some slight LUT adjustment is required to make it suitable for photo editing.
The keyboard can be summarized as »acceptable«. The layout is fairly standard, which means: not good. The up/down cursor keys are squished vertically, and there’s no dedicated keys for Home, End, Page Up and Page Down. The key feel is okay; I would have preferred if it was more clicky and less mushy, but it’s nowhere near those horrible classic ThinkPad keyboards that everyone seems to love for reasons that elude me. The keys are backlit with white LEDs in four brightness levels, which is perfectly adequate.
The touchpad is one of those new-fangled fancy things that are sacrifice physical buttons for increased surface area. I’m not at all a fan of this trend, but I must admit that the pad is … just fine. It’s nicely sensitive, doesn’t have a tendency to mis-interpret every other input like the crappy pad in my work laptop (Dell Precision 3560) does, and the click feel is just about right.
The speakers are surprisingly decent for a device this size; they don’t sound tinny at all, and the stereo separation is almost uncannily good. The built-in webcam, too, is really good for its size, despite being only the older first-generation model. (In true Framework fashion, there’s multiple models, and you can upgrade if you want.) Another nice touch is that the microphone and webcam have hardware privacy switches to disable them if needed.
I was a bit concerned about the WiFi/Bluetooth module, which is based on a MediaTek MT7922, rebranded as AMD RZ616. It has a reputation for being rather unreliable, but so far, I didn’t have any issues with it. And even if it should turn out to be problematic in the future, I can still swap it with an Intel AX210 card for less than 20 bucks.
Papercuts
The one thing that Framework Laptops frequently struggle with, is power management. Their first generation of mainboards are infamous for having ridiculously high standby power consumption, and even though it’s supposedly fixed by now, a co-worker who has one of these devices is still turning it off every day instead of using standby.
I’m happy to report that the AMD 7040 Edition of the Framework Laptop 13 is free from extreme issues like these. Runtime is of course nowhere near those of the current Mx, X1 or Lunar Lake crops of devices, but at a discarge rate of roughly 10% per hour for light usage, it’s not bad either. In standby, it’s about 1% per hour – not great, not terrible. A charging limit can be configured in the UEFI Setup, which is a very welcome way to prolong the battery’s lifetime by ensuring it’s not charged above, say, 80%.
Unfortunately, that’s where the good news end. While there is a charging indicator LED, there’s nothing that indicates the current power state of the device. When you close the lid, you essentially get Schrödinger’s Laptop: Is it off? Is it in standby? Is it fully on? There’s no way to check except opening the lid again, in which case you still don’t know whether it was in standby or not, because this thing is almost frighteningly quick at waking up from standby – it’s right about the time it takes to open the lid, so maybe one second, not much more.
I really don’t get why there’s no indicator for this, especially because there is a currently completely unused LED at the right side of the chassis that would be ideal for this purpose.
To add insult to injury, you can’t even rely on it being in the state you expect it to be in: it wakes up from standby if you just look at it wrong! One night, I put it in standby by pressing the power button, closed it, packed it into a sleeve … and when I removed it from there the next morning, it was pretty warm and ate through almost 50% of the battery, because it was, in fact, not sleeping. As it turns out, closing(!) the lid is one of the things that wakes it up. The only somewhat reliable way to control standby is by closing and re-opening the lid, and never touching the power button; bonus points for also disabling every other possible wakeup source by running acpitool -W
(capital W
) for everything that acpitool -w
(lowercase w
) reports as enabled.
Another gripe is that even in standby mode, not all devices are turned off. The Ethernet adapter, for example, is still happily blinking along. It’s surprisingly energy efficient at doing so, with only negligible impact on standby power consumption, but still: why? If I put a computer in standby, I expect it to not power anything that’s attached to it.
Also not nice: There seems to be an environment light sensor somewhere, and it’s causing the screen brightness to change erratically all the time – not by a lot, but enough to be noticeable and distracting. There’s no user-friendly way to disable this (like in the UEFI Setup or something like that); adding the kernel parameter amdgpu.abmlevel=0
does the trick though.
In theory, all of these issues are fixable. Framework uses an embedded controller with open-source firmware, just like the Chromebooks do, so it would be possible to have a firmware update that adds a status LED, turns off USB devices during sleep and offers an option to disable the environment light sensor altogether, but then again, the mainboard I’m using has been launched over a year ago, and it’s still not fixed, the last commit in the repository is half a year old, and there hasn’t even been an update of the x86 side of the firmware for months, so I won’t hold my hopes up high.
The KDE Experience
KDE is the antithesis to GNOME. While the latter follows the Apple philosophy of being extremely opinionated and shoving what they think is best down every user’s throat, KDE is extremely flexible and configurable. So much so that it can be outright confusing: the Settings app is already quite comprehensive (and thankfully has a search function!), but additional settings need to be done for the usual system apps like Konsole or the Dolphin file manager, and the taskbar is configured using not one, but multiple different modal configuration views with different options on each. This can be intimidating, and I won’t fault anyone for staying clear of KDE because of this, but let me stress again that all of this is optional personalization stuff. The defaults are already quite sane and get you 80-90% of the way; you only need to go deep down into the bowels of the config dialogs if you want to make the desktop truly yours. And at least there are dialogs and UIs for everything; in contrast to what is regularily required to make GNOME bearable, I never needed to mess around with third-party tweaking tools, config files or even dconf
(»we won’t call it the Registry, but it totally is«).
Anyway, at the end of however much configuration you do, you’ll end up with a nice, modern, functional desktop that doesn’t get in the way – and if something does get in the way, I bet you can disable it.
KDE is not free of bugs, though, and both versions I used (5.27 and 6.1) have at least some of them, but unfortunately no truly critical ones. On both versions, fingerprint reader integration just plain doesn’t work – the UI says I can unlock the device by putting my finger on the power button, but it just doesn’t do anything. The reader itself works fine though; fprintd-verify
does what it’s supposed to do, and enrolling the fingerprints also worked perfectly in 5.27 (in 6.1, the enrollment UI is broken and only shows up an empty window and QML error messages in the syslog).
Also, screen locking behaves strangely in 6.1: When waking the device up from standby, I can see the desktop for about the second before the lock screen comes up – which is the one thing that a lock screen absolutely shouldn’t do! Granted, I’m using X.org (because Wayland still doesn’t have color profile support … hey, it’s only 16 years old, you can’t expect basic functionality like this to be available after such a short time already!), which is said to be particularily susceptible to issues like this, but then again, 5.27 worked absolutely flawlessly in this regard, so this is clearly a regression.
One inherent drawback of KDE, and the reason I didn’t switch much earlier, is KIO. It’s not bad per se, but in contrast to its GNOME equivalent, GVFS, its FUSE integration is an ugly mess. It does recognize some KIO-unaware applications and allows e.g. LibreOffice to edit files directly from a NAS’s SMB share or an MTP phone, but trying to play video files with mpv just fails unless you mess around with the X-KDE-Protocols
line in its .desktop
file. This is, by some margin, the least user-friendly aspect of KDE.
Conclusion
What can I say? I’m very happy with my purchase. It’s slick (it has been mistaken for a MacBook at one point, which can be considered equal parts praise and offense), it’s fast, it’s a pleasure to use, but it’s not perfect. There are caveats, but I don’t consider them to be critical, and I don’t believe that any other device would have significantly less issues. The big plus is of course the modularity and repairability – if anything breaks or turns out insufficient, I can swap it out instead of throwing the entire laptop into the bin, and that’s something that’s just not possible with any other laptop.
Let’s conclude with an Ars Technica style summary:
The good
- The most modular and repairable notebook on the market by a mile.
- Despite that, it’s still small and light, with a nice design.
- Good hardware components, good overall performance and efficiency.
The bad
- More expansion card slots would have been nice.
- Relatively sensitive to scratches.
The ugly
- Power management is still not a solved problem after four years.