Skip to content

2022 Framework Laptop DIY Edition 12th Gen Intel Batch 1

lhl edited this page Sep 6, 2022 · 55 revisions

General

Summary (TL;DR)

The Framework is a solidly built ultrathin laptop that looks and feels great to use, and works perfectly w/ Arch Linux OOTB. While still a new company, one year in, their promises of repairability and upgradability are actually looking pretty solid, and its an exciting development that should be exciting to any laptop/hardware enthusiasts.

To me, the laptop's biggest weakness remains its battery life, both the underwhelming runtime under load (many other options have bigger batteries, use more efficient AMD processors, or both), and still too-high battery drain during suspend (this can be mitigated by suspend-then-hibernate, which Windows does by default).

Personal Requirements

I was in a market for a lightweight Linux travel laptop that was slightly more portable and most importantly, had a brighter and better display than my trusty Mechrevo Code 01.

I had seen some reviews of the Framework when it originally launched and while it looked interesting, I wasn't too convinced by either Tiger Lake (11th Gen Intel) or the modular ports (4 is a bit limiting, tbt), but I decided to put in pre-order a 12th-gen when it was announced in May 2022. Doing a spelunk in the official Framework Forums, I liked that there is a very active technical community of enthusiasts, and was satisfied that most of the worst teething issues of the original release were either being taken care of or being actively addressed.

This year, I was much more keen to get a Ryzen 6000 upgrade due to its better power efficiency, and if a decent option was released before the Framework shipped I would have canceled and gone with that instead, but as July rolled around and shipping started, there still wasn't a single Ryzen 6000 laptop available that met my requirements.

Although the Framework still has some warts, a big positive consideration is that with its Marketplace, not only is it possible to repair/replace almost every single component of the laptop, but future upgrades, like a drop in motherboard replacement (Ryzen 7000?) or display (100% DCI-P3 high-refresh MiniLED?) are all real possibilities. Framework has been committed to being as open as possible, including open sourcing their embedded controller, documenting their motherboard mechanicals and electricals, providing things like battery pinouts, and of course a full set of iFixit-style repair guides. Buying a Framework laptop is more investing into a concept of repairable and upgradable laptops rather than just buying a device.

Still, I did have some upgrade goals that needed to be met. My shopping criteria:

  • Linux friendly and works close to perfectly in (Arch btw) Linux

  • My primary reason for upgrading: at least a 400 nit brightness display with 100% sRGB color gamut. Ideally 500 nit+, HiDPI (200ppi+), high refresh rate (120Hz), high color gamut (100% DCI-P3)

  • Relatively lightweight. Ideally <1.3kg

  • At least 32GB of RAM. Ideally 2 x SODIMM slots for 64GB of RAM

  • A decent bump in performance from a Ryzen 4800H @ 54W

  • Reasonable battery life. Ideally a >70Wh battery, and 8h+ of light usage

  • Not having to deal w/ Nvidia drivers

Specs

Rather than listing everything, a few highlights of my particular Framework:

For more details:

My Configuration

The "DIY Edition" is basically a fully assembled unit, but you BYO memory, storage, and operating system and pay a bit less markup and get to pick the parts you want.

Ordered From Framework

Price Description
$1,119 i7-1260P DIY Edition
$18 2 x USB-A Modules
$27 3 x USB-C Modules
$19 1 x DP Module
$19 1 x HDMI Module
$19 1 x MicroSD Module

The barebones total comes out to about $1200 and while some have complained about the Framework being overpriced, I'm not really seeing it. You'll pay a similar price for similar (BYO-specced) thin and light Linux workstations like the Tuxedo Pulse 15 Gen2, Slimbook Executive 14, or Star Labs Starbook Mk V. Even with discounts, a BYO HP EliteBook 845 G9 is almost twice as expensive at $2200. An IBM Thinkpad Z13 (35% off list) is also about that price, but with 32GB of RAM presoldered maximum, and if you wanted a Macbook with 64GB of RAM and 4TB of SSD (all first party of course, since everything is soldered) you will pay $4500 for the privilege.

BYO Parts

Third party (Amazon referral links):

Price Description
$250 Kingston FURY Impact 64GB (2x32GB) 3200MHz DDR4 CL20 Laptop Memory Kit of 2 KF432S20IBK2/64
$520 INLAND Performance Plus 4TB PS5 NVMe 4.0 x 4 M.2 2280 SSD
  • The RAM is the only CL20 JEDEC sticks available but I noticed the price on this has gone up and you can get some G.Skill RipJaws CL22s for >$100 cheaper now (I've used these exact memory sticks before and they run perfectly at DDR4-3200 1.2V JEDEC) so you can save a lot of money there for a virtually unnoticeable performance difference.

  • The INLAND (Microcenter brand) was the cheapest decent 4TB NVMe 4.0 SSD I could find - it uses a Phison E18 and Micron TLC and reviewed well. If you don't need 4.0 speeds are looking to get the best battery life, the SK hynix P31 is probably still the power efficiency king. If you're going for <4TB and want a 4.0 drive, the SK hynix P41 would be my choice.

  • A combo torx screwdriver/spudger tool is included in the box and is all you need to do assembly. There's an online guide that you should review, but besides a single fiddly captive screw, disassembly was pretty much self-explanatory and putting memory/storage in took about 5 minutes total (disassembly and reassembly).

Accessories

Except for the laptop sleeve, I had all these previously, but here's a list of my current travel setup:

Price Description
$25 FINPAC Hard Laptop Sleeve Case
$90 WOTOBEUS 130W USB C GaN Charger
$15 2m 100W USB-C Charging Cable w/ LED Display
$40 Portable Aluminum Stand
$130 NuPhy Air 75
$100 Logitech MX Master 3S
$15 Hermitshell Hard Travel Black Case for Logitech MX Master 3
  • The case was found via a recommendation in a case thread in the forums (second thread), it's a pretty stiff hard case, a great fit for the Framework, and quite cheap.

  • The stand is a bit heavy (I'd probably go for a Roost V3 if you're counting grams) but it lets you get an impressive amount of height and for the Framework, you can angle it practically vertically as well, which is useful to get the screen closer.

  • I've used the WOTOBEUS charger for several months (there's a slightly chonkier 200W version if you want more flexibility with simultaneous high-power draw devices) and while it gets very hot when maxed out, I haven't had any problems and even the 130W version means that I can use full USB-C PD on port 1, fast charging on port 3, and a random USB-A device as well on port 4 (although I have 2 USB-A with my trusty Mogics Donut already).

  • I have various USB-C power monitor dongles, but I recently picked up a 100W cable that has one built in, which is neat. It only does 480Mbps data, so it's basically just a charging cable, but for what it does, it's great.

Alternatives Options

