Now Reading
Framework twelfth gen laptop computer evaluation

Framework twelfth gen laptop computer evaluation

2023-03-13 04:42:16

The Framework is a 13.5″ laptop computer physique with swappable components, which
makes it considerably future-proof and positively simply repairable,
scoring an “exceedingly uncommon” 10/10 score from ifixit.com.

There are two generations of the laptop computer’s essential board (each suitable
with the identical physique): the Intel eleventh and twelfth gen chipsets.

I’ve acquired my Framework, twelfth technology “DIY”, system in late
September 2022 and can replace this web page as I’m going alongside within the course of
of ordering, burning-in, establishing and utilizing the system over the
years.

Total, the Framework is an effective laptop computer. I just like the keyboard, the
contact pad, the growth playing cards. Clearly there’s been some good work
accomplished on industrial design, and it is probably the most repairable laptop computer I’ve
had in years. Time will inform, nevertheless it seems to be sturdy sufficient to outlive me
a few years as effectively.

That is additionally one of the highly effective gadgets I ever lay my arms
on. I’ve managed, remotely, extra highly effective servers, however that is the
quickest pc I’ve ever owned, and it suits on this tiny case. It
is a tremendous machine.

On the draw back, there is a little bit of proprietary firmware required (WiFi,
Bluetooth, some graphics) and the Framework ships with a proprietary
BIOS, with presently no Coreboot support. Anticipate to wish the
newest kernel, firmware, and hacking round a bunch of issues to get
decision and keybindings working proper.

Like others, I’ve first discovered important energy administration points,
however many points can really be solved with some configuration. Some
of the growth ports (HDMI, DP, MicroSD, and SSD) use energy when
idle, so do not count on week-long droop, or “full day” battery whereas
these are plugged in.

Lastly, the growth ports are good, however there’s solely 4 of
them. When you plan to have a two-monitor setup, you are probably going to
want a dock.

Learn on for the detailed evaluation. For context, I am shifting from the
Purism Librem 13v4 as a result of it
basically exploded on me. I
had, within the meantime, reverted again to an previous ThinkPad X220, so I
typically evaluate the Framework with that venerable laptop computer as effectively.

This weblog put up has been maturing for months now. It began in
September 2022 and I declared it accomplished in March 2023. It is the
longest single article on this complete web site, presently clocking at
about 13,000 phrases. It can take a median reader a full hour to go
via this factor, so I do not count on anybody to really do
that. This introduction ought to be ok for most individuals, learn
the primary part if you happen to intend to really purchase a Framework. Bounce
across the desk of contents as you see match for after you probably did purchase the
laptop computer, as it’d embrace some essential hints on tips on how to make it work
greatest for you, particularly on (Debian) Linux.

These are issues I want I’d have recognized earlier than shopping for:

  1. take into account shopping for 4 USB-C growth playing cards, or at the very least a mixture of 4
    USB-A or USB-C playing cards, as they use much less energy than different playing cards and
    you do need to fill these growth slots in any other case they snag
    round and really feel insecure

  2. you’ll probably want a dock or at the very least a USB hub if you’d like a
    two-monitor setup, in any other case you may run out of ports

  3. it’s a must to do some severe tuning to get correct (10h+ idle, 10
    days droop) energy financial savings

  4. specifically, beware that the HDMI, DisplayPort and
    significantly the SSD and MicroSD playing cards take a big quantity
    energy, even when sleeping, as much as 2-6W for the latter two

  5. beware that the MicroSD card is what it says: Micro, regular SD
    playing cards will not match, and whereas there could be full sized one
    ultimately, it is presently solely on the prototyping stage

  6. the Framework monitor has an uncommon side ratio (3:2): I
    prefer it (and it matches classic and digital photography aspect
    ratio
    ), nevertheless it may shock you

I’ve the framework! It is setup with a contemporary new Debian bookworm
set up. I’ve ran via numerous checks and burn in.

I’ve determined to make use of the Framework as my each day driver, and had to purchase
a USB-C dock to get my two screens
linked, which was personal journey.

These are the specs of the twelfth gen, basically phrases. Your
construct will in fact range in response to your wants.

  • CPU: i5-1240P, i7-1260P, or i7-1280P (As much as 4.4-4.8 GHz, 4+8
    cores), Iris Xe graphics
  • Storage: 250-4000GB NVMe (or carry your personal)
  • Reminiscence: 8-64GB DDR4-3200 (or carry your personal)
  • WiFi 6e (AX210, vPro elective, or carry your personal)
  • 296.63mm X 228.98mm X 15.85mm, 1.3Kg
  • 13.5″ show, 3:2 ratio, 2256px X 1504px, 100% sRGB, >400 nit
  • 4 x USB-C user-selectable growth ports, together with
    • USB-C
    • USB-A
    • HDMI
    • DP
    • Ethernet
    • MicroSD
    • 250-1000GB SSD
  • 3.5mm combo headphone jack
  • Kill switches for microphone and digicam
  • Battery: 55Wh
  • Digicam: 1080p 60fps
  • Biometrics: Fingerprint Reader
  • Backlit keyboard
  • Energy Adapter: 60W USB-C (or carry your personal)
  • ships with a screwdriver/spludger
  • 1 12 months guarantee
  • base value: 1000$CAD, however would not offer you a lot, typical builds
    round 1500-2000$CAD

That is the precise construct I ordered. Quantities in CAD. (1CAD =
~0.75EUR/USD.)

Base configuration

  • CPU: Intel® Core™ i5-1240P, 1079$
  • Reminiscence: 16GB (1 x 16GB) DDR4-3200, 104$

Customization

  • Keyboard: US English, included

Enlargement Playing cards

  • 2 USB-C $24
  • 3 USB-A $36
  • 2 HDMI $50
  • 1 DP $50
  • 1 MicroSD $25
  • 1 Storage – 1TB $199
  • Sub-total: 384$

Equipment

  • Energy Adapter – US/Canada $64.00

Complete

  • Earlier than tax: 1606$
  • After tax and duties: 1847$
  • Free delivery

That is principally the TL;DR: right here, simply specializing in broad professionals/cons of
the laptop computer.

Professionals

Cons

A breeze.

Accessing the board

The internals are accessed via 5 TorX screws, however there is a good
screwdriver/spudger that works effectively sufficient. The screws really maintain in
place so you possibly can’t even lose them.

The primary setup is a bit counter-intuitive coming from the Librem
laptop computer, as I anticipated the again cowl to carry and provides me entry to the
internals. However as an alternative the screws is launch the keyboard and contact
pad meeting, so that you really must flip the laptop computer again upright and
carry the meeting off (!) to get entry to the internals. Sort of
scary.

I additionally really unplugged a connector in lifting the meeting as a result of
I lifted it in direction of the monitor, whilst you really must carry it
to the best. Fortunately, the connector did not break, it simply
snapped off and I may plug it again in, no hurt accomplished.

As soon as there, every little thing is effectively indicated, with QR codes all around the
place supposedly resulting in on-line directions.

Unhealthy QR codes

Sadly, the QR codes I examined (within the growth card slot, the
reminiscence slot and CPU slots) didn’t really work so I ponder how
helpful these really are.

In any case, they should level to one thing and meaning a URL, a
operating web site that may reply these requests endlessly. I guess these
will break ahead of later and in reality, so far as I can inform, they
simply do not work in any respect. I desire the strategy taken by the MNT reform
right here which designed (with the
100 rabbits folks) an actual paper
handbook
(PDF).

The primary QR code that is instantly seen from the again of the
laptop computer, in an growth wire slot, is a 404. It appears to be some
serial quantity URL, however I can not really inform as a result of, effectively, the web page
is a 404.

I used to be anticipating that bar code to steer me to an introduction web page,
one thing like “tips on how to setup your Framework laptop computer”. Help really
confirmed that it ought to level a quickstart guide. However in a
weird twist, they in some way despatched me the URL with the plus (+) indicators
escaped, like this:

https://guides.body.work/Information/Framework+Laptop computer+DIY+Version+Fast+Begin+Information/57

… which Firefox instantly transforms in:

https://guides.body.work/Information/Framework/+Laptop computer/+DIY/+Version/+Fast/+Begin/+Information/57

I am puzzled as to why they’d ship the URL that approach, the right URL
is in fact:

https://guides.body.work/Information/Framework+Laptop computer+DIY+Version+Fast+Begin+Information/57

(They’ve additionally “let the workforce learn about this for suggestions and assist
resolve the issue with the hyperlink” which is a help code phrase for
“ha-ha! nope! not my downside proper now!” Belief me, I do know, my very own
code phrase is “are you able to please make a ticket?”)

Seating disks and reminiscence

The “DIY” equipment would not even have that a lot of a setup. When you
purchased RAM, it is shipped outdoors the laptop computer in just a little plastic case,
so that you simply seat it in as normal.

Then you definately insert your NVMe drive, and, if that is your fancy, you additionally
set up your personal mPCI WiFi card. When you ordered one (which was my
case), it is pre-installed.

Closing the laptop computer can also be sort of wonderful, as a result of the keyboard
meeting snaps into place with magnets. I’ve really used the
laptop computer with the keyboard unscrewed as I used to be placing the drives in and
out, and it really works wonderful (and can in all probability void your guarantee,
so do not do this). (However you possibly can.) (However do not, actually.)

Keyboard and contact pad

The keyboard feels good, for a laptop computer. I am used to mechanical keyboard
and I am fairly violent with these poor issues. But the important thing journey is
good and it is clickety sufficient that I do not really feel too disoriented.

