Experiments~

This commit is contained in:
Akko
2022-03-21 21:37:39 +01:00
parent fe807c99cc
commit 1dca4b0d58
23 changed files with 1379 additions and 161 deletions

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- 2022-03-18 Fri 20:17 -->
<!-- 2022-03-21 Mon 21:33 -->
<meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>Framework Laptop Review</title>
@@ -195,20 +195,21 @@
<body>
<div id="preamble" class="status">
<div id="header">
<a href="/">Home</a> |
<a href="/about.html">dare desu ka</a> |
<a href="/sitemap.html">Sitemap</a>
<a class="navbar-link" href="/">Home</a>
<a class="navbar-link" href="/about.html"></a>
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
</div>
</div>
<div id="content" class="content">
<div id="outline-container-orgd2e60e4" class="outline-2">
<h2 id="orgd2e60e4">My Experience with the Framework Laptop</h2>
<div class="outline-text-2" id="text-orgd2e60e4">
<div id="outline-container-orgd06c8c3" class="outline-2">
<h2 id="orgd06c8c3">My Experience with the Framework Laptop</h2>
<div class="outline-text-2" id="text-orgd06c8c3">
</div>
<div id="outline-container-org81cd437" class="outline-3">
<h3 id="org81cd437">Ordering</h3>
<div class="outline-text-3" id="text-org81cd437">
<div id="outline-container-orge056d5c" class="outline-3">
<h3 id="orge056d5c">Ordering</h3>
<div class="outline-text-3" id="text-orge056d5c">
<p>
I&rsquo;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>
@@ -220,13 +221,13 @@ I asked their customer service to make a small change to the delivery address, b
</div>
</div>
<div id="outline-container-org04dc2d9" class="outline-3">
<h3 id="org04dc2d9">Set-up</h3>
<div class="outline-text-3" id="text-org04dc2d9">
<div id="outline-container-org624a9f5" class="outline-3">
<h3 id="org624a9f5">Set-up</h3>
<div class="outline-text-3" id="text-org624a9f5">
</div>
<div id="outline-container-org39fd835" class="outline-4">
<h4 id="org39fd835">Hardware</h4>
<div class="outline-text-4" id="text-org39fd835">
<div id="outline-container-orgebbeaa3" class="outline-4">
<h4 id="orgebbeaa3">Hardware</h4>
<div class="outline-text-4" id="text-orgebbeaa3">
<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&rsquo;t seem worth the money to me. The RAM is probably overkill.
</p>
@@ -254,9 +255,9 @@ The more you look at it, the nicer it gets!
</div>
</div>
<div id="outline-container-orge74c8bc" class="outline-4">
<h4 id="orge74c8bc">Software</h4>
<div class="outline-text-4" id="text-orge74c8bc">
<div id="outline-container-orge919784" class="outline-4">
<h4 id="orge919784">Software</h4>
<div class="outline-text-4" id="text-orge919784">
<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&rsquo;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>
@@ -266,9 +267,9 @@ The laptop held up well during compiling. It&rsquo;s not as fast as a desktop of
</p>
</div>
<div id="outline-container-orgc00ff77" class="outline-5">
<h5 id="orgc00ff77">Display scaling</h5>
<div class="outline-text-5" id="text-orgc00ff77">
<div id="outline-container-org0090b99" class="outline-5">
<h5 id="org0090b99">Display scaling</h5>
<div class="outline-text-5" id="text-org0090b99">
<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&rsquo;t use Wayland.
</p>
@@ -278,36 +279,36 @@ The odd application requires its own scaling setting. Rofi requires setting <cod
</p>
</div>
</div>
<div id="outline-container-org091161e" class="outline-5">
<h5 id="org091161e">Display manager</h5>
<div class="outline-text-5" id="text-org091161e">
<div id="outline-container-orgd56fddc" class="outline-5">
<h5 id="orgd56fddc">Display manager</h5>
<div class="outline-text-5" id="text-orgd56fddc">
<p>
I used SDDM which works very well. I wanted to go for something a bit fancier looking, and this delivers. I don&rsquo;t usually use things in the whole QT ecosystem, so it&rsquo;s refreshing.
</p>
</div>
</div>
<div id="outline-container-org52896e4" class="outline-5">
<h5 id="org52896e4">Hibernate/suspend-to-disk</h5>
<div class="outline-text-5" id="text-org52896e4">
<div id="outline-container-orgd350c5d" class="outline-5">
<h5 id="orgd350c5d">Hibernate/suspend-to-disk</h5>
<div class="outline-text-5" id="text-orgd350c5d">
<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&rsquo;ve observed the laptop auto-hibernating when the battery runs out, but it doesn&rsquo;t do this reliably, so I should probably configure it myself.
</p>
</div>
</div>
<div id="outline-container-org6a88538" class="outline-5">
<h5 id="org6a88538"><a href="http://guake-project.org/">Guake</a>-like transient terminal</h5>
<div class="outline-text-5" id="text-org6a88538">
<div id="outline-container-org9345999" class="outline-5">
<h5 id="org9345999"><a href="http://guake-project.org/">Guake</a>-like transient terminal</h5>
<div class="outline-text-5" id="text-org9345999">
<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="#org5ffe10c">Appendix A</a> to do this. The implementation is a bit hacky, and it&rsquo;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="#org53f9855">Appendix A</a> to do this. The implementation is a bit hacky, and it&rsquo;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-org7290878" class="outline-5">
<h5 id="org7290878">Wallpaper-setting script</h5>
<div class="outline-text-5" id="text-org7290878">
<div id="outline-container-orga6cbd4d" class="outline-5">
<h5 id="orga6cbd4d">Wallpaper-setting script</h5>
<div class="outline-text-5" id="text-orga6cbd4d">
<p>
I wrote a script to set a random wallpaper.
</p>
@@ -334,11 +335,11 @@ I wrote a script to set a random wallpaper.
</div>
</div>
<div id="outline-container-org68f0872" class="outline-5">
<h5 id="org68f0872">Lockscreen</h5>
<div class="outline-text-5" id="text-org68f0872">
<div id="outline-container-org51e6729" class="outline-5">
<h5 id="org51e6729">Lockscreen</h5>
<div class="outline-text-5" id="text-org51e6729">
<p>
I hacked together some <a href="#org338a315">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="#org5d50302">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">
@@ -352,34 +353,34 @@ Is there a better lockscreen out there that will let me set my own image as the
</div>
</div>
<div id="outline-container-org53ced5e" class="outline-5">
<h5 id="org53ced5e">TODO</h5>
<div class="outline-text-5" id="text-org53ced5e">
<div id="outline-container-orgd0f0a6b" class="outline-5">
<h5 id="orgd0f0a6b">TODO</h5>
<div class="outline-text-5" id="text-orgd0f0a6b">
</div>
<ul class="org-ul">
<li><a id="org5e14e8f"></a>Battery level notifications<br></li>
<li><a id="org00d136e"></a>sleep-then-hibernate<br></li>
<li><a id="orgaee1839"></a>Battery tuning<br></li>
<li><a id="orgadc33d6"></a>Battery level notifications<br></li>
<li><a id="orgd732f57"></a>sleep-then-hibernate<br></li>
<li><a id="org0e93573"></a>Battery tuning<br></li>
</ul>
</div>
</div>
</div>
<div id="outline-container-org306e125" class="outline-3">
<h3 id="org306e125">Impressions</h3>
<div class="outline-text-3" id="text-org306e125">
<div id="outline-container-orge4f28ea" class="outline-3">
<h3 id="orge4f28ea">Impressions</h3>
<div class="outline-text-3" id="text-orge4f28ea">
</div>
<div id="outline-container-org7a2946e" class="outline-5">
<h5 id="org7a2946e">Build Quality</h5>
<div class="outline-text-5" id="text-org7a2946e">
<div id="outline-container-orga3b9087" class="outline-5">
<h5 id="orga3b9087">Build Quality</h5>
<div class="outline-text-5" id="text-orga3b9087">
<p>
The laptop is made of aluminium and feels solid but light. The screen does seem pretty flimsy, though. I probably wouldn&rsquo;t want to drop this thing. It looks sleek and elegant, but pretty muted.
</p>
</div>
</div>
<div id="outline-container-org04474a9" class="outline-5">
<h5 id="org04474a9">Screen</h5>
<div class="outline-text-5" id="text-org04474a9">
<div id="outline-container-org08d78a9" class="outline-5">
<h5 id="org08d78a9">Screen</h5>
<div class="outline-text-5" id="text-org08d78a9">
<p>
This is my first time ever using a high-DPI screen, and I&rsquo;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>
@@ -394,27 +395,27 @@ The brightness goes up quite high, but colours feel somewhat washed out at high
</div>
</div>
<div id="outline-container-org19258dc" class="outline-5">
<h5 id="org19258dc">Keyboard</h5>
<div class="outline-text-5" id="text-org19258dc">
<div id="outline-container-org2c92f32" class="outline-5">
<h5 id="org2c92f32">Keyboard</h5>
<div class="outline-text-5" id="text-org2c92f32">
<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-org16cf29b" class="outline-5">
<h5 id="org16cf29b">Touchpad</h5>
<div class="outline-text-5" id="text-org16cf29b">
<div id="outline-container-orgb34d3a9" class="outline-5">
<h5 id="orgb34d3a9">Touchpad</h5>
<div class="outline-text-5" id="text-orgb34d3a9">
<p>
I&rsquo;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&rsquo;s still a step down. Pinch to zoom doesn&rsquo;t work very well, but I don&rsquo;t use that functionality a lot. I miss having dedicated mouse buttons; the clicking functionality on this touchpad works fine for me, but it&rsquo;s hard not to mess up left/middle/right click. That&rsquo;s a good incentive for me to practice relying on the mouse less, though. There&rsquo;s plenty of <a href="https://linuxtouchpad.org/">work being done</a> on the Linux touchpad experience software-side, too. It&rsquo;s a nice time to be a linux laptop user!
</p>
</div>
</div>
<div id="outline-container-org14dbe9e" class="outline-5">
<h5 id="org14dbe9e">Battery</h5>
<div class="outline-text-5" id="text-org14dbe9e">
<div id="outline-container-org0815a7f" class="outline-5">
<h5 id="org0815a7f">Battery</h5>
<div class="outline-text-5" id="text-org0815a7f">
<p>
With the disclaimer that I haven&rsquo;t tested very intensely and I haven&rsquo;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&rsquo;t have a good benchmark for more intensive tasks, but compiling does hit the battery pretty hard. All in all I&rsquo;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~
@@ -422,18 +423,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-orgb0eef41" class="outline-5">
<h5 id="orgb0eef41">Expansion cards/ports</h5>
<div class="outline-text-5" id="text-orgb0eef41">
<div id="outline-container-org9b0b9cb" class="outline-5">
<h5 id="org9b0b9cb">Expansion cards/ports</h5>
<div class="outline-text-5" id="text-org9b0b9cb">
<p>
The little expansion cards are one of Framework&rsquo;s big marketing things. I think they&rsquo;re pretty neat, though I don&rsquo;t always quite understand the way people talk about them, as &ldquo;dongle killers&rdquo;. 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&rsquo;m looking forward to the USB4 era!
</p>
</div>
</div>
<div id="outline-container-org48dd1fc" class="outline-5">
<h5 id="org48dd1fc">Performance</h5>
<div class="outline-text-5" id="text-org48dd1fc">
<div id="outline-container-org860fe14" class="outline-5">
<h5 id="org860fe14">Performance</h5>
<div class="outline-text-5" id="text-org860fe14">
<p>
So far I haven&rsquo;t felt limited by performance at all, the experience has been really snappy. I haven&rsquo;t thrown particularly difficult things at it, though, but that&rsquo;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&rsquo;t play very much.
</p>
@@ -441,9 +442,9 @@ So far I haven&rsquo;t felt limited by performance at all, the experience has be
</div>
</div>
<div id="outline-container-org136df04" class="outline-3">
<h3 id="org136df04">Closing words</h3>
<div class="outline-text-3" id="text-org136df04">
<div id="outline-container-orgd823508" class="outline-3">
<h3 id="orgd823508">Closing words</h3>
<div class="outline-text-3" id="text-orgd823508">
<p>
Getting this laptop set up has been really fun! It&rsquo;s a good opportunity to take stock of where we&rsquo;re at. On the hardware side, I am very impressed that it&rsquo;s now possible to make a laptop that&rsquo;s this user-servicable, this well-specced and still not <i>that</i> expensive. It&rsquo;s a reminder of how much better things could be.
</p>
@@ -453,7 +454,7 @@ On the software side, I feel like the GNU/Linux end-user ecosystem has come a lo
</p>
<p>
Personally, I&rsquo;m getting a rare chance to critically examine all the little config files, scripts, programs, plugins and worklfows I have. It&rsquo;s fun to re-ignite the spark of join in configuring software and figuring out fluent, comfortable ways of doing things. I look forward to once more exploring and documenting the joy of computers&#x2026;! &lt;3
Personally, I&rsquo;m getting a rare chance to critically examine all the little config files, scripts, programs, plugins and workflows I have. It&rsquo;s fun to re-ignite the spark of join in configuring software and figuring out fluent, comfortable ways of doing things. I look forward to once more exploring and documenting the joy of computers&#x2026;! &lt;3
</p>
</div>
</div>
@@ -461,9 +462,9 @@ Personally, I&rsquo;m getting a rare chance to critically examine all the little
<div id="outline-container-org5ffe10c" class="outline-2">
<h2 id="org5ffe10c">Appendix A: Transient Terminal Sources</h2>
<div class="outline-text-2" id="text-org5ffe10c">
<div id="outline-container-org53f9855" class="outline-2">
<h2 id="org53f9855">Appendix A: Transient Terminal Sources</h2>
<div class="outline-text-2" id="text-org53f9855">
<p>
<code>togglescratch</code>
</p>
@@ -528,9 +529,9 @@ opacity-rule=["90:name = 'scratchterminal'"];
</div>
</div>
<div id="outline-container-org338a315" class="outline-2">
<h2 id="org338a315">Appendix B: lock.py</h2>
<div class="outline-text-2" id="text-org338a315">
<div id="outline-container-org5d50302" class="outline-2">
<h2 id="org5d50302">Appendix B: lock.py</h2>
<div class="outline-text-2" id="text-org5d50302">
<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
@@ -555,12 +556,28 @@ opacity-rule=["90:name = 'scratchterminal'"];
</div>
</div>
</div>
<div id="outline-container-org6eaec95" class="outline-2">
<h2 id="org6eaec95">TODO</h2>
<div class="outline-text-2" id="text-org6eaec95">
<p>
remark on modularity of charger
remark on finish of modules
</p>
<p>
<i>last modified: 2022-03-21</i>
</p>
</div>
</div>
</div>
<div id="postamble" class="status">
<div id="footer">
<hr>
If you have any comments about this page, you can email me at: <br>
<b>akko [shift-2] nakadashi -dot- lol</b><br><br>
<b>akko [shift-2] nakadashi -dot- lol</b><br>
And I may include them on the website!<br>
<br>
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!