Skip to content

2022 Framework Laptop DIY Edition 12th Gen Intel Batch 1

Leonard Lin edited this page Oct 13, 2023 · 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 VI. 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 VI

    • 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

    • For US customers, this is an interesting, decently specced option. It's a bit cheaper and basically a variant of an EliteBook 845 G8, but one big caveat is that it uses a FHD SureView display which has limited viewing angles and color weirdness. I'm glad HP is dipping their toes into the Linux laptop waters, and it's slightly cheaper than my top picks, but personally, it's just not super appealing to me. (The 845 G9 is a Ryzen 6000, but still only has FHD+ display options, and the G8 still has some serious unfixed Linux compatibility firmware bugs, which seems to be a theme w/ EliteBooks, so I wouldn't buy any HP laptop that wasn't like the HP Dev One with official Linux support).
      • 2022-10-24 Elevated Systems Video Review - thorough Linux/developer perspective review finds problems w/ the display (visual shots of a prismatic glare and poor viewing angles), also relatively poor battery life, untuned Linux setup
      • 2023-01 UPDATE: 2022 version sold out per HP website
  • 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. ¯\_(ツ)_/¯
    • 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.
  • Lenovo ThinkPads

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:

Another fellow (Debian) Linux user, anarcat, has started keeping a similar doc and has been doing their own detailed review and notes. Highly recommended if you're looking for another perspective and more testing: https://anarc.at/hardware/laptop/framework-12th-gen/

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. While I was a little worried before I received my unit, after using it firsthand, 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%

Thunderbolt Certification

In Nov 2022, Framework announced that the 12th gen laptops are now TB4 certified with the 3.06 firmware update (the 11th gen remain uncertified due to some issues with replugging from resume from hibernate/power on and if the mainboard is powered on without a battery).

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 M2 MacBook Air 5950X DIY Desktop
Single-Core 1921 1261 1916 1771
Multi-Core 9658 7738 8917 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 % Delta
Single-Core 1921 932 -51.5%
Multi-Core 9658 6816 -29.4%

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 (-8C simply by lifting it off the table), but P-core frequency still doesn't go beyond 2.9GHz. With tlp and thermald loaded (but basically unmodified), when unplugged, 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.