At first, I felt the keyboard as being extra laggy than my regular
workstation setup, nevertheless it turned out this was a graphics driver
points. After enabling a composition supervisor, every little thing feels snappy.

The contact pad feels good. The double-finger scroll works effectively sufficient,
and I haven’t got to surprise an excessive amount of the place the center button is, it
simply works.

Faucets do not work, out of the field: that must be enabled in Xorg,
with one thing like this:

cat > /and many others/X11/xorg.conf.d/40-libinput.conf <<EOF
Part "InputClass"
      Identifier "libinput contact pad catchall"
      MatchIsTouchpad "on"
      MatchDevicePath "/dev/enter/occasion*"
      Driver "libinput"
      Choice "Tapping" "on"
      Choice "TappingButtonMap" "lmr"
EndSection
EOF

However remember that when you allow that tapping, you may must deal
with palm detection… So I’ve not really enabled this ultimately.

Energy button

The ability button is a little harmful. It is fairly simple to hit, as
it is proper subsequent to 1 growth card the place you might be prone to plug in
a cable energy. And since the growth playing cards are sort of onerous to
take away, you may squeeze the laptop computer (and the facility key) when making an attempt
to take away the growth card subsequent to the facility button.

So clearly, do not do this. However that is not very useful.

Another is to make the facility button do one thing else. With
systemd-managed methods, it is really fairly simple. Add a
HandlePowerKey stanza to (say)
/and many others/systemd/logind.conf.d/power-suspends.conf:

[Login]
HandlePowerKey=droop
HandlePowerKeyLongPress=poweroff

You may need to create the listing first:

mkdir /and many others/systemd/logind.conf.d/

Then restart logind:

systemctl restart systemd-logind

And the facility button will droop! Lengthy-press to energy off would not
really work because the laptop computer instantly suspends…

Be aware that there is in all probability half a dozen different methods of doing this,
see this, this, or that.

Particular keybindings

There’s a sequence of “hidden” (as in: not labeled on the important thing)
keybindings associated to the fn keybinding that I really
discover fairly helpful.

Key Equal Impact Command
p Pause lock display xset s activate
b Break ? ?
ok ScrLk change keyboard format N/A

It seems to be like these are defined in the microcontroller so it
could be attainable so as to add some. For instance, the SysRq key
is virtually sure to fn s in there.

Be aware that almost all different shortcuts like this are clearly documented
(quantity, brightness, and many others). One key that is much less apparent is
F12 that solely has the Framework emblem on it. That really
calls the keysym XF86AudioMedia which, apparently, does
completely nothing right here. By default, on Home windows, it opens your
browser to the Framework website
and, on Linux, your “default
media participant”.

The keyboard backlight will be cycled with fn-space. The
dimmer model is dim sufficient, and the keybinding is simple to seek out in
the darkish.

A skinny elephant could be carried out with alt
PrtScr (above F11) KEY, so for
instance alt fn F11 b
ought to do a tough reset. This comment suggests it’s worthwhile to maintain
the fn solely if “operate lock” is on, however that is
really the alternative of my expertise.

Out of the field, a number of the fn keys do not work. Mute,
quantity up/down, brightness, monitor adjustments, and the airplane mode key
all do principally nothing. They do not ship correct keysyms to Xorg at
all.

It is a known problem and it is associated to the truth that the
laptop computer has mild sensors to regulate the brightness
routinely. By some means a few of these keys (e.g. the brightness
controls) are supposed to point out up as a special enter system, however
do not appear to work accurately. It looks like the answer is for the
Framework workforce to put in writing a driver particularly for this, however so far no
progress since July 2022
.

Within the meantime, the flamboyant performance will be supposedly disabled with:

echo 'blacklist hid_sensor_hub' | sudo tee /and many others/modprobe.d/framework-als-blacklist.conf

… and a reboot. This resolution can also be documented in the upstream
guide
.

Be aware that there is one other resolution flying round that fixes this by
changing permissions on the input device however I have not examined
that or seen affirmation it really works.

Kill switches

The Framework has two “kill switches“: one for the digicam and the
different for the microphone. The digicam one really disconnects the USB
system when turned off, and the mic one appears to chop the circuit. It
would not present up as muted, it simply stops feeding the sound.

Each kill switches are round the primary digicam, on high of the monitor,
and fairly discreet. Then flip “pink” when enabled (i.e. “pink” means
“turned off”).

Monitor

The monitor seems to be fairly good to my untrained eyes. I’ve but to do
pictures work on it, however some photographs I checked out look sharp and the
colours are shiny and energetic. The blacks are darkish and the display is
shiny.

I’ve but to make use of it in full daylight.

The dimmed mild may be very dim, which I like.

Display screen backlight

I bind brightness keys to xbacklight in i3, however out of the field I get
this error:

sep 29 22:09:14 angela i3[5661]: No outputs have backlight property

It simply requires this blob in /and many others/X11/xorg.conf.d/backlight.conf:

Part "System"
    Identifier  "Card0"
    Driver      "intel"
    Choice      "Backlight"  "intel_backlight"
EndSection

This manner I can management the precise backlight energy with the brightness
keys, and so they do considerably scale back energy utilization.

A number of monitor help

I’ve been in a position to hook up my two previous screens to the HDMI and
DisplayPort growth playing cards on the laptop computer. The lid closes with out
suspending the machine, and every little thing works nice.

I really run out of ports, even with a 4-port USB-A hub, which provides
me a complete of seven ports:

  1. energy (USB-C)
  2. monitor 1 (DisplayPort)
  3. monitor 2 (HDMI)
  4. USB-A hub, which provides:
  5. keyboard (USB-A)
  6. mouse (USB-A)
  7. Yubikey
  8. exterior sound card

Now the latter, I’d be capable to eliminate if I change to a
combo-jack headset, which I do have (and nonetheless want to check).

However nonetheless, this can be a downside. I am going to in all probability want a powered USB-C dock
and higher screens, presumably with some
Thunderbolt chaining, to
save but extra ports.

However meaning more cash into this setup, argh. And determining my
monitor state of affairs is the sort of factor I am not that huge
of a fan of. And neither is looking for USB-C (or is it Thunderbolt?)
hubs.

My regular autorandr setup would not work: I’ve tried saving a
profile and it would not get autodetected, so I additionally first must do:

autorandr -l framework-external-dual-lg-acer

The magic:

autorandr -l horizontal

… additionally works effectively.

The worst downside with these screens proper now’s that they’ve a
radically smaller decision than the primary display on the laptop computer, which
means I must reset the font scaling to regular each time I change
backwards and forwards between these screens and the laptop computer, which suggests I
really want to do that:

autorandr -l horizontal &&
eho Xft.dpi: 96 | xrdb -merge &&
systemctl restart terminal xcolortaillog background-image emacs &&
i3-msg restart

Sort of disruptive.

Enlargement ports

I ordered a complete of 10 growth ports.

I did handle to initialize the 1TB drive as an encrypted storage,
largely to maintain photographs as that is one thing that takes an enormous quantity
of area (500GB and counting) and that I (sadly) do not work on
fairly often (however nonetheless carry round).

The growth ports are fancy and good, however not really that
handy. They are a bit onerous to take out: you actually need to crimp
your fingernails on there and pull onerous to take them out. There is a
little button subsequent to them to launch, I believe, however at first it feels
just a little scary to drag these pucks out of there. You get used to it
although, and it is a kind of issues you are able to do with out trying
ultimately.

There’s solely 4 growth ports. After getting two screens, the
drive, and energy plugged in, bam, you are out of ports; there’s nowhere
to plug my Yubikey. So if that is going to be my each day driver, with a
twin monitor setup, I’ll want a dock, which suggests extra crap firmware
and uncertainty, which is not nice. There are literally plans to make a
dual-USB card, however that’s
blocked on designing an actual
board
for this.

I can not wait to see extra growth ports produced. There is a ethernet
expansion card
which rapidly went out of inventory principally the day
it was introduced, however was ultimately restocked.

I want to see a correct SD-card reader. There is a MicroSD card
reader, however that clearly would not work for regular SD playing cards, which
could be extra broadly suitable anyhow (as a result of you possibly can have a
MicroSD to SD card adapter, however I’ve by no means heard of the
reverse). Somebody really found a SD card reader that fits and
then someone else managed to cram it in a 3D printed case, which
is sort of wonderful.

Nonetheless, I actually like that concept that I can carry all these little
adapters in a pouch once I journey and might principally do something I
need. It does imply I must shuffle via them to seek out the best
one which is just a little annoying. I’ve an elastic band to maintain them
lined up so that every one the ports present the identical facet, to make it simpler
to seek out the best one. However that rapidly will get undone and as an alternative I’ve
a pouch stuffed with growth playing cards.

One other superior factor with the growth playing cards is that they do not simply
work on the laptop computer: something that takes USB-C can take these playing cards,
which suggests you should utilize it to attach an SD card to your cellphone, for
backups, for instance. Heck, you can even join an exterior show
to your cellphone that approach, assuming that is supported by your cellphone of
course (and it in all probability is not).

The growth ports do take up some energy, even when idle. See the
power management part under, and significantly the power usage
tests
for particulars.

USB-C charging

One factor that can be a sport changer for me is USB-C charging. It is
onerous to overstate how handy that is. I typically have a USB-C cable
mendacity round to cost my cellphone, and I can simply seize that factor and
pop it in my laptop computer. And whereas it is going to clearly not cost as quick as
the offered charger, it is going to cease draining the battery at the very least.

(As I wrote this, I had the laptop computer plugged within the Samsung charger that
got here with a cellphone, and it was telling me it could take 6 hours to
cost the remaining 15%. With the offered charger, that flew all the way down to
quarter-hour. Equally, I can energy the laptop computer from the facility grommet
on my desk, decreasing litter as I’ve that single wire on the market
as an alternative of the cumbersome energy adapter.)

I additionally actually like the concept that I can cost my laptop computer with an influence
financial institution or, heck, with my cellphone, if push involves shove. (And
vice-versa!)

That is superior. And it really works from any of the growth ports, of
course. There’s just a little led subsequent to the growth ports as effectively,
which point out the cost standing:

  • pink/amber: charging
  • white: charged
  • off: unplugged

I couldn’t find documentation about this, however the forum
answered
.

That is one thing of a recurring theme with the Framework. Whereas it
has a very good knowledge base and repair/setup guides (and the
forum is awesome) nevertheless it would not have a very good “proprietor guide” that
reveals you the totally different components of the laptop computer and what they do. Once more,
one thing the MNT reform did well.

One other factor that persons are asking about is an external sleep
indicator
: as a result of the facility LED is on the primary keyboard meeting,
you do not really see whether or not the system is lively or not when the
lid is closed.

Lastly, I questioned what happens when you plug in multiple power
sources
and it seems the cost controller is definitely fairly
sensible: it is going to choose the very best energy supply and use it. The one
draw back is it could’t use a number of energy sources, however that looks like
a bit a lot to ask.

These issues additionally work:

  • webcam: splendid, greatest webcam I’ve ever had (however my requirements are
    actually low)
  • onboard mic: works effectively, good achieve (possibly a bit a lot)
  • onboard audio system: sound okay, just a little metal-ish, loud sufficient to be
    annoying, see this thread for benchmarks, apparently fairly
    good audio system
  • combo jack: works, with slight hiss, see under

There’s additionally a lightweight sensor, nevertheless it conflicts with the keyboard
brightness controls (see above).

There’s additionally an accelerometer, nevertheless it’s off by default and
might be removed from future builds.

Combo jack mic checks

The Framework laptop computer ships with a combo jack on the left facet, which
permits you to plug in a
CTIA (source) headset. In human
phrases, it is a system that has each a stereo output and a mono enter,
sometimes a headset or ear buds with a microphone someplace.

It works, which is best than the Purism (which solely had audio
out), however is on par for the course for that sort of onboard
{hardware}. Due to electrical interference, such sound playing cards very
typically get a lot of noise from the board.

With a Jabra Evolve 40, the built-in USB sound card generates
principally zero noise on silence (invisible all the way down to -60dB in Audacity)
whereas plugging it in straight generates a stable -30dB hiss. There is
a noise-reduction system in that sound card, however the distinction is
nonetheless fairly putting.

On a comparable setup (curie, a 2017 Intel NUC), there’s
additionally a his with the Jabra headset, nevertheless it’s quieter, extra within the order
of -40/-50 dB, a noticeable distinction. Curiously, testing with my
Mee Audio Professional M6 earbuds results in just a little extra hiss on curie, extra on
the -35/-40 dB vary, near the Framework.

Additionally word that one other sound card, the Antlion USB adapter that comes
with the ModMic 4, additionally offers me fairly near silence on a quiet
recording, choosing up lower than -50dB of background noise. It is
really in all probability choosing up the followers within the workplace, which do make
audible noises.

In different phrases, the hiss of the sound card constructed within the Framework
laptop computer is so loud that it makes extra noise than the quiet followers within the
workplace. Or, one other strategy to put it’s that two USB sound playing cards (the
Jabra and the Antlion) are in a position to choose up ambient noise in my workplace
however not the Framework laptop computer.

See additionally my audio web page.

Efficiency checks

Compiling Linux 5.19.11

On a single core, compiling the Debian model of the Linux kernel
takes round 100 minutes:

5411.85user 673.33system 1:37:46elapsed 103percentCPU (0avgtext+0avgdata 831700maxresident)ok
10594704inputs+87448000outputs (9131major+410636783minor)pagefaults 0swaps

This was utilizing 16 watts of energy, with full display brightness.

With all 16 cores (make -j16), it takes lower than 25 minutes:

19251.06user 2467.47system 24:13.07elapsed 1494percentCPU (0avgtext+0avgdata 831676maxresident)ok
8321856inputs+87427848outputs (30792major+409145263minor)pagefaults 0swaps

I needed to plug the conventional energy provide after a couple of minutes as a result of
battery would really run out utilizing my desk’s energy grommet (34
watts).

Throughout compilation, followers had been spinning actually onerous, fairly noisy, however
not painfully so.

The laptop computer was sucking 55 watts of energy, steadily:

  Time    Person  Good   Sys  Idle    IO  Run Ctxt/s  IRQ/s Fork Exec Exit  Watts
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------
 Common  87.9   0.0  10.7   1.4   0.1 17.8 6583.6 5054.3 233.0 223.9 233.1  55.96
 GeoMean  87.9   0.0  10.6   1.2   0.0 17.6 6427.8 5048.1 227.6 218.7 227.7  55.96
  StdDev   1.4   0.0   1.2   0.6   0.2  3.0 1436.8  255.5 50.0 47.5 49.7   0.20
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------
 Minimal  85.0   0.0   7.8   0.5   0.0 13.0 3594.0 4638.0 117.0 111.0 120.0  55.52
 Most  90.8   0.0  12.9   3.5   0.8 38.0 10174.0 5901.0 374.0 362.0 375.0  56.41
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------
Abstract:
CPU:  55.96 Watts on common with commonplace deviation 0.20
Be aware: energy learn from RAPL domains: package-0, uncore, package-0, core, psys.
These readings don't cowl all of the {hardware} on this system.

memtest86+

I ran Memtest86+ v6.00b3. It reveals one thing like this:

Memtest86+ v6.00b3      | twelfth Gen Intel(R) Core(TM) i5-1240P
CLK/Temp: 2112MHz    78/78°C | Cross  2% #
L1 Cache:   48KB    414 GB/s | Take a look at 46% ##################
L2 Cache: 1.25MB    118 GB/s | Take a look at #3 [Moving inversions, 1s & 0s] 
L3 Cache:   12MB     43 GB/s | Testing: 16GB - 18GB [1GB of 15.7GB]
Reminiscence  :  15.7GB  14.9 GB/s | Sample: 
--------------------------------------------------------------------------------
CPU: 4P+8E-Cores (16T)    SMP: 8T (PAR))  | Time:  0:27:23  Standing: Cross     
RAM: 1600MHz (DDR4-3200) CAS 22-22-22-51  | Cross:  1        Errors: 0
--------------------------------------------------------------------------------

Reminiscence SPD Info
----------------------
 - Slot 2: 16GB DDR-4-3200 - Essential CT16G4SFRA32A.C16FP (2022-W23)







                          Framework FRANMACP04
 <ESC> Exit  <F1> Configuration  <House> Scroll Lock            6.00.unknown.x64

So about half-hour for a full 16GB reminiscence check.

As soon as I had every little thing within the {hardware} setup, I figured, voilà, I am
accomplished, I am simply going in addition this lovely machine and I can get again
to work.

I do not perceive why I’m so naïve some occasions. It is thoughts boggling.

Clearly, it did not occur that approach in any respect, and I spent the very best of
the three following days tinkering with the laptop computer.

Safe boot and EFI

First, I could not boot off of the NVMe drive I transferred from the
earlier laptop computer (the
Purism) and the
BIOS was not very useful: it was simply complaining about not discovering
any boot system, with out dropping me in the true BIOS.

At first, I assumed it was an issue with my NVMe drive, as a result of it is
not listed within the compatible SSD drives from upstream. However I
found out how to enter BIOS (press F2 manically, of
course), which confirmed the NVMe drive was really detected. It simply
did not boot, as a result of it was an previous (2010!!) Debian set up with out
EFI.

So from there, I disabled safe boot, and booted a grml image to
attempt to recuperate. And by “boot” I imply, I managed to get to the grml
boot loader which promptly did not load its personal root file system
in some way. I nonetheless have to research precisely what occurred there, however
it failed a while after the initrd load with:

Unable to seek out medium containing a stay file system

This, it seems, was fastened in Debian currently, so a daily GRML
build
is not going to have this issues. The upcoming 2022 launch
(probably 2022.10 or 2022.11) may even get the repair.

I did handle in addition the development version of the Debian
installer
which was a surprisingly good expertise: it mounted the
encrypted drives and did every little thing fairly easily. It even supplied
me to reinstall the boot loader, however that finally (and accurately, as
it seems) failed as a result of I did not have a /boot/efi partition.

At this level, I noticed there was no simple approach out of this, and I
simply proceeded to utterly reinstall Debian. I had a spare NVMe
drive mendacity round (backups FTW!) so I simply swapped that in, rebooted
within the Debian installer, and did a clear set up. I wished to change
to bookworm anyhow, so I suppose that is accomplished too.

Storage limitations

One other factor that occurred throughout setup is that I attempted to repeat over
the inner 2.5″ SSD drive from the Purism to the Framework 1TB
growth card. There isn’t any 2.5″ slot within the new laptop computer, in order that’s
just about the one possibility for storage growth.

I used to be drained and did one thing mistaken. I ended up wiping the partition
desk on the authentic 2.5″ drive.

