:teto:
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2024-08-23 -->
|
||||
<!-- 2025-04-24 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Framework Laptop Review</title>
|
||||
@@ -207,13 +207,13 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
|
||||
<div id="outline-container-orgdef9c33" class="outline-2">
|
||||
<h2 id="orgdef9c33">My Experience with the Framework Laptop</h2>
|
||||
<div class="outline-text-2" id="text-orgdef9c33">
|
||||
<div id="outline-container-org9fdc0c1" class="outline-2">
|
||||
<h2 id="org9fdc0c1">My Experience with the Framework Laptop</h2>
|
||||
<div class="outline-text-2" id="text-org9fdc0c1">
|
||||
</div>
|
||||
<div id="outline-container-orga5a2fd7" class="outline-3">
|
||||
<h3 id="orga5a2fd7">Ordering</h3>
|
||||
<div class="outline-text-3" id="text-orga5a2fd7">
|
||||
<div id="outline-container-org3608292" class="outline-3">
|
||||
<h3 id="org3608292">Ordering</h3>
|
||||
<div class="outline-text-3" id="text-org3608292">
|
||||
<p>
|
||||
I’d been eyeing the <a href="https:frame.work">Framework laptop</a> since somewhere in October 2021, but the EU release got delayed and they were very hesitant to give time estimates. I only managed to get my hands on it in late February, and I ended up having to have it delivered to France. I understand the difficulty of setting up logistics especially these days, but I broke my previous laptop and being stuck in limbo like this was not fun.
|
||||
</p>
|
||||
@@ -225,13 +225,13 @@ I asked their customer service to make a small change to the delivery address, b
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org55d34dc" class="outline-3">
|
||||
<h3 id="org55d34dc">Set-up</h3>
|
||||
<div class="outline-text-3" id="text-org55d34dc">
|
||||
<div id="outline-container-org2a837a9" class="outline-3">
|
||||
<h3 id="org2a837a9">Set-up</h3>
|
||||
<div class="outline-text-3" id="text-org2a837a9">
|
||||
</div>
|
||||
<div id="outline-container-orgaf76243" class="outline-4">
|
||||
<h4 id="orgaf76243">Hardware</h4>
|
||||
<div class="outline-text-4" id="text-orgaf76243">
|
||||
<div id="outline-container-org3f19395" class="outline-4">
|
||||
<h4 id="org3f19395">Hardware</h4>
|
||||
<div class="outline-text-4" id="text-org3f19395">
|
||||
<p>
|
||||
I got the DIY edition with the (lowest-end) i5-1135G7 CPU, 2x16GB RAM. I brought my own 1TB SSD. The higher spec CPUs didn’t seem worth the money to me. The RAM is probably overkill.
|
||||
</p>
|
||||
@@ -259,9 +259,9 @@ The more you look at it, the nicer it gets!
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org74475b7" class="outline-4">
|
||||
<h4 id="org74475b7">Software</h4>
|
||||
<div class="outline-text-4" id="text-org74475b7">
|
||||
<div id="outline-container-orge4c4da6" class="outline-4">
|
||||
<h4 id="orge4c4da6">Software</h4>
|
||||
<div class="outline-text-4" id="text-orge4c4da6">
|
||||
<p>
|
||||
I installed Gentoo GNU+Linux on the laptop, just like I have on my desktop. I used an Ubuntu live CD as the install medium together with the Gentoo stage3 tarball, and it worked well. I didn’t really have to jump through any laptop-specific hoops, it was a very nice experience. I did use the dist-kernel rather than configuring my own.
|
||||
</p>
|
||||
@@ -271,9 +271,9 @@ The laptop held up well during compiling. It’s not as fast as a desktop of
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf086f39" class="outline-5">
|
||||
<h5 id="orgf086f39">Display scaling</h5>
|
||||
<div class="outline-text-5" id="text-orgf086f39">
|
||||
<div id="outline-container-orga6cd787" class="outline-5">
|
||||
<h5 id="orga6cd787">Display scaling</h5>
|
||||
<div class="outline-text-5" id="text-orga6cd787">
|
||||
<p>
|
||||
Simply setting <code>Xft.dpi: 192</code> in .Xresources was enough for the vast majority of applications to use 2x scaling, which looks very good on this display. This is on X11 obviously; I don’t use Wayland.
|
||||
</p>
|
||||
@@ -283,36 +283,36 @@ The odd application requires its own scaling setting. Rofi requires setting <cod
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgcf57e1c" class="outline-5">
|
||||
<h5 id="orgcf57e1c">Display manager</h5>
|
||||
<div class="outline-text-5" id="text-orgcf57e1c">
|
||||
<div id="outline-container-orgc55d80a" class="outline-5">
|
||||
<h5 id="orgc55d80a">Display manager</h5>
|
||||
<div class="outline-text-5" id="text-orgc55d80a">
|
||||
<p>
|
||||
I used SDDM which works very well. I wanted to go for something a bit fancier looking, and this delivers. I don’t usually use things in the whole QT ecosystem, so it’s refreshing.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfefb463" class="outline-5">
|
||||
<h5 id="orgfefb463">Hibernate/suspend-to-disk</h5>
|
||||
<div class="outline-text-5" id="text-orgfefb463">
|
||||
<div id="outline-container-orge4fd960" class="outline-5">
|
||||
<h5 id="orge4fd960">Hibernate/suspend-to-disk</h5>
|
||||
<div class="outline-text-5" id="text-orge4fd960">
|
||||
<p>
|
||||
This required setting up a swap file and setting a kernel command line parameter to refer to it, but it was easy to do. It works well. I’ve observed the laptop auto-hibernating when the battery runs out, but it doesn’t do this reliably, so I should probably configure it myself.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org03e8153" class="outline-5">
|
||||
<h5 id="org03e8153"><a href="http://guake-project.org/">Guake</a>-like transient terminal</h5>
|
||||
<div class="outline-text-5" id="text-org03e8153">
|
||||
<div id="outline-container-orgd62046c" class="outline-5">
|
||||
<h5 id="orgd62046c"><a href="http://guake-project.org/">Guake</a>-like transient terminal</h5>
|
||||
<div class="outline-text-5" id="text-orgd62046c">
|
||||
<p>
|
||||
Using some <code>fish</code> scripts, <code>bspwm</code>, <code>picom</code> and <code>xst</code> I rigged up a transient, transparent terminal to use for quick shell jobs. I used the scripts and config file in <a href="#org080fbbf">Appendix A</a> to do this. The implementation is a bit hacky, and it’s not impossible to break, but it serves my purposes well (and more important, it was fun to make)!
|
||||
Using some <code>fish</code> scripts, <code>bspwm</code>, <code>picom</code> and <code>xst</code> I rigged up a transient, transparent terminal to use for quick shell jobs. I used the scripts and config file in <a href="#org1977cca">Appendix A</a> to do this. The implementation is a bit hacky, and it’s not impossible to break, but it serves my purposes well (and more important, it was fun to make)!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org80a38e4" class="outline-5">
|
||||
<h5 id="org80a38e4">Wallpaper-setting script</h5>
|
||||
<div class="outline-text-5" id="text-org80a38e4">
|
||||
<div id="outline-container-orge3bccc1" class="outline-5">
|
||||
<h5 id="orge3bccc1">Wallpaper-setting script</h5>
|
||||
<div class="outline-text-5" id="text-orge3bccc1">
|
||||
<p>
|
||||
I wrote a script to set a random wallpaper.
|
||||
</p>
|
||||
@@ -339,11 +339,11 @@ I wrote a script to set a random wallpaper.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb45189b" class="outline-5">
|
||||
<h5 id="orgb45189b">Lockscreen</h5>
|
||||
<div class="outline-text-5" id="text-orgb45189b">
|
||||
<div id="outline-container-org16c82e4" class="outline-5">
|
||||
<h5 id="org16c82e4">Lockscreen</h5>
|
||||
<div class="outline-text-5" id="text-org16c82e4">
|
||||
<p>
|
||||
I hacked together some <a href="#org4349eb8">pretty crappy code</a> to lock the screen using <code>i3lock</code>, with my wallpaper composed with a little lock icon as the background. Very overengineered.
|
||||
I hacked together some <a href="#org8c10df1">pretty crappy code</a> to lock the screen using <code>i3lock</code>, with my wallpaper composed with a little lock icon as the background. Very overengineered.
|
||||
</p>
|
||||
|
||||
<p width="60%" class="center">
|
||||
@@ -357,34 +357,34 @@ Is there a better lockscreen out there that will let me set my own image as the
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2d8aae1" class="outline-5">
|
||||
<h5 id="org2d8aae1">TODO</h5>
|
||||
<div class="outline-text-5" id="text-org2d8aae1">
|
||||
<div id="outline-container-org833202b" class="outline-5">
|
||||
<h5 id="org833202b">TODO</h5>
|
||||
<div class="outline-text-5" id="text-org833202b">
|
||||
</div>
|
||||
<ul class="org-ul">
|
||||
<li><a id="org65cc57b"></a>Battery level notifications<br></li>
|
||||
<li><a id="org01bd657"></a>sleep-then-hibernate<br></li>
|
||||
<li><a id="org0f94c11"></a>Battery tuning<br></li>
|
||||
<li><a id="orga65eb89"></a>Battery level notifications<br></li>
|
||||
<li><a id="org70971ed"></a>sleep-then-hibernate<br></li>
|
||||
<li><a id="orgf84adca"></a>Battery tuning<br></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgd1743de" class="outline-3">
|
||||
<h3 id="orgd1743de">Impressions</h3>
|
||||
<div class="outline-text-3" id="text-orgd1743de">
|
||||
<div id="outline-container-org272cd0d" class="outline-3">
|
||||
<h3 id="org272cd0d">Impressions</h3>
|
||||
<div class="outline-text-3" id="text-org272cd0d">
|
||||
</div>
|
||||
<div id="outline-container-org7816877" class="outline-5">
|
||||
<h5 id="org7816877">Build Quality</h5>
|
||||
<div class="outline-text-5" id="text-org7816877">
|
||||
<div id="outline-container-org3df8987" class="outline-5">
|
||||
<h5 id="org3df8987">Build Quality</h5>
|
||||
<div class="outline-text-5" id="text-org3df8987">
|
||||
<p>
|
||||
The laptop is made of aluminium and feels solid but light. The screen does seem pretty flimsy, though. I probably wouldn’t want to drop this thing. It looks sleek and elegant, but pretty muted.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2bea490" class="outline-5">
|
||||
<h5 id="org2bea490">Screen</h5>
|
||||
<div class="outline-text-5" id="text-org2bea490">
|
||||
<div id="outline-container-org3ee804a" class="outline-5">
|
||||
<h5 id="org3ee804a">Screen</h5>
|
||||
<div class="outline-text-5" id="text-org3ee804a">
|
||||
<p>
|
||||
This is my first time ever using a high-DPI screen, and I’m very impressed by it. Text looks unbelievably crisp and pleasant to read. I was somewhat worried about the linux high DPI situation, but I am having no issues whatsoever.
|
||||
</p>
|
||||
@@ -399,27 +399,27 @@ The brightness goes up quite high, but colours feel somewhat washed out at high
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdeb83fe" class="outline-5">
|
||||
<h5 id="orgdeb83fe">Keyboard</h5>
|
||||
<div class="outline-text-5" id="text-orgdeb83fe">
|
||||
<div id="outline-container-orgae6b1ca" class="outline-5">
|
||||
<h5 id="orgae6b1ca">Keyboard</h5>
|
||||
<div class="outline-text-5" id="text-orgae6b1ca">
|
||||
<p>
|
||||
Framework seems to advertise their keyboard as having particularly deep travel, but it mostly just feels like any chiclet keyboard to me. Not a bad chiclet keyboard, but not that great, either. The layout is fine, but it makes me miss the thinkpad.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2d1c742" class="outline-5">
|
||||
<h5 id="org2d1c742">Touchpad</h5>
|
||||
<div class="outline-text-5" id="text-org2d1c742">
|
||||
<div id="outline-container-org532c3ec" class="outline-5">
|
||||
<h5 id="org532c3ec">Touchpad</h5>
|
||||
<div class="outline-text-5" id="text-org532c3ec">
|
||||
<p>
|
||||
I’ve never had a decent touchpad before, so I was pleasantly surprised. I expected to miss the trackpoint on the thinkpad a lot, but this is fine, though it’s still a step down. Pinch to zoom doesn’t work very well, but I don’t use that functionality a lot. I miss having dedicated mouse buttons; the clicking functionality on this touchpad works fine for me, but it’s hard not to mess up left/middle/right click. That’s a good incentive for me to practice relying on the mouse less, though. There’s plenty of <a href="https://linuxtouchpad.org/">work being done</a> on the Linux touchpad experience software-side, too. It’s a nice time to be a linux laptop user!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org35db7db" class="outline-5">
|
||||
<h5 id="org35db7db">Battery</h5>
|
||||
<div class="outline-text-5" id="text-org35db7db">
|
||||
<div id="outline-container-orgeb70cd6" class="outline-5">
|
||||
<h5 id="orgeb70cd6">Battery</h5>
|
||||
<div class="outline-text-5" id="text-orgeb70cd6">
|
||||
<p>
|
||||
With the disclaimer that I haven’t tested very intensely and I haven’t tuned power settings very much. <br>
|
||||
I seem to get about 6.5 hours of real-world use time when using Emacs and doing light web browsing. I don’t have a good benchmark for more intensive tasks, but compiling does hit the battery pretty hard. All in all I’m very happy with it, getting decent battery life on Linux is hard. It might be worth eventually buying a power bank for it though, for travel~
|
||||
@@ -427,18 +427,18 @@ I seem to get about 6.5 hours of real-world use time when using Emacs and doing
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4dafcb6" class="outline-5">
|
||||
<h5 id="org4dafcb6">Expansion cards/ports</h5>
|
||||
<div class="outline-text-5" id="text-org4dafcb6">
|
||||
<div id="outline-container-org6cc2b8e" class="outline-5">
|
||||
<h5 id="org6cc2b8e">Expansion cards/ports</h5>
|
||||
<div class="outline-text-5" id="text-org6cc2b8e">
|
||||
<p>
|
||||
The little expansion cards are one of Framework’s big marketing things. I think they’re pretty neat, though I don’t always quite understand the way people talk about them, as “dongle killers”. I would find hotswapping these about equally obnoxious as carrying dongles. The idea of aftermarket expansion cards is interesting, though - these are low level, high bandwidth ports, with I think similar capabilities to the ExpressCard ports on old business laptops, but more modern with a USB-C port. I’m looking forward to the USB4 era!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6c7ca44" class="outline-5">
|
||||
<h5 id="org6c7ca44">Performance</h5>
|
||||
<div class="outline-text-5" id="text-org6c7ca44">
|
||||
<div id="outline-container-orgf40041c" class="outline-5">
|
||||
<h5 id="orgf40041c">Performance</h5>
|
||||
<div class="outline-text-5" id="text-orgf40041c">
|
||||
<p>
|
||||
So far I haven’t felt limited by performance at all, the experience has been really snappy. I haven’t thrown particularly difficult things at it, though, but that’s fine - most of what I do on a laptop is reading, web browsing, and text editing. I played some Factorio on it and that seemed fine, but using the touchpad felt limiting so I didn’t play very much.
|
||||
</p>
|
||||
@@ -446,9 +446,9 @@ So far I haven’t felt limited by performance at all, the experience has be
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org106bbae" class="outline-3">
|
||||
<h3 id="org106bbae">Closing words</h3>
|
||||
<div class="outline-text-3" id="text-org106bbae">
|
||||
<div id="outline-container-orga429851" class="outline-3">
|
||||
<h3 id="orga429851">Closing words</h3>
|
||||
<div class="outline-text-3" id="text-orga429851">
|
||||
<p>
|
||||
Getting this laptop set up has been really fun! It’s a good opportunity to take stock of where we’re at. On the hardware side, I am very impressed that it’s now possible to make a laptop that’s this user-servicable, this well-specced and still not <i>that</i> expensive. It’s a reminder of how much better things could be.
|
||||
</p>
|
||||
@@ -464,9 +464,9 @@ Personally, I’m getting a rare chance to critically examine all the little
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org080fbbf" class="outline-2">
|
||||
<h2 id="org080fbbf">Appendix A: Transient Terminal Sources</h2>
|
||||
<div class="outline-text-2" id="text-org080fbbf">
|
||||
<div id="outline-container-org1977cca" class="outline-2">
|
||||
<h2 id="org1977cca">Appendix A: Transient Terminal Sources</h2>
|
||||
<div class="outline-text-2" id="text-org1977cca">
|
||||
<p>
|
||||
<code>togglescratch</code>
|
||||
</p>
|
||||
@@ -531,9 +531,9 @@ opacity-rule=["90:name = 'scratchterminal'"];
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4349eb8" class="outline-2">
|
||||
<h2 id="org4349eb8">Appendix B: lock.py</h2>
|
||||
<div class="outline-text-2" id="text-org4349eb8">
|
||||
<div id="outline-container-org8c10df1" class="outline-2">
|
||||
<h2 id="org8c10df1">Appendix B: lock.py</h2>
|
||||
<div class="outline-text-2" id="text-org8c10df1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/python3</span>
|
||||
<span class="org-keyword">import</span> os
|
||||
|
Reference in New Issue
Block a user