summaryrefslogtreecommitdiff
path: root/blog/post/2022-07-23.html
blob: bc47efe9de6344f5a9569cf0afa29e38315a16ad (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#000000">
<title>Chrisoft::Blog(r#"Framework Laptop: The next thing in the laptop world?")</title>
<meta name="description" content="«Framework Laptop: The next thing in the laptop world?» de spelunca ursae visere">
<meta name="author" content="Chris Xiong">
<script type="text/javascript" src="/panel.js"></script>
<script type="text/javascript" src="/themer.js"></script>
<script type="text/javascript" src="/blog/footnoter.js"></script>
<script type="text/javascript" src="/blog/aes-js.js"></script>
<script type="text/javascript" src="/blog/scrypt.js"></script>
<script type="text/javascript" src="/blog/sha256.js"></script>
<script type="text/javascript" src="/blog/decryptor.js"></script>
<link rel="stylesheet" type="text/css" href="/common.css">
<link rel="stylesheet" type="text/css" href="/panel.css">
<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a">
<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b">
<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a">
<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b">
<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a">
<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b">
<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a">
<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b">
<link rel="stylesheet" type="text/css" href="/blog/blogext.css">
<script>
function ol()
{
	window.onresize=function()
	{
		if(window.innerWidth<768)
		setupevents();
		else unsetevents();
	}
	window.onresize();
	loadTheme();
	_decryptonload();
}
</script>
</head>
<body onload="ol()" style="overflow-x:hidden;">
	<div id="panel" class="TText">
		<ul id="panellist">
			<li><a href="/"><h1>Chrisoft</h1></a></li>
			<li><a href="/blog"><h2>Blog</h2></a></li>
			<li><a href="#"><h3 id="title">Framework Laptop: The next thing in the laptop world?</h3></a></li>
			<li><span>Tags</span>
			<ul id="tagslist">
			<li><a href="/blog/list/device-review/">device-review</a></li><li><a href="/blog/list/hands-on/">hands-on</a></li><li><a href="/blog/list/computer-repairing/">computer-repairing</a></li></ul>
			</li>
			<li id="tocouter">
				<span>Table of Contents</span>
				<ul id="tocroot">
				<li><a class="toctarg" href="#tocanch0">Rationale for a new laptop</a></li><li><a class="toctarg" href="#tocanch1">Why Framework?</a></li><li><a class="toctarg" href="#tocanch2">Important dates</a></li><li><a class="toctarg" href="#tocanch3">Configuration ordered</a></li><li><a class="toctarg" href="#tocanch4">Unboxing and setting up</a></li><li><a class="toctarg" href="#tocanch5">Performance</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch6">Processing power</a></li><li><a class="toctarg" href="#tocanch7">Graphics</a></li><li><a class="toctarg" href="#tocanch8">Thermal &amp; Emissions</a></li><li><a class="toctarg" href="#tocanch9">Others</a></li></ul></li><li><a class="toctarg" href="#tocanch10">Issues</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch11">Instabilities</a></li><li><a class="toctarg" href="#tocanch12">Port interference? …</a></li><li><a class="toctarg" href="#tocanch13">… and a general lack of ports</a></li><li><a class="toctarg" href="#tocanch14">Keyboard</a></li></ul></li><li><a class="toctarg" href="#tocanch15">Customer Service</a></li><li><a class="toctarg" href="#tocanch16">Y no upgrade to 12th gen?</a></li><li><a class="toctarg" href="#tocanch17">Any buyer’s remorse?</a></li></ul>
			</li>
			<li style="margin-left:-0.5em"><a id="prevp" href="2021-10-10.html">Prev post</a></li>
			<li style="margin-left:-0.5em"><a id="nextp" href="2022-11-27.html">Next post</a></li>
		</ul>
	</div>
	<div id="content">
		<h2 id="titleh" class="TText" style="font-wight:normal;">Framework Laptop: The next thing in the laptop world?</h2>
		<div id="datetags" class="TText" style="margin-bottom:1em;">2022-07-23<br>#device-review #hands-on #computer-repairing</div>
		<hr><div id="article" class="TText"><article>
<p>This review came at the very least 6 months too late.</p>
<h2 id="tocanch0" class="tvis">Rationale for a new laptop</h2>
<p>My old trusty first gen ThinkPad X1 yoga is showing its age: its
U-tier ultra-low voltage processor is having trouble keeping up with the
“modern web” that is constantly putting increasing pressure on the
browser. Its integrated GPU can barely handle Minecraft at 60 fps, not
to mention hundreds of virtual instruments I mess with are struggling
with the processing power of this machine which wasn’t anything to brag
about even when it first came out. It also took a lot of beatings, which
are mainly from my own abuse, like <a href="https://chrisoft.org/blog/post/2017-01-09.html">this one</a>
(warning: post is in Chinese), and is nearly falling apart. Considering
I’m not well settled in this land that is alien to me, a full fledged
desktop is hard to justify. So a new laptop it is.</p>
<p>Additionally, unlike their 11th gen desktop processors, Intel’s 11th
gen ultrabook offerings looks extremely compelling due to the new Xe
integrated graphics introduced in this generation. Its (theoretical)
performance is finally catching up with previous generation entry-level
gaming graphics and current generation dedicated graphics found in slim
laptops (1050 Ti and MX 350/450). Of course this is Intel and
theoretical performance doesn’t mean much when their driver kind of
sucks (severe performance drops and incompatibilities in some games).
But it’s been rock solid for daily desktop usage (and Minecraft gaming
because that’s literally the only game I play now). So I decided I’m
just going to roll with it.</p>
<h2 id="tocanch1" class="tvis">Why Framework?</h2>
<p>I’m not a fan of laptops in the desktop replacement category, even I
often use mine as one (in terms of the workload I run on it). They are
just too chunky for liking.</p>
<p>Trackpoint is essential for my survival when using a laptop. Instead
with torturing myself with a huge touchpad, I’d rather stick with an old
ThinkPad with no touchpad.</p>
<p>Wait, don’t these two criteria alone restrict my choice to ThinkPads
and a few other business laptops?</p>
<p>Well, true… but when I laid my hands on a 9th generation X1 Carbon,
it feels so different that I wasn’t even convinced that I was
interacting with a ThinkPad anymore: especially the new keyboard with
further reduced travel and the trackpoint buttons with virtually no
tactile response. I decided to extend my radar to include models that
don’t have a trackpoint, and use an external trackpoint keyboard with it
if I get one of such models instead. Of course I was not ruling out
ThinkPads, I was just allowing myself to get something other than a
ThinkPad.</p>
<p>In Feburary 2021 I saw a few news articles about this new “Framework”
thing popping up. I find it interesting, but the modular expansion thing
is just a gimmick, and I had suspicion that they are trying to ride the
hype around right to repair – not to say that is wrong. Of course the
hardware configuration is all fine and dandy, but I’m no buying
something with a single selling point of expansion modules (which at the
time of writing offers nothing but ports and features found on almost
every single laptop on the market).</p>
<p>When further details on the laptop surfaced, it started to get
interesting. It was suggested that motherboard of future revisions can
act as drop-in upgrades, and that the motherboard can be easily
transformed into a small form-factor PC. Also display and keyboard
assembly would be available for consumers to purchase online in case a
replacement is necessary. This immediately bring this laptop to a level
higher in my tier list, as it was becoming apparent that they are doing
actual work.</p>
<p>And then just a few weeks after I got into the States, my X1 yoga
started experiencing random system-wide freezes once again. It was a
good excuse for a new laptop, I thought. I checked Lenovo’s website but
found out (pretty shockingly) that there was no discount active during
that time, and all X1s were ludicrously priced. And then I placed my
pre-order of the Framework Laptop. (Of course I ordered the DIY edition,
saved me a decent chunk of funds!)</p>
<h2 id="tocanch2" class="tvis">Important dates</h2>
<ul>
<li>Pre-order placed: 2021-09-16, Batch 4 (I swear this is totally
unrelated to Linus Sebastian’s Framework investment video)</li>
<li>Remaining balance charged: 2021-10-06</li>
<li>Shipped: 2021-10-11</li>
<li>Received: 2021-10-13 (probably leaks my rough geological location,
but whatever)</li>
</ul>
<h2 id="tocanch3" class="tvis">Configuration ordered</h2>
<ul>
<li>DIY edition</li>
<li>i7-1185G7</li>
<li>64 GB RAM (2x Crucial CT32G4SFD832A shipped)</li>
<li>No SSD (Bring your own). 1 TB Samsung 970 Pro installed.</li>
<li>Intel AX210 wireless</li>
<li>ANSI keyboard (US layout)</li>
<li>2x USB Type-A expansion modules, 4x USB Type-C expansion modules,
and 1x HDMI expansion module</li>
<li>With power adapter</li>
<li>Windows 10 Professional license</li>
<li>$2153 before tax + $230 for the SSD</li>
</ul>
<h2 id="tocanch4" class="tvis">Unboxing and setting up</h2>
<p>The laptop arrived in an inconspicuous shipping box, with symbols on
it suggesting it contains stuff that may explode. Inside is the actual
box with intriguing designs. There was only minimal amount of paperwork
in the package.</p>
<p>Despite being the DIY edition, the laptop comes almost completely
pre-assembled. There’s <a href="https://frame.work/blog/the-evolution-of-the-framework-laptop-diy-edition">a
blog post</a> on the official website explaining why that is the case.
For this reason putting the thing together is incredibly straight
forward. Within minutes I got the thing up and running (while booting
into nothing of course).</p>
<table>
<tbody><tr>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/fwbox.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwbox.jpg"></a> <br>The box
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/fwunbox.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwunbox.jpg"></a> <br>Unboxing
</div>
</td>
</tr>
<tr>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/fwunbox2.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwunbox2.jpg"></a> <br>The box inside the
box
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/fwpaperwork.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwpaperwork.jpg"></a> <br>Paperwork
</div>
</td>
</tr>
<tr>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/fwinternals.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwinternals.jpg"></a> <br>Internals
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/fwassembled.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwassembled.jpg"></a> <br>Components in
place
</div>
</td>
</tr>
</tbody></table>
<p>I decided to get Windows working first, even it hasn’t been my
primary operating system for almost a decade. I prepared the first
release of Windows 11 on a USB stick. But of course I decided to torture
myself by not using the official installation media (it doesn’t matter
anyway, as after the first attempt failed I tried the official
installation media and it also failed for some reason, see the pictures
below). Eventually I got the dism installation procedure working.</p>
<p>Windows, being Windows, gave me a few silly errors when I was going
through the OOBE. The official driver package is necessary to get all
devices working.</p>
<table>
<tbody><tr>
<td>
<div style="text-align:center;max-width:98%;">
<p><a href="//filestorage.chrisoft.org/blog/img/fwwindowsfail1.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwwindowsfail1.jpg"></a></p>
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<p><a href="//filestorage.chrisoft.org/blog/img/fwwindowsfail2.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwwindowsfail2.jpg"></a></p>
</div>
</td>
</tr>
<tr>
<td>
<div style="text-align:center;max-width:98%;">
<p><a href="//filestorage.chrisoft.org/blog/img/fwwindowsfail3.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwwindowsfail3.jpg"></a></p>
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<p><a href="//filestorage.chrisoft.org/blog/img/fwwindowsfail4.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwwindowsfail4.jpg"></a></p>
</div>
</td>
</tr>
<tr>
<td style="text-align:center;" colspan="2">
1 hour of Windows failing
</td>
</tr>
</tbody></table>
<p>Next step will be my daily driving operating system. Of course it’s
going to be Gentoo. What do you mean I’m insane?</p>
<p>I used the Arch Linux ISO to bootstrap the installation. Now I made
people from both distros hate me.</p>
<p>After roughly 10 hours of CPU stress testing, a basic KDE plasma
desktop was emerged. Not too bad for a slim laptop.</p>
<table>
<tbody><tr>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/fwarchtrigger.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwarchtrigger.jpg"></a> <br>Trigger
warning
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/fwfirstfetch.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwfirstfetch.jpg"></a> <br>First neofetch
</div>
</td>
</tr>
</tbody></table>
<h2 id="tocanch5" class="tvis">Performance</h2>
<p>For a comprehensive performance review of the Framework laptop, you
should be reading a more professional review, not this article. This
section will focus on my personal use cases instead.</p>
<h3 id="tocanch6" class="tvis">Processing power</h3>
<p>My daily work, when it comes to the processing power intense parts,
mainly involves running tests, building small-to-moderate sized
projects, and performance profiling. Of course there is also routine
rebuilds of huge applications due to my choice of distro. Plus some
music mixing when I have the time for it.</p>
<p>Thanks to the two additional cores and drastically improved clocks
and IPC, the 11th gen i7 is more than 3 times more powerful than my old
6th gen i7 for code compilation workloads, while having similar
sustained power consumption under such workload (RAPL reports ~28 watts
for both machines). As an example, Chromium 98.0.4710.4 took 883 minutes
to emerge on my old i7, while on the Framework it took 273 minutes. The
new processor is also able to handle music projects with over 100
tracks, even with a decent performance headroom. In some other cases
where the load is less than “all-cores”, it even had more than 4 times
the performance of its older counterpart. To achieve an even better
result the only option is to go AMD, which they hadn’t yet offer
<a id="n1" href="#note1" class="note">[1]</a>. Overall the performance is
a win for me.</p>
<h3 id="tocanch7" class="tvis">Graphics</h3>
<p>As mentioned above, the performance of the integrated Xe graphics is
finally catching up with entry-level gaming GPUs within the last 2
generations. While the Linux Mesa driver has been rock solid for desktop
usage for quite some time, a lot more could be expected for gaming as
online benchmark results show wild variations among different titles.
Not to mention the erroneous behavior with certain aspects of legacy
rendering APIs. Modern APIs behave a lot better in general.</p>
<p>On real-world performance, for the first time in history, Minecraft
with ultra shaders (BSL) can run (correctly!) on one of my laptops with
a stable 60 fps. They wouldn’t even apply correctly on any of the older
Intel GPUs I’ve used. With compromises, Microsoft Flight Simulator runs
(with Valve’s Proton) at a stable-ish 30 fps with acceptable
visuals.</p>
<h3 id="tocanch8" class="tvis">Thermal &amp; Emissions</h3>
<p>One word: bad.</p>
<p>Not intolerable, but pretty bad.</p>
<p>Maybe this is just the inescapable curse of all ultrabooks. But under
heavy load the upper region of the keyboard is almost too hot to touch.
To make things worse, the unibody-inspired design (where the gaps
between keys is part of the top cover of the machine’s lower half,
rather than part of the keyboard assembly) means the metal part that is
between keys are at a even higher temperature. It’s not exactly
enjoyable to type on the built-in keyboard when the processor is under
heavy load.</p>
<p>Under constant max load, the processor temperature maintains steadily
at around 100 degrees Celcius. This is considerably higher than my X1
yoga, which peaks at 95 degrees and drops to 85 degrees if the load is
sustained.</p>
<p>The fan noise is also way worse on the Framework. The fan curve is
quite aggressive, ramping up rapidly when the processor temperature
reaches 60 degrees, and maxes out at 80 degrees and beyond. The noise is
audible even in a moderately noisy room. In contrast the fan in my X1
ramps up much slower with more steps.</p>
<p>Also there’s no manual undervolting on tigerlake-U platforms, likely
as a mitigation to the plundervolt vulnerability.</p>
<h3 id="tocanch9" class="tvis">Others</h3>
<p>One of the last consumer MLC SSDs, Samsung 970 Pro, performs well in
benchmarks.</p>
<p>Keyboard is not great (see below). Trackpad is … meh. I don’t use
that thing anyway.</p>
<table>
<tbody><tr>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/fwssdspeeds.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwssdspeeds.jpg"></a> <br>The best
consumer grade PCIe 3.0 SSD in the west (asterisk)
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/fwbadarrowklayout.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_fwbadarrowklayout.jpg"></a> <br>Awkward
arrow key layout
</div>
</td>
</tr>
</tbody></table>
<p>ACPI reports a 8-hour estimate on battery. Running on battery for 90
minutes with light-to-moderate usage usually uses 20% of the capacity
(screen always on, wireless on, typing with browser running in
background), give or take, consistent with the estimation. I’ve yet to
run the battery until it’s flat.</p>
<p>The screen is fabulous. Way more vibrant than that LCD on my first
generation X1 yoga. Not a professional graphic designer or in any other
job that depends on an accurate display, so that’s just my personal
opinion.</p>
<p>Speaker is at least 10 times better than any ThinkPads I’ve ever
used. Still not on par with an Apple laptop though.</p>
<h2 id="tocanch10" class="tvis">Issues</h2>
<h3 id="tocanch11" class="tvis">Instabilities</h3>
<p>The system sometimes goes into a complete lockup, unresponsive to any
inputs (except a forceful power off), when it has been left idle for an
extended period. This never happens if the system is loaded. I could not
obtain any useful diagnostics.</p>
<p>With the release of BIOS version 3.09, which claims to resolve an
“issue where the system will sometimes abnormally shutdown
unexpectedly”, hopefully this such freezes will be gone. However I
haven’t been running 3.09/3.10 for long enough to come to such
conclusion.</p>
<h3 id="tocanch12" class="tvis">Port interference? …</h3>
<p>My ThinkPad wireless mouse suffers from stuttery movement when used
on the Framework laptop. I’ve never had similar issues with this mouse
before. This affects both operating systems installed. It doesn’t happen
all the time, the chance of it happening is higher when the system is
more heavily loaded.</p>
<p>Occasionally, the ports on the right side stop working altogether,
and the kernel message gets flooded with output like this:</p>
<pre><code>[75512.894957] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
[75517.158969] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
[75521.422973] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
[75525.686857] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
[75529.950973] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?</code></pre>
<p>On Windows, a notification “USB Device not recognized” is repeatedly
displayed.</p>
<p><a href="https://knowledgebase.frame.work/en_us/one-port-on-my-laptop-does-not-function-correctly-r1mqMnTet">This
knowledge base article</a> is not relevant to my particular case, as my
unit doesn’t have the problematic EMI shield.</p>
<p>However I’ve noticed that this issue hasn’t reoccurred for a while.
Perhaps It could be a BIOS issue that has been patched since.</p>
<h3 id="tocanch13" class="tvis">… and a general lack of ports</h3>
<p>But this one can’t be resolved by a BIOS patch. With the laptop
plugged in, I have a whopping 3 USB ports for USB peripherals. It
reduces to 2 when I use it with the trackpoint keyboard (which is pretty
much all the time as I need a trackpoint to survive). This is nowhere
close to enough – considering my old X1 also has 3 USB ports, not to
mention it has dedicated ports for two external monitors.</p>
<p>This is why I maintain my opinion that the expansion modules are
currently a gimmick. There are no expansion cards that are unique enough
to justify them – no WWAN card, no full size SD card reader, nor even an
ethernet port (until very recently). Full size DisplayPort and storage
expansion are cool, but they take up precious USB ports which means for
my use case a dock is mandatory anyway if one of those cards is
installed, nullifying the point of using these cards. I personally would
favor a design with more fixed ports (which is already the case for the
audio jack on the Framework), maybe 3 fixed USB Type-C ports on the left
and 2 expansion card slots on the right. More useful expansion cards
could also be a solution, like a mini hub with two USB Type-C ports.
Even a proprietary port for connecting expansion cards to the computer
(like two sets of USB 4 signals in a single port) is acceptable for me,
to allow simpler designs of some dual function cards (e.g. storage card
with a USB port); as these on board connectors aren’t meant to be used
directly, users are always expected to plug an expansion card into
them.</p>
<h3 id="tocanch14" class="tvis">Keyboard</h3>
<p>Like many people coming from a ThinkPad with 1.8 mm key travel, I
find the keyboard of the Framework laptop lacking in tactile response.
Even when compared to the keyboard on a 9th gen X1 Carbon which has the
same 1.5 mm travel, Framework’s keyboard still loses by quite a large
margin. Also the keyboard features the rather bad (in my opinion) layout
of arrow keys.</p>
<p>This is not to say the built-in keyboard is completely unusable as
such. But I do still prefer using a ThinkPad keyboard, whenever it’s
available to me.</p>
<h2 id="tocanch15" class="tvis">Customer Service</h2>
<p>This is where Framework really shines as a new player in the world of
laptop manufacturers. I wouldn’t expect to get in touch directly with
someone on their hardware team by simply reporting a firmware issue.</p>
<p>So I decided to try out the latest development version of memtest86+.
I built it myself, however it booted on all my machines but the
Framework laptop. I reported the issue to memtest86+ developers, and
came to the conclusion that it has something to do with the firmware. So
I contacted support, and linked the github issue in the support request.
The support team wrote back pretty fast (within 24 hours), and to my
surprise, agreed to connect me with the hardware team directly. After a
few back and forth between the hardware team and memtest86+ developers,
it was determined that the cause is 8254 timer gating. Later I heard
back from the person on the hardware team that the relevant setting will
be added in BIOS version 3.09, which was released a few days ago. I
installed the update and set 8254 timer gating to disabled, and
memtest86+ worked as expected.</p>
<p>That was my only, yet pretty bizarre experience of Framework’s
customer service. I don’t think there could be any chance ever that I
could get in touch with someone on the hardware team of any prominent
laptop brands, but Framework can do it. Kudos to the Framework support
team, and I hope they would be able to maintain this level of customer
service when they get bigger.</p>
<p>The full issue report on github is <a href="https://github.com/memtest86plus/memtest86plus/issues/40">here</a>.</p>
<h2 id="tocanch16" class="tvis">Y no upgrade to 12th gen?</h2>
<p>Intel’s 12th gen processors are winning grounds on the desktop front,
but in the mobile sector they don’t look so hot. I’ve seen people with
their shiny new 10th gen X1 Carbon complaining about poor battery life
and even worse thermal performances. Also in order to upgrade without
letting the original motherboard fall into disuse, I would either buy
new RAM and SSD for it, or sell it somehow. Either option is hard to
justify for me. That’s why I decided against upgrading for now. I may
consider upgrading to 13th gen whenever that gets released.</p>
<h2 id="tocanch17" class="tvis">Any buyer’s remorse?</h2>
<p>Hate to break it for you, but I’m still not daily driving my
Framework laptop – in fact, I’m typing this sentence on my old X1.</p>
<p>But there’s no buyer’s remorse in general. Not being a daily driver
doesn’t mean it has fallen out of favor. Instead, there are now clear
roles assigned to these two laptops. I’ve moved all my music production
setup and games to the Framework laptop. It also functions as a build
server now (both for binary Gentoo packages, and as a networked build
server). The X1 only functions as a typewriter and web browser
nowadays.</p>
<p>All current issues I had with this machine have either been resolved,
or have existing workarounds. There is no trackpoint, no WWAN, no touch
screen or digitizer, or connecting to 3 USB devices and an external
monitor while charging compared to my old X1 – this is not a ThinkPad
after all. But it does have third party board level repair with support
from the company itself (they have started to provide full schematics to
third party repair shops under NDA), easy access to parts, open source
firmware, upgradable platform, and promise of a coreboot BIOS. These are
the reasons I chose to support Framework as a company. So let my first
purchase be a small contribution to them.</p>
</article>
</div><br><hr>
		<div class="TText" id="notediv" style="font-size:80%;"><span class="TText"><a id="note1" href="#n1">[1]</a>: and I’m not going to choose even if there is one, due to
previous traumatic experience I had with AMD platforms. Unreasonable I
know, but it’s hard to overcome.<br></span></div>
		<div id="insanch" style="height:3em;"></div>
		<div id="footer" style="">
		<div id="pagesw" class="TText" style="width:100%;height:0.5em;"></div>
			<div style="text-align:center;" class="TText">
				Proudly powered by SSBS <reduced style="font-size:70%;">(the static stupid blogging system)</reduced> 2.5
				<br>
				Content licensed under CC BY-SA 4.0. <span id="purgep" style="display:none;font-size:70%;">This page has passphrase(s) stored. Click <a href="javascript:_purgep()">here</a> to purge.</span>
			</div>
		</div>
		<div id="cmdbuf" class="TText" style="transition:500ms;padding:1em;font-size:2em;color:white;position:absolute;background-color:rgba(0,0,0,0.6);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;">
		</div>
	</div>
	<div id="decryptui" style="display:none;opacity:0;color:white;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);transition:opacity 0.5s;">
		<div id="decryptdlg" class="TText" style="padding:10px 20px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,0.6);">
			<div id="keyhint" style="margin-bottom:8px;"></div>
			<div style="margin-bottom:8px;">Key: <input id="keyinp" type="text" style="color:#fff;"></div>
			<div style="height:2.25em;">
			<button id="btndecrypt" onclick="decryptor(decid,document.getElementById('keyinp').value);" style="position:absolute;left:20px;">Decrypt</button>
			<button onclick="hidedecryptui();" style="position:absolute;right:20px;">Cancel</button>
			</div>
		
	</div>


</div></body></html>