Oops.

It may be recoverable, however simply restoring the partition desk
did not work both, so I am unsure how I recuperate the info
there. Usually, every little thing on my laptops and workstations is designed
to be disposable, in order that wasn’t that huge of an issue. I did handle
to recuperate many of the knowledge due to
git-annex reinit, however
that was just a little furry.

Bootstrapping Puppet

As soon as I had some networking, I needed to set up all of the packages I
wanted. The time I spent establishing my workstations with Puppet has
lastly paid off. What I really did was to revive two essential
directories:

/and many others/ssh
/var/lib/puppet

In order that I’d preserve the earlier machine’s id. That approach I may
contact the Puppet server and set up no matter was lacking. I used my
Puppet optimization
trick
to do a batch
set up after which I had a very good base setup, though not precisely because it
was earlier than. 1700 packages had been put in manually on angela earlier than
the reinstall, and never in Puppet.

I didn’t examine every one individually, however I did undergo /and many others
and copied over extra SSH keys, for backups and SMTP over SSH.

LVFS help

It seems to be like there’s help for the (de-facto) commonplace LVFS
firmware replace system. Not less than I used to be in a position to replace the UEFI
firmware with a easy:

apt set up fwupd-amd64-signed
fwupdmgr refresh
fwupdmgr get-updates
fwupdmgr replace

Good. The twelfth gen BIOS updates, presently (January 2023) beta,
will be deployed via LVFS with:

fwupdmgr enable-remote lvfs-testing
echo 'DisableCapsuleUpdateOnDisk=true' >> /and many others/fwupd/uefi_capsule.conf 
fwupdmgr replace

These directions come from the beta forum post. I carried out the
BIOS replace on 2023-01-16T16:00-0500.

Decision tweaks

The Framework laptop computer decision (2256px X 1504px) is sufficiently big to
offer you a fairly small font measurement, so welcome to the marvelous world
of “scaling”.

The Debian wiki page has a couple of tips for this.

Console

This can make the console and grub fonts extra readable:

cat >> /and many others/default/console-setup <<EOF
FONTFACE="Terminus"
FONTSIZE=32x16
EOF
echo GRUB_GFXMODE=1024x768 >> /and many others/default/grub
update-grub

Xorg

Including this to your .Xresources will make every little thing look a lot greater:

! 1.5*96
Xft.dpi: 144

Apparently, a few of this may additionally assist:

! These may also be helpful relying in your monitor and private desire:
Xft.autohint: 0
Xft.lcdfilter:  lcddefault
Xft.hintstyle:  hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb

It my expertise it additionally makes issues look just a little fuzzier, which is
irritating as a result of you could have this superior monitor however every little thing seems to be
out of focus. Simply bumping Xft.dpi by a 1.5 issue seems to be good to me.

The Debian Wiki has a page on HiDPI, nevertheless it’s not so good as the
Arch Wiki, the place the above blurb comes from. I’m not utilizing the
latter as a result of I believe it is inflicting a number of the “fuzziness”.

TODO: discover the equal of this GNOME hack in i3? (gsettings set
org.gnome.mutter experimental-features
"['scale-monitor-framebuffer']"
), taken from this Framework
guide

BIOS configuration

The Framework BIOS has some minor points. One subject I personally
encountered is that I had disabled Fast boot and Quiet boot in
the BIOS to diagnose the above boot points. This, in flip, triggers a
bug the place the BIOS boot supervisor (F12) would simply cling
utterly. It will additionally fail in addition from an exterior USB drive.

The current fix (as of BIOS 3.03) is to re-enable each Fast
boot
and Quiet boot. Presumably that is one thing that may get
fastened in a future BIOS replace.

Be aware that the next keybindings are lively within the BIOS POST
check
:

Key Which means
F2 Enter BIOS setup menu
F12 Enter BIOS boot supervisor
Delete Enter BIOS setup menu

WiFi compatibility points

I could not make WiFi work at first. Clearly, the default Debian
installer would not ship with proprietary firmware (though that
might
change soon
) so the WiFi card did not work out of the field. However even
after copying the firmware via a USB stick, I could not fairly
handle to seek out the best mixture of ip/iw/wpa-supplicant
(sure, after repeatedly copying a bunch extra packages over to get
these bootstrapped). (Subsequent time I ought to in all probability strive one thing like
this post.)

Fortunately, I had just a little USB-C dongle with a RJ-45 jack mendacity
round. That additionally required a firmware blob, nevertheless it was a single
bundle to repeat over, and with that loaded, I had community.

Finally, I did managed to make WiFi work; the issue was extra on
the facet of “I forgot tips on how to configure a WPA community by hand from the
commandline” than the rest. NetworkManager labored wonderful and received
WiFi working accurately.

Be aware that that is with Debian bookworm, which has the 5.19 Linux
kernel, and with the firmware-nonfree (firmware-iwlwifi,
particularly) bundle.

Battery life

I used to be having between about 7 hours of battery on the Purism Librem
13v4, and that is after a 12 months or two of battery life. Now, I nonetheless
have about 7 hours of battery life, which is nicer than my previous
ThinkPad X220 (20 minutes!) however actually, it isn’t that good for a brand new
technology laptop computer. The twelfth technology Intel chipset in all probability improved
issues in comparison with the earlier one Framework laptop computer, however I haven’t got
a eleventh gen Framework to check with).

(Be aware that these are estimates from my standing bar, not wall clock
measurements. They need to nonetheless be comparable between the Purism and
Framework, that stated.)

The battery life would not appear as much as, say, Dell XPS 13, ThinkPad X1, and
in fact not the Apple M1, the place I’d count on 10+ hours of battery
life out of the field.

That stated, I do get these form estimates when the machine is totally
charged and idle. In actual fact, when every little thing is quiet and nothing is
plugged in, I get dozens of hours of battery life estimated (I’ve
seen 25h!). So energy utilization fluctuates fairly a bit relying on utilization,
which I suppose is anticipated.

Concretely, up to now, mild internet shopping, studying emails and writing
notes in Emacs (e.g. this file) takes about 8W of energy:

Time    Person  Good   Sys  Idle    IO  Run Ctxt/s  IRQ/s Fork Exec Exit  Watts
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------
 Common   1.7   0.0   0.5  97.6   0.2  1.2 4684.9 1985.2 126.6 39.1 128.0   7.57
 GeoMean   1.4   0.0   0.4  97.6   0.1  1.2 4416.6 1734.5 111.6 27.9 113.3   7.54
  StdDev   1.0   0.2   0.2   1.2   0.0  0.5 1584.7 1058.3 82.1 44.0 80.2   0.71
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------
 Minimal   0.2   0.0   0.2  94.9   0.1  1.0 2242.0  698.2 82.0 17.0 82.0   6.36
 Most   4.1   1.1   1.0  99.4   0.2  3.0 8687.4 4445.1 463.0 249.0 449.0   9.10
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------
Abstract:
System:   7.57 Watts on common with commonplace deviation 0.71

Enlargement playing cards matter rather a lot within the battery life (see under for a
thorough dialogue), my regular setup is 2xUSB-C and 1xUSB-A (sure,
with an empty slot, and sure, to avoid wasting energy).

Curiously, enjoying a video in a (720p) window in a window takes up
extra energy (10.5W) than in full display (9.5W) however I blame that on my
desktop setup (i3 + compton)… Undecided if mpv hits the
VA-API, possibly not in windowed mode. Related outcomes with 1080p,
apparently, besides the window struggles to maintain up altogether. Full
display playback takes a comparatively comfy 9.5W, which suggests a
stable 5h+ of playback, which is ok by me.

Fooling across the internet, small edits, youtube-dl, and I am at round 80%
battery after about an hour, with an estimated 5h left, which is a
little disappointing. I had a 7h remaining estimate earlier than I began
goofing round Discourse, so I believe the web site is a fairly
huge battery drain, really. I see about 10-12 W, whereas I used to be in all probability at
half that (6-8W) simply enjoying music with mpv within the background…

In different phrases, it seems to be like modifying posts in Discourse with Firefox
takes a stable 4-6W of energy. Wonderful and gross.

(When writing about abusive energy utilization generates extra energy utilization, is
that an heisenbug? Or schrödinbug?)

Energy administration

In comparison with the Purism Librem 13v4, the ongoing energy utilization appears to
be barely higher. An anecdotal metric is that the Purism would take
800mA idle, whereas the extra highly effective Framework manages just a little over
500mA as I am typing this, fluctuating between 450 and 600mA. That’s
with none lively growth card, besides the storage. These numbers
come from the output of tlp-stat -b and, sadly, the “ampere”
unit makes it fairly onerous to check these, as a result of voltage isn’t
essentially the identical between the 2 platforms.

TL:DR; energy administration on the laptop computer is a matter, however there’s numerous
tweaks you can also make to enhance it. Strive:

  • powertop --auto-tune
  • apt set up tlp && systemctl allow tlp
  • nvme.noacpi=1 mem_sleep_default=deep on the kernel command line
    might assist with standby energy utilization
  • preserve solely USB-C growth playing cards plugged in, all others suck energy
    even when idle
  • take into account upgrading the BIOS to newest beta (3.06 on the time of
    writing), unverified energy financial savings
  • newest Linux kernels (6.2) promise energy financial savings as effectively
    (unverified)

Background on CPU structure

There have been energy issues within the eleventh gen Framework laptop computer, in accordance
to
this report from Linux After Dark, so the problems with energy
administration on the Framework aren’t new.

The twelfth technology Intel CPU (AKA “Alder Lake“) is a big-little
architecture
with “power-saving” and “efficiency” cores. There
was performance problems introduced by the scheduler in Linux
5.16
however these had been ultimately fixed in 5.18, which makes use of
Intel’s {hardware} as an “clever, low-latency hardware-assisted
scheduler”. In accordance to Phoronix, the 5.19 launch improved the
energy saving, at the price of some penalty value. There have been additionally patch
series
to make the scheduler configurable, nevertheless it would not look
these have been merged as of 5.19. There was additionally a session about this
on the 2022 Linux Plumbers, however they stopped short of
speaking extra concerning the particular issues Linux is going through in Alder
lake:

Particularly, the kernel’s energy-aware scheduling heuristics do not
work effectively on these CPUs. Plenty of options current there
complicate the power image; these embrace SMT, Intel’s “turbo
increase” mode, and the CPU’s inner power-management mechanisms. For
many workloads, operating on an ostensibly extra power-hungry Pcore can
be extra environment friendly than utilizing an Ecore. Time for dialogue of the
downside was missing, although, and the session got here to an in depth.

All this to say that the 12gen Intel line shipped with this Framework
sequence ought to have higher energy administration due to its
power-saving cores. And Linux has had the scheduler adjustments to make
use of this (however possibly continues to be having hassle). In any case, this
may not be the supply of energy administration issues on my laptop computer,
fairly the alternative.

Additionally word that the firmware updates for various chipsets are
supposed to enhance issues ultimately.

Then again, The Verge merely declared the entire P-series
a mistake

Makes an attempt at bettering energy utilization

I did attempt to comply with a number of the ideas in this forum post. The
tips powertop --auto-tune and tlp‘s
PCIE_ASPM_ON_BAT=powersupersave principally did nothing: I used to be caught
at 10W energy utilization in powertop (600+mA in tlp-stat).

Apparently, I ought to be capable to attain the C8 CPU energy state (or
even C9, C10) in powertop, however I appear to be inventory at
C7. (Though I am unsure tips on how to learn that tab in powertop: within the
Core(HW) column there’s solely C3/C6/C7 states, and most cores are 85%
in C7 or possibly C6. However the subsequent column over does present many CPUs in
C10 states…

Because it seems, the graphics card really takes up a very good chunk of
energy until correct energy administration is enabled (see under). After
tweaking this, I did handle to get all the way down to round 7W energy utilization in
powertop.

Enlargement playing cards really do take up energy, and so does the display,
clearly. The fully-lit display takes a stable 2-3W of energy in contrast
to the totally dimmed display. When eradicating all growth playing cards and
making the laptop computer idle, I can spin it all the way down to 4 watts energy utilization at
the second, and a tremendous 2 watts when the display turned off.

Caveats

Abusive (10W+) energy utilization that I initially discovered could possibly be an issue
with my desktop configuration: I’ve this foolish standing bar that
updates each second and possibly causes redraws… The CPU definitely
would not appear to spin down under 1GHz. Additionally word that that is with an
precise desktop operating with every little thing: it may very effectively be that
some issues (I am you Sign Desktop) take up unreasonable
quantity of energy on their very own (hiya, 1W/electron, sheesh). Syncthing
and containerd (Docker!) additionally appear to take a very good 500mW simply sitting
there.

Past my desktop configuration, this might, in fact, be a
Debian-specific downside; your favourite distribution could be higher at
energy administration.

Idle energy utilization checks

Some growth playing cards waste power, even when unused. Here’s a abstract
of the findings from the
powerstat web page. I additionally embrace different
gadgets examined on this web page for completeness:

System Minimal Common Max Stdev Be aware
Display screen, 100% 2.4W 2.6W 2.8W N/A
Display screen, 1% 30mW 140mW 250mW N/A
Backlight 1 290mW ? ? ? pretty small, all issues thought-about
Backlight 2 890mW 1.2W 3W? 460mW? geometric development
Backlight 3 1.69W 1.5W 1.8W? 390mW? important energy use
Radios 100mW 250mW N/A N/A
USB-C N/A N/A N/A N/A negligible energy drain
USB-A 10mW 10mW ? 10mW virtually negligible
DisplayPort 300mW 390mW 600mW N/A not passive
HDMI 380mW 440mW 1W? 20mW not passive
1TB SSD 1.65W 1.79W 2W 12mW important, in all probability larger when busy
MicroSD 1.6W 3W 6W 1.93W highest energy utilization, presumably even larger when busy
Ethernet 1.69W 1.64W 1.76W N/A akin to the SSD card

So it seems to be like all growth playing cards however the USB-C ones are lively,
i.e. they draw energy with idle. The USB-A playing cards are the least concern,
sucking out 10mW, just about inside the margin of error. However each the
DisplayPort and HDMI do take a couple of hundred miliwatts. It seems to be like
USB-A connectors have this elementary flaw that they essentially draw
some powers as a result of they lack the facility negotiation options of
USB-C. Not less than according to this post:

It appears the USB A should have energy going to it on a regular basis, that
the previous USB 2 and three protocols, the USB C solely offers energy when
there’s a connection. Outdated versus new.

Apparently, this can be a downside particular to the USB-C to USB-A
adapter that ships with the Framework. Some folks have actually
changed their orders to all USB-C
due to this downside, however I am
unsure the issue is as severe as claimed within the boards. I
could not reproduce the “one watt” energy drains prompt elsewhere,
at the very least not repeatedly. (A earlier model of this put up did present
such an influence drain, nevertheless it was in a much less managed check
surroundings than the sequence of extra rigorous checks above.)

The worst offenders are the storage playing cards: the SSD drive takes at
least one watt of energy and the MicroSD card appears to need to take all
the best way as much as 6 watts of energy, each simply sitting there doing
nothing. This confirms claims of 1.4W for the SSD (however not
5W) energy utilization discovered elsewhere. The former post has
directions on tips on how to disable the cardboard in software program. The MicroSD card
has been reported as using 2 watts, however I’ve seen it as excessive as 6
watts, which is fairly damning.

The Framework workforce has a beta update for the DisplayPort adapter
however presently just for Home windows (LVFS technically possible, “under
investigation”
). A USB-A firmware replace is additionally under
investigation
. It’s subsequently probably at the very least a few of these energy
administration points will ultimately be fastened.

Be aware that the upcoming Ethernet card has a reported 2-8W power usage,
depending on traffic
. I did my very own energy utilization checks in
powerstat-wayland and so they appear decrease than 2W.

The upcoming 6.2 Linux kernel may also enhance battery utilization when
idle, see this Phoronix article for details, probably in early
2023.

Idle energy utilization checks underneath Wayland

Replace: I redid these checks underneath Wayland, see powerstat-wayland
for particulars. The TL;DR: is that energy consumption is both smaller or
related.

Idle energy utilization checks, 3.06 beta BIOS

I redid the idle checks after the 3.06 beta BIOS update and ended
up with this outcomes:

System Minimal Common Max Stdev Be aware
Baseline 1.96W 2.01W 2.11W 30mW 1 USB-C, display off, backlight off, no radios
2 USB-C 1.95W 2.16W 3.69W 430mW USB-C confirmed as largely passive…
3 USB-C 1.95W 2.16W 3.69W 430mW … though with additional stdev
1TB SSD 3.72W 3.85W 4.62W 200mW unchanged from earlier than improve
1 USB-A 1.97W 2.18W 4.02W 530mW unchanged
2 USB-A 1.97W 2.00W 2.08W 30mW unchanged
3 USB-A 1.94W 1.99W 2.03W 20mW unchanged
MicroSD w/o card 3.54W 3.58W 3.71W 40mW important enchancment! 2-3W energy saving!
MicroSD w/ card 3.53W 3.72W 5.23W 370mW new measurement! elevated deviation
DisplayPort 2.28W 2.31W 2.37W 20mW unchanged
1 HDMI 2.43W 2.69W 4.53W 460mW unchanged
2 HDMI 2.53W 2.59W 2.67W 30mW unchanged
Exterior USB 3.85W 3.89W 3.94W 30mW new consequence
Ethernet 3.60W 3.70W 4.91W 230mW unchanged

Be aware that the desk abstract is totally different than the earlier desk: right here
we present absolutely the numbers whereas the earlier desk was doing a
complicated try at exhibiting relative (to the baseline) numbers.

Conclusion: the three.06 BIOS replace didn’t considerably change idle
energy utilization stats besides for the MicroSD card which has
considerably improved.

The brand new “exterior USB” check can also be fascinating: it reveals how the
offered 1TB SSD card performs (admirably) in comparison with current
gadgets. The opposite new result’s the MicroSD card with a card which,
apparently, makes use of much less energy than the 1TB SSD drive.

Standby battery utilization

I wrote some quick hack to evaluate how much power is used during
sleep
. Apparently, that is one
of the areas that should have improved since the first Framework
model
, let’s discover out.

My baseline for comparability is the Purism laptop computer, which, in 10 minutes,
went from this:

sep 28 11:19:45 angela systemd-sleep[209379]: /sys/class/power_supply/BAT/charge_now                      =   6045 [mAh]

… to this:

sep 28 11:29:47 angela systemd-sleep[209725]: /sys/class/power_supply/BAT/charge_now                      =   6037 [mAh]

That is 8mAh per 10 minutes (and a couple of seconds), or 48mA, or, with this
battery, about 127 hours or roughly 5 days of standby. Not dangerous!

Compared, right here is my actually previous x220, earlier than:

sep 29 22:13:54 emma systemd-sleep[176315]: /sys/class/power_supply/BAT0/energy_now                     =   5070 [mWh]

… after:

sep 29 22:23:54 emma systemd-sleep[176486]: /sys/class/power_supply/BAT0/energy_now                     =   4980 [mWh]

… which is 90 mwH in 10 minutes, or a whopping 540mA, which was
presumably okay when this battery was new (62000 mAh, so about 100
hours, or about 5 days), however this battery is sort of lifeless and has
solely 5210 mAh when full, so solely 10 hours standby.

See Also

And right here is the Framework performing an analogous check, earlier than:

sep 29 22:27:04 angela systemd-sleep[4515]: /sys/class/power_supply/BAT1/charge_full                    =   3518 [mAh]
sep 29 22:27:04 angela systemd-sleep[4515]: /sys/class/power_supply/BAT1/charge_now                     =   2861 [mAh]

… after:

sep 29 22:37:08 angela systemd-sleep[4743]: /sys/class/power_supply/BAT1/charge_now                     =   2812 [mAh]

… which is 49mAh in just a little over 10 minutes (and 4 seconds), or
292mA, rather more than the Purism, however half of the X220. At this fee,
the battery would final on standby solely 12 hours!! That’s fairly
dangerous.

Be aware that this was accomplished with the next growth playing cards:

  • 2 USB-C
  • 1 1TB SSD drive
  • 1 USB-A with a hub linked to it, with keyboard and LAN

Preliminary checks with out the hub (over one minute) present that it
would not considerably have an effect on this energy consumption (300mA).

This guide additionally suggests booting with nvme.noacpi=1 however this
nonetheless offers me about 5mAh/min (or 300mA).

Including mem_sleep_default=deep to the kernel command line does make a
distinction. Earlier than:

sep 29 23:03:11 angela systemd-sleep[3699]: /sys/class/power_supply/BAT1/charge_now                     =   2544 [mAh]

… after:

sep 29 23:04:25 angela systemd-sleep[4039]: /sys/class/power_supply/BAT1/charge_now                     =   2542 [mAh]

… which is 2mAh in 74 seconds, which is 97mA, brings us to a extra
cheap 36 hours, or a day and a half. It is nonetheless above the x220
energy utilization, and greater than an order of magnitude greater than the Purism
laptop computer. It is also removed from the 0.4% promised by upstream, which
could be 14mA for the 3500mAh battery.

It also needs to be famous that this “deep” sleep mode is a bit more
disruptive than common sleep. As you possibly can see by the timing, it took
greater than 10 seconds for the laptop computer to renew, which feels just a little
alarming as your banging the keyboard to carry it again to life.

You’ll be able to verify the present sleep mode with:

# cat /sys/energy/mem_sleep
s2idle [deep]

Within the above, deep is chosen. You’ll be able to change it on the fly with:

printf s2idle > /sys/energy/mem_sleep

This is one other check:

sep 30 22:25:50 angela systemd-sleep[32207]: /sys/class/power_supply/BAT1/charge_now                     =   1619 [mAh]
sep 30 22:31:30 angela systemd-sleep[32516]: /sys/class/power_supply/BAT1/charge_now                     =   1613 [mAh]

… higher! 6 mAh in about 6 minutes, works out to 63.5mA, so extra
than two days standby.

An extended check:

oct 01 09:22:56 angela systemd-sleep[62978]: /sys/class/power_supply/BAT1/charge_now                     =   3327 [mAh]
oct 01 12:47:35 angela systemd-sleep[63219]: /sys/class/power_supply/BAT1/charge_now                     =   3147 [mAh]

That is 180mAh in about 3.5h, 52mA! Now at 66h, or virtually 3 days.

I wasn’t certain why I used to be seeing such fluctuations in these checks, however
because it seems, expansion card power tests present that they do
considerably have an effect on energy utilization, particularly the SSD drive, which might
take as much as two full watts of energy even when idle. I did not management
for growth playing cards within the above checks — operating them with no matter
card I had plugged in with out paying consideration — so it is probably the
explanation for the excessive energy utilization and fluctuations.

It could be attainable to work round this downside by disabling USB
devices
earlier than droop. TODO. See additionally this post.

Within the meantime, I’ve been in a position to get a lot higher droop
efficiency by unplugging all modules. Then I get this consequence:

oct 04 11:15:38 angela systemd-sleep[257571]: /sys/class/power_supply/BAT1/charge_now                     =   3203 [mAh]
oct 04 15:09:32 angela systemd-sleep[257866]: /sys/class/power_supply/BAT1/charge_now                     =   3145 [mAh]

Which is 14.8mA! Virtually precisely the quantity promised by Framework! With
a full battery, meaning a ten days droop time. That is really
fairly good, and much past what I used to be anticipating when beginning down
this journey.

So, as soon as the growth playing cards are unplugged, droop energy utilization is
really fairly cheap. Extra detailed standby checks can be found
within the standby-tests web page, with a abstract under.

There’s additionally some hope that the Chromebook edition
particularly designed with a specification of 14 days standby
time
— may carry some firmware enhancements again all the way down to the
regular line. A few of these points had been reported upstream in April
2022
, however there would not appear to have been any progress there
since.

TODO: one remaining resolution right here is suspend-then-hibernate, which
Home windows makes use of for this

TODO: take into account implementing the S0ix sleep states , see additionally troubleshooting

TODO: take into account https://github.com/intel/pm-graph

Standby growth playing cards check outcomes

This desk is a abstract of the extra intensive standby-tests I’ve carried out:

System Wattage Amperage Days Be aware
baseline 0.25W 16mA 9 sleep=deep nvme.noacpi=1
s2idle 0.29W 18.9mA ~7 sleep=s2idle nvme.noacpi=1
regular nvme 0.31W 20mA ~7 sleep=s2idle with out nvme.noacpi=1
1 USB-C 0.23W 15mA ~10
2 USB-C 0.23W 14.9mA similar as above
1 USB-A 0.75W 48.7mA 3 +500mW (!!) for the primary USB-A card!
2 USB-A 1.11W 72mA 2 +360mW
3 USB-A 1.48W 96mA <2 +370mW
1TB SSD 0.49W 32mA <5 +260mW
MicroSD 0.52W 34mA ~4 +290mW
DisplayPort 0.85W 55mA <3 +620mW (!!)
1 HDMI 0.58W 38mA ~4 +250mW
2 HDMI 0.65W 42mA <4 +70mW (?)

Conclusions:

  • USB-C playing cards take no additional energy on droop, presumably much less
    than empty slots, extra testing required

  • USB-A playing cards take a lot extra energy on droop
    (300-500mW) than on common idle (~10mW, virtually negligible)

  • 1TB SSD and MicroSD playing cards appear to take a cheap
    quantity of energy
    (260-290mW), in comparison with their runtime
    equivalents
    (1-6W!)

  • DisplayPort takes a shocking lot of energy (620mW), virtually
    double its common runtime utilization (390mW)

  • HDMI playing cards take, surprisingly, much less energy (250mW) in
    standby than the DP card (620mW)

  • and oddly, a second card provides much less energy utilization (70mW?!) than the
    first, possibly a circuit is utilized by each?

A dialogue of these outcomes is in this forum post.

Standby growth playing cards check outcomes, 3.06 beta BIOS

Framework just lately (2022-11-07) announced that they may publish
a firmware improve to deal with a number of the USB-C points, together with
energy administration. This might positively have an effect on the above consequence,
bettering each standby and runtime energy utilization.

The replace came out in December 2022 and I redid my evaluation with
the next outcomes:

System Wattage Amperage Days Be aware
baseline 0.25W 16mA 9 no playing cards, similar as earlier than improve
1 USB-C 0.25W 16mA 9 similar as earlier than
2 USB-C 0.25W 16mA 9 similar
1 USB-A 0.80W 62mA 3 +550mW!! worse than earlier than
2 USB-A 1.12W 73mA <2 +320mW, on high of the above, dangerous!
Ethernet 0.62W 40mA 3-4 new consequence, first rate
1TB SSD 0.52W 34mA 4 a bit worse than earlier than (+2mA)
MicroSD 0.51W 22mA 4 similar
DisplayPort 0.52W 34mA 4+ improve improved by 300mW
1 HDMI ? 38mA ? similar
2 HDMI ? 45mA ? a bit worse than earlier than (+3mA)
Regular 1.08W 70mA ~2 Ethernet, 2 USB-C, USB-A

Full ends in standby-tests-306. The massive takeaway for me is that
the replace did not enhance energy utilization on the USB-A ports which is a
huge downside for my use case. There’s a notable enchancment on the
DisplayPort energy consumption which brings it extra in step with the
HDMI connector, nevertheless it nonetheless would not correctly flip off on droop
both.

Even worse, the USB-A ports now typically fails to resume after
suspend
, which is fairly annoying. It is a known problem
that may hopefully get fastened within the remaining launch.

Battery put on safety

The BIOS has an choice to restrict cost to 80% to mitigate battery
wear
. There is a strategy to management the embedded controller from
runtime with fw-ectool, partly documented here. The command
would be
:

sudo ectool fwchargelimit 80

I checked out constructing this myself however failed to run it. I opened a
RFP in Debian in order that we will ship this in Debian, and also documented
my work there
.

Be aware that there’s now a counter that tracks cost/discharge
cycles. It is seen in tlp-stat -b, which is a pleasant
enchancment:

root@angela:/residence/anarcat# tlp-stat -b
--- TLP 1.5.0 --------------------------------------------

+++ Battery Care
Plugin: generic
Supported options: none out there

+++ Battery Standing: BAT1
/sys/class/power_supply/BAT1/producer                   = NVT
/sys/class/power_supply/BAT1/model_name                     = Framewo
/sys/class/power_supply/BAT1/cycle_count                    =      3
/sys/class/power_supply/BAT1/charge_full_design             =   3572 [mAh]
/sys/class/power_supply/BAT1/charge_full                    =   3541 [mAh]
/sys/class/power_supply/BAT1/charge_now                     =   1625 [mAh]
/sys/class/power_supply/BAT1/current_now                    =    178 [mA]
/sys/class/power_supply/BAT1/standing                         = Discharging

/sys/class/power_supply/BAT1/charge_control_start_threshold = (not out there)
/sys/class/power_supply/BAT1/charge_control_end_threshold   = (not out there)

Cost                                                      =   45.9 [%]
Capability                                                    =   99.1 [%]

One factor that’s nonetheless lacking is the charge threshold data (the
(not out there) above). There’s been some work to make that
accessible
in August, keep tuned? This could additionally make it attainable
implement hysteresis support.

Ethernet growth card

The Framework ethernet expansion card is a flowery little doodle:
“2.5Gbit/s and 10/100/1000Mbit/s Ethernet”, the “clear housing lets
you peek on the RTL8156 controller that powers it”. Which is one other
strategy to say “we did not utterly end prod on this one, so it form
of seems to be like we 3D-printed this within the store”….

The cardboard is just a little cumbersome, however I suppose that is inevitable contemplating
the RJ-45 kind issue when in comparison with the skinny Framework laptop computer.

I’ve had a serious issue when making an attempt it at first: the hyperlink LEDs
simply would not come up. I made a full bug report in the forum and
with upstream help, however ultimately figured it out alone. It is
(in fact) an influence saving subject: if you happen to reboot the machine, the hyperlinks
come up when the laptop computer is operating the BIOS POST examine and even when
the Linux kernel boots.

I first thought that the issue is probably going associated to the
powertop service which I run at boot time to tweak some energy saving
settings.

It looks like this:

echo 'on' > '/sys/bus/usb/gadgets/4-2/energy/management'

… is an effective workaround to carry the cardboard again on-line. You’ll be able to even
return to energy saving mode and the cardboard will nonetheless work:

echo 'auto' > '/sys/bus/usb/gadgets/4-2/energy/management'

Further research by Matt_Hartley from the Framework
Team
discovered this issue in the tlp tracker that reveals how the
USB_AUTOSUSPEND setting allows the facility saving even when the
driver would not help it
, which, looking back, simply appears like a
dangerous thought. To cite that subject:

By default, USB energy saving is lively within the kernel, however not
force-enabled for incompatible drivers. That’s, gadgets that
help suspension will droop, drivers that don’t, is not going to.

So the repair is definitely to uninstall tlp or disable that setting by
including this to /and many others/tlp.conf:

USB_AUTOSUSPEND=0

… however that disables auto-suspend on all USB gadgets, which can
damage different energy utilization efficiency. I have found {that a} a
mixture of:

USB_AUTOSUSPEND=1
USB_DENYLIST="0bda:8156"

and this on the kernel commandline:

usbcore.quirks=0bda:8156:ok

… really does work accurately. I now have this in my
/and many others/default/grub.d/framework-tweaks.cfg file:

# internet.ifnames=0: regular interface names ffs (e.g. eth0, wlan0, not wlp166
s0)
# nvme.noacpi=1: scale back SSD disk energy utilization (not working)
# mem_sleep_default=deep: scale back energy utilization throughout sleep (not working)
# usbcore.quirk is a workaround for the ethernet card droop bug: https:
//guides.body.work/Information/Fedora+37+Set up+on+the+Framework+Laptop computer/
108?lang=en
GRUB_CMDLINE_LINUX="internet.ifnames=0 nvme.noacpi=1 mem_sleep_default=deep usbcore.quirks=0bda:8156:ok"

# repair the decision in grub for fonts to not be tiny
GRUB_GFXMODE=1024x768

Apart from that, I have not been in a position to max out the cardboard as a result of I
do not produce other 2.5Gbit/s tools at residence, which is unusually
satisfying. However operating in opposition to my Turris Omnia
router, I may just about max a gigabit pretty simply:

[ ID] Interval           Switch     Bitrate         Retr
[  5]   0.00-10.00  sec  1.09 GBytes   937 Mbits/sec  238             sender
[  5]   0.00-10.00  sec  1.09 GBytes   934 Mbits/sec                  receiver

The cardboard would not require any proprietary firmware blobs which is
shocking. Apart from the facility saving points, it simply works.

In my energy checks (see powerstat-wayland), the Ethernet card appears
to make use of about 1.6W of energy idle, with out hyperlink, within the above “quirky”
configuration the place the cardboard is practical however with out autosuspend.

Proprietary firmware blobs

The framework does want proprietary firmware to function. Particularly:

Be aware that, on the time of writing, the latest i915 firmware from
linux-firmware
has a severe bug the place loading all the
accessible firmware ends in noticeable — I estimate 200-500ms — lag
between the keyboard (not the mouse!) and the show. Signs additionally
embrace tearing and shearing of home windows, it is fairly nasty.

One workaround is to delete the 2 affected firmware information:

cd /lib/firmware && rm adlp_guc_70.1.1.bin adlp_guc_69.0.3.bin
update-initramfs -u

You will get the next warning throughout construct, which is good as
it means the problematic firmware is disabled:

W: Potential lacking firmware /lib/firmware/i915/adlp_guc_69.0.3.bin for module i915
W: Potential lacking firmware /lib/firmware/i915/adlp_guc_70.1.1.bin for module i915

However then it additionally signifies that essential firmware is not loaded, which
means, amongst different issues, a better battery drain. I used to be in a position to transfer
from 8.5-10W all the way down to the 7W vary after making the firmware work
correctly. That is additionally after turning the backlight all the best way down,
as that takes a stable 2-3W in full blast.

The correct repair is to make use of some compositing supervisor. I ended up utilizing
compton with the next systemd unit:

[Unit]
Description=begin compositing supervisor
PartOf=graphical-session.goal
ConditionHost=angela

[Service]
Sort=exec
ExecStart=compton --show-all-xerrors --backend glx --vsync opengl-swc
Restart=on-failure

[Install]
RequiredBy=graphical-session.goal

compton is orphaned nevertheless, so that you could be tempted to make use of
picom as an alternative, however in my expertise the latter makes use of a lot
extra energy (1-2W additional, similar experience). I additionally tried
compiz however it could simply crash with:

anarcat@angela:~$ compiz --replace
compiz (core) - Warn: No XI2 extension
compiz (core) - Error: One other composite supervisor is already operating on display: 0
compiz (core) - Deadly: No manageable screens discovered on show :0

When operating from the bottom session, I’d get this as an alternative:

compiz (core) - Warn: No XI2 extension
compiz (core) - Error: Could not load plugin 'ccp'
compiz (core) - Error: Could not load plugin 'ccp'

Because of EmanueleRocca for figuring all that out. See additionally this
discussion about power management on the Framework forum
.

Be aware that Wayland environments don’t require any particular
configuration right here and truly work higher, see my Wayland migration
notes
for particulars.

Additionally word that the iwlwifi firmware additionally seems to be incomplete. Even with
the bundle put in, I get these errors in dmesg:

[   19.534429] Intel(R) Wi-fi WiFi driver for Linux
[   19.534691] iwlwifi 0000:a6:00.0: enabling system (0000 -> 0002)
[   19.541867] iwlwifi 0000:a6:00.0: firmware: did not load iwlwifi-ty-a0-gf-a0-72.ucode (-2)
[   19.541881] iwlwifi 0000:a6:00.0: firmware: did not load iwlwifi-ty-a0-gf-a0-72.ucode (-2)
[   19.541882] iwlwifi 0000:a6:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-72.ucode failed with error -2
[   19.541890] iwlwifi 0000:a6:00.0: firmware: did not load iwlwifi-ty-a0-gf-a0-71.ucode (-2)
[   19.541895] iwlwifi 0000:a6:00.0: firmware: did not load iwlwifi-ty-a0-gf-a0-71.ucode (-2)
[   19.541896] iwlwifi 0000:a6:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-71.ucode failed with error -2
[   19.541903] iwlwifi 0000:a6:00.0: firmware: did not load iwlwifi-ty-a0-gf-a0-70.ucode (-2)
[   19.541907] iwlwifi 0000:a6:00.0: firmware: did not load iwlwifi-ty-a0-gf-a0-70.ucode (-2)
[   19.541908] iwlwifi 0000:a6:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-70.ucode failed with error -2
[   19.541913] iwlwifi 0000:a6:00.0: firmware: did not load iwlwifi-ty-a0-gf-a0-69.ucode (-2)
[   19.541916] iwlwifi 0000:a6:00.0: firmware: did not load iwlwifi-ty-a0-gf-a0-69.ucode (-2)
[   19.541917] iwlwifi 0000:a6:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-69.ucode failed with error -2
[   19.541922] iwlwifi 0000:a6:00.0: firmware: did not load iwlwifi-ty-a0-gf-a0-68.ucode (-2)
[   19.541926] iwlwifi 0000:a6:00.0: firmware: did not load iwlwifi-ty-a0-gf-a0-68.ucode (-2)
[   19.541927] iwlwifi 0000:a6:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-68.ucode failed with error -2
[   19.541933] iwlwifi 0000:a6:00.0: firmware: did not load iwlwifi-ty-a0-gf-a0-67.ucode (-2)
[   19.541937] iwlwifi 0000:a6:00.0: firmware: did not load iwlwifi-ty-a0-gf-a0-67.ucode (-2)
[   19.541937] iwlwifi 0000:a6:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-67.ucode failed with error -2
[   19.544244] iwlwifi 0000:a6:00.0: firmware: direct-loading firmware iwlwifi-ty-a0-gf-a0-66.ucode
[   19.544257] iwlwifi 0000:a6:00.0: api flags index 2 bigger than supported by driver
[   19.544270] iwlwifi 0000:a6:00.0: TLV_FW_FSEQ_VERSION: FSEQ Model: 0.63.2.1
[   19.544523] iwlwifi 0000:a6:00.0: firmware: did not load iwl-debug-yoyo.bin (-2)
[   19.544528] iwlwifi 0000:a6:00.0: firmware: did not load iwl-debug-yoyo.bin (-2)
[   19.544530] iwlwifi 0000:a6:00.0: loaded firmware model 66.55c64978.0 ty-a0-gf-a0-66.ucode op_mode iwlmvm

Some of these can be found within the newest upstream firmware bundle
(iwlwifi-ty-a0-gf-a0-71.ucode, -68, and -67), however not all
(e.g. iwlwifi-ty-a0-gf-a0-72.ucode is lacking) . It is unclear what
these do or do not, because the WiFi appears to work effectively with out them.

I nonetheless copied them in from the most recent linux-firmware bundle within the
hope they’d assist with energy administration, however I didn’t discover a
change after loading them.

There are additionally a number of knobs on the iwlwifi and iwlmvm
drivers. The latter has a power_schmeme setting which defaults to
2 (balanced), setting it to 3 (low energy) may enhance
battery utilization as effectively, in idea. The iwlwifi driver additionally has
power_save (defaults to disabled) and power_level (1-5, defaults
to 1) settings. See additionally the output of modinfo iwlwifi and
modinfo iwlmvm for different driver choices.

Graphics acceleration

After loading the most recent upstream firmware and establishing a
compositing supervisor (compton, above), I examined the basic
glxgears.

Working in a window offers me odd outcomes, because the gears principally grind
to a halt:

Working synchronized to the vertical refresh.  The framerate ought to be
roughly the identical because the monitor refresh fee.
137 frames in 5.1 seconds = 26.984 FPS
27 frames in 5.4 seconds =  5.022 FPS

Ouch. 5FPS!

However apparently, as soon as the window is in full display, it does hit the
monitor refresh fee:

300 frames in 5.0 seconds = 60.000 FPS

I am not likely a gamer and I am not usually utilizing any of that fancy
graphics acceleration stuff (besides possibly my browser does?).

I put in intel-gpu-tools for the intel_gpu_top
command to verify the GPU was engaged when doing these simulations. A
good discover. Different helpful diagnostic instruments embrace glxgears and
glxinfo (in mesa-utils) and (vainfo in vainfo).

Following to this post, I additionally made certain to have these settings
in my about:config in Firefox, or, in person.js:

user_pref("media.ffmpeg.vaapi.enabled", true);

Be aware that the information suggests many different settings to tweak, however these
may really be overkill, see this comment and its parents. I
did strive forcing {hardware} acceleration by setting gfx.webrender.all
to true, however every little thing grew to become uneven and peculiar.

The information additionally mentions putting in the intel-media-driver bundle,
however I couldn’t discover that in Debian.

The Arch wiki has, as normal, a superb reference on hardware
acceleration in Firefox
.

Chromium / Sign desktop bugs

It seems to be like each Chromium and Sign Desktop misbehave with my
compositor setup (compton + i3). The
fix is so as to add a persistent
flag
to Chromium. In Arch, it is conveniently in
~/.config/chromium-flags.conf however that does not really work in
Debian. I needed to put the flag in
/and many others/chromium.d/disable-compositing, like this:

export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --disable-gpu-compositing"

It is attainable one other one of many hundreds of flags may repair this
subject higher, however I do not actually have time to undergo this complete,
incomplete, and unofficial checklist (!?!).

Sign Desktop is an analogous downside, and would not reuse these flags
(due to course it would not). As a substitute I needed to rewrite the wrapper
script in /usr/native/bin/signal-desktop to make use of this as an alternative:

exec /usr/bin/flatpak run --branch=secure --arch=x86_64 org.sign.Sign --disable-gpu-compositing "$@"

This was largely accomplished in this Puppet commit.

I have not found out the basis of this downside. I did strive utilizing
picom and xcompmgr; they each endure from the identical subject. One other
Debian testing person on Wayland advised me they have not seen this downside,
so hopefully this may be fastened by switching to
wayland.

Graphics card hangs

I imagine I may need this bug which ends up in a complete
graphical cling for 15-30 seconds. It is pretty uncommon so it isn’t too
disruptive, however when it does occur, it is fairly alarming.

The feedback on that bug report are encouraging although: it appears this
is a bug in both mesa or the Intel graphics driver, which suggests many
folks have this downside so it is prone to be fastened. There’s really
a merge request on mesa already (2022-12-29).

It may even be that bug as a result of the error message I get is
really:

Jan 20 12:49:10 angela kernel: Asynchronous wait on fence 0000:00:02.0:sway[104431]:cb0ae timed out (trace:intel_atomic_commit_ready [i915]) 
Jan 20 12:49:15 angela kernel: i915 0000:00:02.0: [drm] GPU HANG: ecode 12:0:00000000 
Jan 20 12:49:15 angela kernel: i915 0000:00:02.0: [drm] Resetting chip for stopped heartbeat on rcs0 
Jan 20 12:49:15 angela kernel: i915 0000:00:02.0: [drm] GuC firmware i915/adlp_guc_70.1.1.bin model 70.1 
Jan 20 12:49:15 angela kernel: i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc_7.9.3.bin model 7.9 
Jan 20 12:49:15 angela kernel: i915 0000:00:02.0: [drm] HuC authenticated 
Jan 20 12:49:15 angela kernel: i915 0000:00:02.0: [drm] GuC submission enabled 
Jan 20 12:49:15 angela kernel: i915 0000:00:02.0: [drm] GuC SLPC enabled

It is a stable 30 seconds graphical cling. Perhaps the keyboard and
every little thing else retains working. The latter bug report is kind of lengthy,
with many feedback, however this one from January 2023 appears to say
that Sway 1.8 fastened the issue. There’s additionally an earlier patch to
add an additional kernel parameter that supposedly fixes that too. There’s
all types of different workarounds in there, for instance this:

echo "choices i915 enable_dc=1 enable_guc_loading=1 enable_guc_submission=1 edp_vswing=0 enable_guc=2 enable_fbc=1 enable_psr=1 disable_power_well=0" | sudo tee /and many others/modprobe.d/i915.conf

from this comment… In order that one is unsolved, so far as the
upstream drivers are involved, however possibly could possibly be fastened via Sway.

Bizarre USB hangs / graphical glitches

I’ve had bizarre connectivity glitches higher described in this
post
, however principally: my USB keyboard and mice (linked over a
USB hub) drop keys, lag rather a lot or cling, and I get visible glitches.

The repair was to tighten the screws across the CPU on the motherboard
(!), which is, fortunately, a fairly easy restore.

I ordered the Framework in August 2022 and acquired it a couple of month
later, which is ahead of anticipated as a result of the August batch was
late.

Individuals (together with me) anticipated this to have an effect on the September
batch, nevertheless it appears Framework have been in a position to repair the supply
issues and sustain with the demand.

As of early 2023, their web site publicizes that laptops ship “inside 5
days”. I’ve myself ordered a couple of growth playing cards in November 2022,
and so they shipped on the identical day, arriving 3-4 days later.

The availability pipeline

There are principally 6 steps within the Framework delivery pipeline, every
(besides the final) accompanied with an e-mail notification:

  1. pre-order
  2. making ready batch
  3. making ready order
  4. cost full
  5. delivery
  6. (acquired)

This comes from the crowdsourced spreadsheet, which ought to be
up to date when the standing adjustments right here.

I used to be a part of the “third batch” of the twelfth technology laptop computer, which
was imagined to ship in September. It ended up arriving on my door
step on September twenty seventh, about 33 days after ordering.

It appears present orders aren’t processed in “batches”, however in actual
time, see this blog post for details on shipping.

Delivery trivia

I do not know concerning the others, however my laptop computer shipped via no much less
than 4 totally different airplane flights. Listed here are the hops it took:

I can not fairly determine tips on how to calculate precisely how a lot mileage
that’s, nevertheless it’s enormous. The trip via Alaska is shocking sufficient
however the bounce again via Winnipeg is particularly bizarre. I suppose
the route occurs that approach due to Fedex delivery hubs.

There was a associated oddity once I had my Purism laptop computer shipped: it
left from the west coast and appeared to enter on an countless, two week
lengthy highway journey throughout the continental US.

Created .

Edited .

Source Link

What's Your Reaction?
Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0
View Comments (0)

Leave a Reply

Your email address will not be published.

2022 Blinking Robots.
WordPress by Doejo

Scroll To Top