Here's a short list of the other laptops I was looking at, and some of the pros and cons:

  • Asus ROG Zephyrus G14

    • A bit unexpectedly, in July 2022 this ended up being my strongest contender vs the Framework. It's biggest pro being that it was actually in stock/widely available.

    • It was the only Ryzen 6000 laptop that (mostly) matched my criteria, and while it has a dGPU, it's a muxed AMD GPU that doesn't affect battery life much when disabled. It actually benched 28% better battery life on Notebookcheck's WiFi 1.3 tests vs the Framework 12th gen. It has a Ryzen 6900HS and w/ its gaming-focused (dual fan, vapor chamber) cooling solution, it can sustain 80W+ of power on the CPU. It also has a fantastic 14" QHD+ (16:10 2560x1600 ) 120Hz 500 nit 100% DCI-P3 (Pantone validated) 216ppi display, better than what the Framework currently offers.

    • The biggest con is that while still relatively compact, it weighs in at 1.7kg, so a fair bit heavier than I would like. The second con is that it only has a single SODIMM slot, and to get the GA402RK model which has 16GB soldered, you'd need to pay >$2000 (which would let you get to 48GB max) - on the flip side, the lowest specced GA402RJ is currently on sale at $1400 (which comes with 8GB soldered and let you max out a 40GB of memory). For me, the price wasn't so much as to really be a determining factor, just weight and jank.

    • While Asus doesn't give a crap about Linux support (another big con), there is a small dedicated community that's diligently worked on tools and compatibility, and w/ some minor elbow grease, it looks like you can get the G14 fully functional in Linux.

  • Tuxedo Pulse 15 Gen2

    • Announcement and Discussion - I love the way that XMG/Schenker/Tuxedo do their announcements and interact with the community. Well worth going through.

    • This is a refresh of the TongFang PF5NU1G that actually manages to fix basically most of the major niggles with the original version (USB-C DP output, 2nd M.2 slot, better and brighter display)

    • The main negative for me in 2022 is that it's using a Ryzen 5700U @ 35W, which only about matches the previous 4800H in performance (although at 30% less power usage). As a 5700 (Zen2), not 5800 (Zen3) chip, it also suffers greatly from the latest retbleed mitigagions, which is another big ding.

    • While I think it's still a great Linux laptop option, and is near the top my recommendations list for those that need a lightweight Linux workstation right now, it felt like a bit too much like a sidegrade for me, so I figure I'd rather try something new.

  • Slimbook Executive 14 and 16, Schenker Vision 14, Tuxedo InfinityBook Pro 14 Gen7

    • The Schenker Vision 14's announcement is even better than the Pulse 15's. Every manufacturer should provide the detailed performance and battery graphs for their laptops like this.

    • These appear to use variants of the TongFang ID4H1 chassis w/ 99Wh batteries and Intel i7-12700H chips w/ a dual fan dual heat pipe cooling solution that can sustain a 45W PL1 (and maybe significantly more based on testing of the 2021 Schenker Vision 14).

    • If the Framewok hadn't shipped on time, I probably would have gone with one of these laptops, as they ship globally in August/September, and would probably be fine for heat/power consumption on battery w/ RAPL tweaking.

    • While I would have loved to have the bigger battery, for me, the main reason I went with the Framework instead was that it felt like the latter had the best path for future upgrades. I'm looking forward to be able to do a simple motherboard or display swap in a year or two when there's something better instead of having to buy a brand new chassis.

    • However, as of August 2022, if you don't particularly care about upgrades or repairability, primarily due to the huge battery (and secondarily, since the 2880 x 1800 display allows those that want to run integer scaling to use 200%), and that there is a dGPU option if you want it, I'd probably recommend this laptop over the Framework to most people looking for a ultrathin Linux workstation.

      • The Framework does have a few advantages:

        • While it has less # of ports/IO, they are all USB4

        • Display hinge opens to 180 vs 150 degrees

        • The aluminum shell feels better than the lightweight AZ91D magnesium alloy that Tong Fang uses

        • Hardware mic/webcamera off switches vs BIOS switches

        • Open source EC allows for more tweaking options

        • The Alder Lake P chips are better binned (for efficiency) than Alder Lake H

        • While I mentioned about not caring about upgrades or repairability, being able to upgrade to a next-gen CPU/motherboard at a significant discount over buying an entire new system is still something worth mentioning, and unique to the Framework

        • Also worth mentioning is that the Framework Forums are not only frequented by Framework technical staff, but is one of the most active/technically oriented communities you're likely to find for any laptop brand, and is actually a huge selling point as well. This document basically started out as a collection of links of the more useful threads/posts.

  • Star Labs Starbook Mk V

    • Star Labs get kudos for having a unique ODM design. It's pretty slick and they have a 5800U (Zen3) version, but only have a FHD 16:9 display option (which may be preferred by some, but not me).
  • HP Dev One

  • Asus Vivobook S 14X OLED M5402

    • This was the laptop I was most looking forward to upgrading to earlier in the year. At 1.6kg, it is at the chonky end of the spectrum, and like the Asus G14, it only has 1 SODIMM slot, so you'll only be able to get to the same 40/48GB max memory like the G14.

    • The biggest problem though is that while it was announced months ago, as of August 2022, it's still not available for purchase anywhere.

    • A secondary problem is that the OLED display is the big selling point, but Notebookcheck did a review of the Intel version and found the claimed 550-600 nits is only enabled for HDR content, and for regular usage, the max brightness is <400 nits. Even worse, the PWM (active at any brightness <100%) was measured at 240 Hz, which is low enough to cause problems for most people.

  • GPD WIN Max 2 (Ryzen 6800U)

    • While no Linux laptop manufacturers can seem to get Ryzen 6000s for their thin and lights, it seems like Chinese handheld manufacturers have [not had this problem](The biggest unboxing of AMD Ryzen CPUs ever: 3,500 Ryzen 7 6800U chips - VideoCardz.com). ¯\_(ツ)_/¯
    • While it's too small for my needs, I can't say that it isn't tempting, and if something netbook sized can fulfill your productivity needs (single terminal/editor, notetaking, etc), this badboy has some crazy specs - up to 32GB of soldered LPDDR5-6400, dual M.2 (1 x 2280 + 1 x 2230), 4G LTE module, at 67Wh battery in a tiny 1kg package, at a $1300 price point (early shipping Sep 2022) - oh, and it's a gaming handheld as well which can run modern AAA games decently.
  • It looks like as of the end of August 2022, there actually is actually a 2022 Mechrevo Code 01 refresh in China with a 6800H running at 54W TDP. The 64GB version is available for about $1000 at their official JD store. There's also a Chinese YouTube video review online.

    • A revised, and sleeker looking chassis
    • 1.9kg vs 1.5kg, so a fair bit chonkier (switched from Magnesium alloy to Aluminum)
    • 70Wh instead of 91Wh battery (to make space for a 2nd M.2), so a bit of a step back there as well...
    • 2 x DDR5-4800 SODIMMs and 2 x 2280 NVMe
    • 350 nit 16:10 2560x1600 120Hz 100% sRGB 10-bit display w/ DC dimming. Reported panel is a BOE NE160QDM-NY2
    • Ports include 2 x USB4 and HDMI and RJ45 (reportedly 2.5Gbe) on the left, 2 x USB-A 3.1 and a headphone jack on the right
    • Comes w/ a 100W GaN USB-C PD charger
    • Over 1000 customer reviews on their 1st-party JD store (linked above) - people seem to love it except for a few negative reviews w/ various QC issues. More discussion (in Chinese) at smzdm.

Other Framework Reviews

Notebookcheck has relatively thorough and standardized reviews that make it easy to compare with other devices and usually covers most of the bases. They don't do Linux testing, or get into the nitty gritty on many laptop specific issues, though (for the Framework this would include RTC/CMOS battery drain, shutdown and suspend battery drain as the biggest ones IMO).

This Liliputing review is the most comprehensive written review I've found if you're looking for another perspective:

Review

Build and Feel

  • Overall, I was pleasantly surprised by the build quality. The aluminum finish is great, the edges and radiused corners feel good when picking it up, and the overall feel of the chassis is very solid. It's not quite as solid feeling as a Macbook, but it's not far off either.
  • Some batches of first-gen Framework laptops had weak hinges, but those are actually manufacturing defects and should be replaced under warranty (see one recent thread in the forums). The hinges on my Framework are very tight, with little wobble, and smooth action. They feel about as tight as you can have them and still being able to open it with one hand, which matches the design goal. Personally, I don't feel like I need the heavier 4kg hinges at all.

Expansion Modules

The Framework has 4 x USB4 (non-certified TB4) ports that are physically inset as part of an open (CC BY 4.0) Expansion Cards system. Besides offering first party modules for standard ports, they are also encouraging the development of third party module ecosystem.

This is a neat party trick, although to me, borders on being a bit of an anti-feature, since sadly, the module count and physical dimensions means that you're actually more limited on ports than the best ultraportable alternatives. The Tuxedo InfinityBook Pro 14 Gen7 for example has 2 x USB-A, 1 x USB-C, 1 x TB4, 1 x HDMI 2.0, 1 x SD card reader, and 1 x DC-IN, almost double the number of ports.

It also turns out that some of the Framework's worst power issues seem to involve the expansion modules (specifically the HDMI and MicroSD ones), although maybe that can be mitigated with future firmware updates.

MicroSD Card Reader Module

One of the main uses for my laptop while traveling is copying footage, so a MicroSD card slot was a module I was looking forward to trying out. Sadly with the limited number of ports and the extra power consumption issues, it's not something I just could leave in, and it's actually a bit tough swapping modules, so from a convenience perspective, an external reader actually seems preferable for me.

I had some terrible initial tests with the SD Card Reader speeds, so I re-tested on a UHS-I U3 A2 V30 MicroSD card just to double check. With hdparm -tT to test raw read speeds, the MicroSD card module reader maxed out at about 70MB/s.

 Timing buffered disk reads: 212 MB in  3.01 seconds =  70.39 MB/sec

My relatively cheap Anker SD4.0 reader clocked in at almost twice that:

 Timing buffered disk reads: 404 MB in  3.01 seconds = 134.33 MB/sec

This also bore out in real world testing with rsync where syncing a folder of image files maxed out at about 90MB/s for the module vs 145MB/s on the external reader. When copying larger media files, the external reader managed to clock even faster, up to 160MB/s.

Note, here's my confirmation of the MicroSD card reader causing a significant increase in power usage. On a fresh reboot in sway, here's what power consumption looks like with my standard 2 x USB-C, 2 x USB-A setup:

Summary:
System:   2.87 Watts on average with standard deviation 0.10  

C-State    Resident      Count Latency 
C10         99.809%      52612     230
C8           0.006%        368     200
C6           0.006%        388     170
C1E          0.016%       3125       2
POLL         0.000%         15       0
C0           0.162%

Histogram (of 30 power measurements)

Range (Watts) Count
2.765 - 2.801    11 ########################################
2.802 - 2.839     2 #######
2.840 - 2.876     6 #####################
2.877 - 2.914     2 #######
2.915 - 2.952     3 ##########
2.953 - 2.989     4 ##############
2.990 - 3.027     0 
3.028 - 3.064     0 
3.065 - 3.102     1 ###
3.103 - 3.139     1 ###

And here's what it looks like with one of the USB-A cards swapped for the MicroSD Card Reader:

System:   5.03 Watts on average with standard deviation 0.05  

C-State    Resident      Count Latency 
C10         99.833%      54103     230
C8           0.007%        405     200
C6           0.006%        392     170
C1E          0.023%       3459       2
POLL         0.000%          7       0
C0           0.131%

Histogram (of 30 power measurements)

Range (Watts) Count
4.958 - 4.977     5 #################################
4.978 - 4.997     5 #################################
4.998 - 5.017     5 #################################
5.018 - 5.037     6 ########################################
5.038 - 5.058     2 #############
5.059 - 5.078     3 ####################
5.079 - 5.098     1 ######
5.099 - 5.118     2 #############
5.119 - 5.138     0 
5.139 - 5.159     1 ######