One important thing to be aware of is that modern Intel laptops use a system called Dynamic Platform and Thermal Framework (DPTF) to dynamically control power usage (AMD's equivalent, PMF will be getting some Linux support in 6.1). The advanced "adaptive" parts were ported to Linux finally in 2020 largely due to the heroic (pandemic-boredom inspired, apparently) work by Matthew Garrett (mjg59) and as of Linux 5.8 and thermald 2.3, is loaded automatically when the --adaptive flag is used. As such, no matter what other laptop power tool you choose to use (tlp, auto-cpufreq, powertune, power-profiles-daemon, etc.) you should probably always be running thermald along-side it for optimal behavior (thermald is also useful if you want to lower throttle at lower temperatures or otherwise customize chip behavior as well).

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

Battery on Idle

UPDATE: In April 2023, Framework have published an official guide on Optimizing Ubuntu Battery Life that is also generally applicable for Linux users.

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 #####

@ 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 ################

@ 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 #####

Near Idle Performance

The idle results are actually pretty good, and if you are doing almost nothing (perhaps occassional typing) with your system and don't have many background processes running, then you can look forward to getting 10h+ of usage.

However, even light loading (moving the CPU out of mostly sitting in C10) will dramatically increase power draw. If you listen to a stream on Spotify for exampe (htop says CPU usage for the process is about 5-6%, although powerstat says the average idle is 98.8%), but even with the volume completely muted (so the speaker won't factor into things), power usage according to powerstat more than doubles, going from idling at 3.8W (40% display brightness, ~200 nits) to 7.7W with C10 states still at 97%. That means if you're listening to some music while you type, you will down to less than 7 hours.

With these dramatic changes in power consumption at "near" idle, I decided to run some tests out of curiousity. My stats are gathered largely using powerstat with the following flags:

powerstat -d 0 -c -H 1 480

This sets the settling delay to 0 seconds instead of 180s (life is short) and the minimum amount of sampling (480) and 1 hz.

I ran two foot terminals in a stripped down sway. The second terminal used a bash one-liner that would echo and sleep, like:

while [ 1 ]; echo 'foo'; do sleep 1; done

Here are the results:

| State | C10 % | Power |

State C10 % Power (W)
idle 99.75% 3.5W
sleep 1 99.5% 4.1W
sleep 0.1 98.7% 5.5W
sleep 0.01 93.5% 9W

From idle to sleep 1 brought down C10 residency 0.25% and increased power consumption by 0.5W. Setting sleep to 0.1s brought C10 down about 1% from idle and bumped up power usage to 2W. Finally, I set sleep to 0.01s and C10 residency decreased much more and power shot up to 9W. In this last test, powerstat reported overall CPU usage at 96.4% idle, so this is still quite a light load (remember, we aren't actually doing anything except for echoing lines to our terminal, and foot is quite performant, but we're now down to 6h of battery life).

Interestingly, switching from balance-power (EPB = 8 and EPP = 192) with the intel_pstate driver to power actually made power consumption worse on this test (less C10 residency, higher power consumption).

I was able to slightly tune power usage down by setting EPP to 225 (between balance-power @ 192 and power @ 255), but your results will almost certainly vary based on your individual workload.

Touchpad Power Consumption

Another interesting wrinkle is that because of how the i2c bus is triggered and handled with the touchpad, simply leaving a finger on the touchpad or otherwise using it will reduce C10 residency on an idle system by about 5%, and use an extra 1.2W+ of power. You can test this yourself with:

turbostat -c package -S --show IRQ,PkgWatt,C10% -i 1

and:

dstat -t --top-int

Other Usage Scenarios

gnome-battery-bench is a useful tool that can do the math for you for overall battery usage. Set it to idle and then adjust the backlight and run whatever you're going to run for a rough estimate of power consumption. These results use the default 10 minute averages.

  • 13.93W (3h56m) - 1440p60 VP9 YouTube streaming on Firefox (w/ HW video acceleration); 40% brightness (~200 nits), 80% volume

    • Linux 6.1.9-arch1-1, GNOME 43.2 Wayland, Firefox 109.0.1
  • 11.09W (4h57m) - Regular web browsing on Firefox w/ 10 windows and ~50 tabs open; 40% brightness (~200 nits)

    • Linux 6.1.9-arch1-1, GNOME 43.2 Wayland, Firefox 109.0.1

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 available, but not set by default:

# 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)

You can select deep sleep but I found that with my 2 x USB-C + 2 x USB-A module setup, that if I did, my suspend battery drain would be invariable almost 2X worse than using s2idle.

Another user, anarcat, has done more standby testing with various scenarios. There seems to be a lot of funky stuff going on with various expansion modules, but since these issues have apparently been solved in the Chromebook edition and is being backported.

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 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. turbostat can also be useful for C-state/processor insight.

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

USB Ethernet

One issue you may run into with TLP is that your USB LAN adapter may not work properly and show NO CARRIER and remain in a DOWN state even when plugged in. The workaround is to create a file /etc/tlp.d/54-blacklist-usbeth.conf with the ethernet device id (you can get this via lsusb):

USB_BLACKLIST="0bda:8153"

Hardware Video Acceleration

First, make sure your system is supporting VA-API

  • linux-firmeware and intel-media-driver for support
  • intel-gpu-tools (for intel_gpu_top) and libva-utils (for vainfo) to monitor
  • mpv as test app

For additional reference: https://wiki.archlinux.org/title/Hardware_video_acceleration

Firefox:

Chrome (doesn't work for me):

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:

Kernels

I recommend having linux-lts or linux-mainline available as a backup kernel if you are doing automatic upgrades. The kernel 5.9.12 update was a disaster for example, so it's always better to have something you can boot into for safety.

Even better, you can disable kernel updates entirely by setting this in the IgnorePkg line in /etc/pacman.conf. Something like:

IgnorePkg = linux linux-headers

With the talk of different kernels, I decided to do a comparison between linux (the default Arch kernel), linux-mainline, and linux-clear (MALDERLAKE compile) AUR packages. Both the AUR packages are from-source compiles so take a while to compile. Make sure your makepkg is set for the right number of threads for your CPU, otherwise you will be waiting for quite a while.

The long and short of it is that you probably want to stick with linux for the best battery performance. From my testing, I'd avoid linux-clear if battery life is important at all. When plugged in, performance is ever-so-slightly better, but on battery it basically keeps the same performance, profile, which just murders battery life (this is with the same thermald and tlp settings running, just swapping kernels).

Framework Laptop Common Issues

To check for discussion on common problems, one can look at the top threads from the current quarter or all time from the official discussion forums.

There is a Known issues guide thread in the forums as well that might have some useful links/discussion.

BIOS Updates

Framework has a bad track record with BIOS updates, apparently because historically, there hasn't been dedicated staffing put in place with their BIOS vendor. Here is an October 2023 update from nrp on the situation: