Optimizing Linux for an AMD Xiaomi/Framework Laptop
jdecourval.com
jdecourval.com
Yet, it makes me feel like the situation is not changing that much on Linux for laptops: most of this should be more automated IMO.
An apple silicon MacBook Pro is quite a bit more expensive, but all of that has mostly been done for you and mostly “just work”, and there is value in that.
Installing something like Fedora is super easy.
This is an archlinux user. You cannot automate and generalize personal opinions and settings. For 1 user that wants his screen to go down to 60Hz on battery you might have 5 who will say they can't use a computer with such a low refresh rate.
A user who wants something that "just work" would have installed his computer with the latest Fedora, Mint or Ubuntu and would be using the default desktop with default sane defaults and terminal and would have been perfectly happy with it.
Having said that, my guide does use some advanced or very recent tricks that are not done by most distros. To which extent all of that help? Hard to say, but we are clearly in the premature, but fun, optimizations territory.
I don't need to do any of these things with Fedora or Suse.
Of course some tweaks might actually have an effect. There are probably actual differences between different pstate driver modes or governors. (But even then it might be dubious whether you need to or should tweak them with TLP since power-profiles-daemon should supersede it in terms of energy/perf policy.)
Pop! OS, Ubuntu, Fedora, & Mint have each been tested and had similar flaws, although Fedora was the only one that automatically reconnected my bluetooth speakers on wake.
I'm going to use this post to more thoroughly examine what information I can learn about my laptop and see if I can uncover where the weaknesses are and how to resolve them.
If your Legion has a discrete GPU, that might be outside of the tweaks in the post, though.
I'm mostly using it on my desktop, but have setup laptops for friends. Of course System76 that makes Pop sells hardware, so I'd expect them to do better than most in that space.
I had never heard of this. Of course, checking on my new NVME SSD I also get the suboptimal 512 bytes. I won't do a reinstall for this, but I wonder how large the performance impact actually is?
What supposedly really kills performance is if your filesystem's blocks are unaligned with the real physical sector size (4k), but most FS correctly handles this: https://wiki.archlinux.org/title/Advanced_Format#File_system...
The flash itself probably has a page size of at least 16kB, and erase block size of several MB, but trying to align and chunk your IO to those boundaries has marginal benefits.
As long as you don't have partitions that are misaligned relative to 4kB boundaries, you're fine.
This makes me want to buy a new laptop and install arch on it :) Big kudos to the author.
I am also running btrfs (as the default disk partitioning on Fedora 40). I used to do regular snapshots with snapper on my laptop but at some point ~20% of my SSD were reserved for metadata. From that only 10% was used (so 2% overall) without any apparent possibility to reduce the reserved space.
These days, I do snapshots only on my homeserver (which is running syncthing) but not on my laptop.
> These days, I do snapshots only on my homeserver (which is running syncthing) but not on my laptop.
You should try btrbk one day. I had a much better experience with it than with snapper.
No buyers remorse but also look at Lenovo outlet. Unclear if certified refurbished is as good as Apple's but they have "new" labeled laptops which are way cheaper than the similar ones on main lenovo.com. Don't focus on the percent off label, if I tried to buy a Thinkpad t16 gen 2 "new" from the outlet it says it's 20% off 1k=800, but if I tried to buy it from lenovo.com it starts at 1.4k base
Excellent article though, I've integrated the parts I found interesting into my nixos config.
Happy to see another btrbk mention, it really is great!
It would also be interesting to see an "all default" install (arch or manjaro) somewhere, is someone knows a link.
I only confirmed that the GPU is indeed clocking correctly, and using the appropriate power profiles. The games I tried all ran flawlessly, but I had less success with ROCm or Vulkan acceleration in Lllama.cpp.