Interestingly, it actually gets warm enough for the fan to spin up. I did a sanity check with powertop and it appears that powerstat may not be reporting C-states correctly for Alder Lake. Here's what powertop says, which seems more believable given the bump in temps/power usage:

C2 (pc2)   16.7%
C3 (pc3)    7.8%
C6 (pc6)    1.4%
C7 (pc7)    0.0%
C8 (pc8)   67.3%
C9 (pc9)    0.0%
C10 (pc10)  0.0%

Third Party Modules

A few people are working on some interesting stuff:

Display Brightness

I'll probably revisit with some more display testing with my Calibrite ColorChecker Display Pro later, but for now, a basic brightness test with a cheap digital light meter:

Framework (nits) Code 01 (nits)
100% 440 230
75% 337 178
50% 229 114
25% 109 47
1% 9 7
  • My old Code 01 has a Sharp LQ156M1JW01 which is supposed to be a 300 nit display. I'm not sure if it's dimmed over time, or if it was just a poor copy. Notebookcheck tested this same panel in this chassis at 314 nits, but mine comes in considerably lower. Max brightness does not change when plugged in vs on battery.
  • Based on these measurements, the Framework display is almost twice as bright (+90%) as my old laptop's.
  • The Framework display (at center) is a fair bit brighter than the advertised 400 nits. It compares well w/ my Asus ROG M16 that claims 500 nits (but measures 454 nits).
  • The Framework turns off the display completely at light -S 0

Speakers

I may do some more involved audio testing (I have a calibrated mic somewhere), but for now, a basic dB meter test just to see how loud it gets. This is an unscientific max volume measurement when playing Crab Rave from about 1:00 - 2:30 about ear level, about 20cm to the front of the laptop on my laptop stand, raised about 15cm, about 35cm from the back wall.

Framework Code 01
100% (+0dB) 77.8 75.5
150% (+11dB) 86.4 84.9

To my ears, the Framework sounds a fair bit better than my Code 01 (which was not very loud or good, so not a very high bar; both are also down-firing speakers) but worse than a 2021 Asus ROG M16, and unsurprisingly, significantly worse than my desktop PC speakers (small Presonus Eris E3.5 monitors).

I'd say basically, it's good enough for some YouTube talking heads and Zoom calls, but anything else, and you would probably want to use a headset/headphones.

For audio, there's good/very specific information and testing in this thread:

UPDATE: Actually, Notebookcheck has better testing of the speakers than I can do. Using their standardized Pink Noise sweep, it's a hair above average (38% in its class were better). The comparison baseline is to a 2021 Apple MBP 16, which performs basically the best of all laptops tested. The Tuxedo Pulse 15, which is the same chassis as my Code 01 is in the bottom 10% of tested speakers.

Geekbench

All test with Geekbench 5.4.5 for Linux on Arch Linux w/a 5.18.16 kernel at about 26-27C ambient.

Laptops were plugged in and on my laptop stand:

Framework 1260P Code 01 4800H 5950X DIY Desktop
Single-Core 1921 1261 1771
Multi-Core 9658 7738 18178

The Framework 1260P has a substantial performance uplift of about +50% on single-core and +25% on multi-core performance vs the Code 01 4800H. I've also included my 16C desktop workstation as a point of reference.

One thing to note is that there's been a recent almost 10% loss of performance on Zen2 with the new retbleed mitigations, with maybe more in the future.

There's a huge spread in results, and the Geekbench search index doesn't appeared to be updated often, but here's a comparison to the fastest 5.4.5 results I could find for the fastest 11th Gen Framework (i7-1185G7).

Also, here's how the unplugged performance compares out of the box (no power setting tweaks like thermald, tlp, auto-cpufreq enabled)

Framework 1260P plugged in Framework 1260P unplugged
Single-Core 1921 932
Multi-Core 9658 6816

Passmark

CPU Mark is another good, large data set to do rough peak performance comparisons between processors.

Framework 1260P Code 01 4800H 5950X DIY Desktop
CPU Mark 19991 20718 47596
Memory Mark 3495 3113 3679

For reference, here's the average CPU Mark for these CPUs which look roughly in line:

Intel Core i7-1260P AMD Ryzen 7 4800H AMD Ryzen 9 5950X
CPU Mark 17206 18972 45856

CPU Measurements

Besides getting some benchmark to set ballpark expectations of max CPU, I'm mostly not interested in top speeds, but a few notes of interest:

  • The Framework has a "max_power_uw" of 28000000 (28W) set for PL1 that appears set a top-end limit for power consumption regardless of what you change the "power_limit_uw" to.
  • For my all-core stress test measurements in stress -c 16/s-tui, in 26C ambient, when plugged in, this gets you 2.8-2.9GHz sustained on the P-cores at an 89C package temperature. Putting this on my stand lowers the package temperature to 81C, but P-core frequency still doesn't go beyond 2.9GHz. With tlp and thermald loaded (but basically unmodified), the max all core drops to 2.2GHz and about 67C. Total draw reported by the battery under this workload is ~27W.
  • One interesting thing is setting perf_bias manually with cpupower doesn't seem to do anything to clock speeds. It does appear to update the energy bias hint...
  • Out of curiousity since someone asked, I ran a single-threaded stress -c 1 overnight (>8h) to see what the top speed it could sustain would be. I used cpufreq to monitor and my 1260P is basically able to maintain its single-core max turbo frequency of 4.7Ghz - mostly sitting at around 4687-4689Mhz and an average package temperature of 96C (w/ an overnight max of 100C) at 1.29V. turbostat reports package power usage is about 21.1W, core is about 19.3W.
  • Disappointingly, when streaming YouTube videos in Firefox (5GHz 802.11ac w/ a very strong -50dBm signal, 50% display brigtness, full hw video acceleration confirmed in the browser and w/ intel_gpu_top) the Framework ends up using about 10W. Decoding the same yt-dlp'd vp9 video as a webm file with mpv or using mpv to play a 1080p h.264 also ends up being almost the same (8-9W). Again, this is with VA-API hw video acceleration confirmed. intel_gpu_top reports about 2W of power usage when playing video (if I'm reading the top bar correctly).
  • At idle in sway, turbostat reports >99.7% C10 idle, a package power of ~0.5W, core power of <0.1W, and a GPU power of 0.00W
  • I'll add some more CPU observations as I come across them if they're worth noting.

Here is a collection of useful resources/tools for looking at/tweaking performance:

Battery on Idle

Using:

  • Modules: 2 x USB-C, 2 x USB-A (nothing plugged in)

  • Arch Linux with Linux 5.19.1-arch2-1

  • tlp w/ default tlp.conf (PCIE_ASPM_ON_BAT did not seem to make a difference and isn't set)

  • Measuring with powerstat (this app is great and I highly recommend it)

0% Backlight 43.5% (200nits) 100% Backlight
Avg Power (W) 3.34 4.01 5.46
  • Display uses < 0.7W at 200 nits

  • Display uses ~2.1W at 100% (440 nits)

NOTE: If I don't have a WM running, at 0% backlight, the idle power is around 2.6W, but I don't think that's a very realistic/common scenario. Also, it's worth noting that depending on the apps/accessories you have running you might never get to these idle power levels.

When I have an adapter plugged into the USB-C ports, I never get to C10 (only C8) idle, which along with the device drain itself, appears to more than double idle power consumption. Similarly, when running Firefox with some tabs and no obviously badly behaving pages (crazy JS, etc), idle power also tends to move into the 6W+ range.

General light usages seems to average 8-12W. Based on that range, I'd expect battery life to be around 5-6 hours, although I haven't done any actual rundown tests myself so far.

References

powerstat Summaries

@ 200 nits

Summary:
System: 4.01 Watts on average with standard deviation 0.05

C-State Resident Count Latency 
C10 99.569% 72599 230
C8 0.016% 1075 200
C6 0.016% 1127 170
C1E 0.042% 6887 2
POLL 0.000% 32 0
C0 0.357%

Histogram (of 30 power measurements)

Range (Watts) Count
3.934 - 3.957 2 ###########
3.958 - 3.981 6 ##################################
3.982 - 4.005 5 ############################
4.006 - 4.028 7 ########################################
4.029 - 4.052 5 ############################
4.053 - 4.076 4 ######################
4.077 - 4.100 0 
4.101 - 4.124 0 
4.125 - 4.148 0 
4.149 - 4.172 1 #####

Histogram (of 30 CPU utilization measurements)

Range (%CPU) Count
0.131 - 0.152 15 ########################################
0.153 - 0.173 9 ########################
0.174 - 0.194 2 #####
0.195 - 0.215 1 ##
0.216 - 0.237 1 ##
0.238 - 0.258 1 ##
0.259 - 0.279 0 
0.280 - 0.301 0 
0.302 - 0.322 0 
0.323 - 0.343 1 ##

Histogram (of 30 CPU average frequencies)

Range (GHz) Count
1.847 - 1.911 3 ######
1.912 - 1.977 0 
1.978 - 2.042 1 ##
2.043 - 2.107 0 
2.108 - 2.173 1 ##
2.174 - 2.238 0 
2.239 - 2.303 1 ##
2.304 - 2.368 0 
2.369 - 2.434 4 ########
2.435 - 2.499 20 ########################################

Histogram (of 30 thermal zone x86_pkg_temp readings)

Range (°C) Count
29.000 - 29.199 1 ##
29.200 - 29.399 0 
29.400 - 29.599 0 
29.600 - 29.799 0 
29.800 - 29.999 13 ################################
30.000 - 30.199 0 
30.200 - 30.399 0 
30.400 - 30.599 0 
30.600 - 30.799 0 
30.800 - 30.999 16 ########################################

@ 0% display

Summary:
System:   3.34 Watts on average with standard deviation 0.05  

C-State    Resident      Count Latency 
C10         99.487%     106814     230
C8           0.023%       1343     200
C6           0.022%       1443     170
C1E          0.070%       9081       2
POLL         0.000%        123       0
C0           0.398%

Histogram (of 30 power measurements)

Range (Watts) Count
3.250 - 3.269     5 ########################################
3.270 - 3.290     1 ########
3.291 - 3.311     5 ########################################
3.312 - 3.331     1 ########
3.332 - 3.352     5 ########################################
3.353 - 3.373     4 ################################
3.374 - 3.393     4 ################################
3.394 - 3.414     3 ########################
3.415 - 3.435     0 
3.436 - 3.455     2 ################

Histogram (of 30 CPU utilization measurements)

Range (%CPU)  Count
0.206 - 0.239     1 #####
0.240 - 0.272     2 ###########
0.273 - 0.305     4 ######################
0.306 - 0.338     6 ##################################
0.339 - 0.371     7 ########################################
0.372 - 0.404     5 ############################
0.405 - 0.438     2 ###########
0.439 - 0.471     0 
0.472 - 0.504     1 #####
0.505 - 0.537     2 ###########

Histogram (of 30 CPU average frequencies)

Range (GHz)   Count
1.742 - 1.817     1 ##
1.818 - 1.893     1 ##
1.894 - 1.969     0 
1.970 - 2.044     1 ##
2.045 - 2.120     0 
2.121 - 2.196     1 ##
2.197 - 2.272     1 ##
2.273 - 2.347     0 
2.348 - 2.423     9 ######################
2.424 - 2.499    16 ########################################

Histogram (of 30 thermal zone x86_pkg_temp readings)

Range (°C)    Count
30.000 - 30.199     5 ########
30.200 - 30.399     0 
30.400 - 30.599     0 
30.600 - 30.799     0 
30.800 - 30.999    24 ########################################
31.000 - 31.199     0 
31.200 - 31.399     0 
31.400 - 31.599     0 
31.600 - 31.799     0 
31.800 - 31.999     1 #

@ 100% Display

Summary:
System:   5.46 Watts on average with standard deviation 0.05  

C-State    Resident      Count Latency 
C10         99.686%      73158     230
C8           0.018%       1083     200
C6           0.016%       1172     170
C1E          0.046%       6815       2
POLL         0.000%         31       0
C0           0.234%

Histogram (of 30 power measurements)

Range (Watts) Count
5.386 - 5.404     4 ####################
5.405 - 5.422     5 #########################
5.423 - 5.441     4 ####################
5.442 - 5.459     1 #####
5.460 - 5.478     8 ########################################
5.479 - 5.496     3 ###############
5.497 - 5.515     1 #####
5.516 - 5.533     1 #####
5.534 - 5.551     2 ##########
5.552 - 5.570     1 #####

Histogram (of 30 CPU utilization measurements)

Range (%CPU)  Count
0.131 - 0.155    19 ########################################
0.156 - 0.180     6 ############
0.181 - 0.205     1 ##
0.206 - 0.230     0 
0.231 - 0.255     0 
0.256 - 0.280     0 
0.281 - 0.306     1 ##
0.307 - 0.331     0 
0.332 - 0.356     2 ####
0.357 - 0.381     1 ##

Histogram (of 30 CPU average frequencies)

Range (GHz)   Count
1.998 - 2.047     4 ########
2.048 - 2.098     1 ##
2.099 - 2.148     1 ##
2.149 - 2.198     0 
2.199 - 2.248     1 ##
2.249 - 2.298     1 ##
2.299 - 2.348     0 
2.349 - 2.399     3 ######
2.400 - 2.449     1 ##
2.450 - 2.499    18 ########################################

Histogram (of 30 thermal zone x86_pkg_temp readings)

Range (°C)    Count
28.000 - 28.299     1 ##
28.300 - 28.599     0 
28.600 - 28.899     0 
28.900 - 29.199     0 
29.200 - 29.499     0 
29.500 - 29.799     0 
29.800 - 30.099    15 ########################################
30.100 - 30.399     0 
30.400 - 30.699     0 
30.700 - 30.999    14 #####################################

Sleep and Suspend

One know issue with the Framework is that it has higher than average (but sadly, not unheard of) power consumption when sleeping, so it's worth digging in more.

From my initial 5.18 install, "deep" sleep is enabled by default with no kernel options required:

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

Here's what ACPI reports on boot:

# dmesg | grep S0
[    0.351924] ACPI: PM: (supports S0 S3 S4 S5)

While Tiger Lake apparently removed S3 support completely, supporting only S0ix Modern Standby, apparently Alder Lake seems to have brought it back?

Here's what a suspend gets reported as:

# dmesg | grep suspend
[  109.633308] PM: suspend entry (s2idle)

In any case, wakeup from suspent-to-ram is near instant - <1 second from a few stopwatch timing attempts, and it feels more like waking up a screen than a system.

Power Testing

Since I couldn't find anything that quite did what I wanted, I ended up writing a simple utility to log suspend power drain. I've GPLv3'd it, and it can be found here:

Here are two runs on my Framework from about half battery:

Slept for 7.38 hours
Used 4.88 Wh, an average rate of 0.66 W
For your 53.42 Wh battery this is 1.24%/hr or 29.73%/day 
Slept for 8.72 hours
Used 6.10 Wh, an average rate of 0.70 W
For your 53.67 Wh battery this is 1.30%/hr or 31.29%/day

As a point of reference, here's how my old Code 01 performed in comparison (/sys/power/mem_sleep reports s2idle [deep] and dmesg | grep sleep reports it's using S3), which is better (although still not great):

Slept for 9.39 hours
Used 2.74 Wh, an average rate of 0.29 W
For your 91.25 Wh battery this is 0.32%/hr or 7.67%/day

In the case of certain modules causing increased battery drain, it may be possible to disable them when not in use:

Windows automatically hibernates (S4) suspended laptops when battery drain reaches 5% and if you're going to use suspend on Linux, you should probably adopt a similar strategy with suspend-then-hibernate.

Suspend References

Framework specific references:

General reference:

Suspend is traditionally quite buggy depending heavily on BIOS/vendor implementations. S0ix has been even worse, especially on Linux

Other Power Stuff

There are two other power issues that you should be aware of that may or may not affect you:

It's not all bad with power though. One interesting thing about the Framework is that apparently charge from 5-20V event trickle charging off a 5V source.

It also supports a max charge limit (eg 80%) that can be set in the BIOS, or also dynamically via ectool. (neat!)

Arch Linux Setup and Compatibility

For a full guide, see my Arch Linux Install Guide, but here are some of the Framework specific tweaks.

Note, there is also forum thread of known/oustanding issues (more hardware oriented, than Linux specific) that may be of interest (most of these issues are covered in more detail above already):

There is also a forum thread which serves as an official reference and discussion for Arch Linux compatibility issues:

I haven't encountered this issue personally, but as of 2022-09 a number of people, mostly (but not exclusively) running Fedora, GNOME, and Wayland are experiencing some GPU freezes. There are a number of potential workarounds, but nothing definitive yet:

New Software

Whenever I refresh hardware I like to try some new things...

  • My terminal setup remains largely the same:

  • Recently I've been swapping to Wayland for efficiency, less tearing, better HiDPI and mixed DPI multi-monitor support. I've been settled on Openbox on X for a long time but with Wayland I ended up just going with GNOME on my previous laptop to just get something reasonably producitve, but now I'm giving Sway and Qtile another real try.

    • I'm using foot as my Wayland terminal emulator
  • I'm using PipeWire to replace PulseAudio (good riddance), JACK, and ALSA. Hopefully it can handle Bluetooth audio better as well...

Full Drive Encryption w/ btrfs

I also decided to give full volume encryption + btrfs a try with my new Framework setup.

Performance

WIP

suspend-then-hibernate w/ Encryption

WIP

Fingerprint Sensor

The Framework's fingerprint sensor was selected with Linux compatibility in mind and it largely works. There are some issues if you've previously enrolled fingerprints, but this can be worked around (script clearing prints).

Keyboard Function Keys

Maybe the one thin gon Arch Linux that doesn't work OOTB, by default, the media keys don't work as they should on the 12th-gen board:

The fix is relatively straightforward, however:

sudo echo 'blacklist hid-sensor-hub' > /etc/modprobe.d/framework-als-blacklist.conf
sudo mkinitcpio -p linux
# reboot the laptop

Optimizing Power Consumption

Idle power consumption is surprisingly good out of the box, but of course there's additional tuning that can be done. I recommend using powertop, powerstat and/or the GNOME Power Manager to help see what's happening. s-tui can be good as well in combination for tracking CPU usage.

My recommendations are to install tlp and thermald and call it a day unless you have more specific needs/know what you're doing.

GPU acceleration with Firefox

ectool

Framework's Embedded Controller (EC) is open source and one of the big benefits of that is that it's an open playground that has made a large number of hardware-level behviors much more accessible than for most other laptops.

Dustin Howett, a third party developer, has done a great job exploring and documenting the EC commands, which includes creating several tools:

Some useful threads and writeups:

Fan Control

One of the more useful applications of the ectool is to modify the fan curves and to manually adjust the fan: