[RESPONDED] Framework 13: Things that Surprised Me

This isn’t exactly a review, you won’t find a star rating. But it will be helpful if you are nitpicky, migrating from a Thinkpad, and/or running Linux. (I also posted this on my blog, but hoping folks will respond here.)

I am (approximately) a software and cloud infrastructure engineer. For about 8 years I’ve used Linux on Thinkpads, mostly Debian with the default GNOME desktop environment. For the past three years I’ve also used the wonderful PaperWM GNOME extension. I’ve had my new Framework 13 (13th gen Intel CPU) for a couple of weeks. It’s replacing a Thinkpad T480, which I previously wrote about here. (Before that I had a T450s, and before that I had the very first unibody Macbook.)

So, what has surprised me about the Framework?

The expansion card system has a troubled story for battery life, but it’s great for strain relief.

I appreciate that Framework have tried really hard to let people customize their laptop with whatever ports they want. It’s a great vision, but there are unfortunate power implications of always-on USB-C devices. But it’s okay, because I don’t need the full customizability of the expansion cards, and you probably don’t either? Bear with me here.

The Framework is a USB-C laptop with a bespoke dongle system.

clarence

All of the Framework expansion cards are USB-C peripherals that happen to fit into a nice custom slot. Whatever ports you install in your laptop are downstream of an internal USB-C port. (Well, technically a Thunderbolt port.) On one hand, this is a great design, because USB-C can do everything, from charge the laptop (USB-C PD) to drive 4k displays (DP alt mode).

On the other hand, it’s not so great, because USB-C peripherals tend to consume power. Converting from USB to anything else requires a high-speed microprocessor, and that microprocessor may not know to shut itself off when the ‘anything else’ is not in use, so the power management story isn’t consistently great. Some of the expansion cards are battery vampires, using a few watts all the time (even with the laptop on standby!). Framework are working on this. They’ve had three generations of HDMI card in their quest to make it consume less power. But it’s still an issue, which means I generally don’t want the power-consuming cards connected to my laptop all the time.

And Framework semi-quietly agree. You won’t see it on the product pages, but in the guide for optimizing Ubuntu battery life:

“One of the absolutely simplest things you can do right now to conserve battery power for your Framework is to simply remove unused expansion cards.”

“The best recommendation is to keep only expansion cards you need while on battery.”

So we’re supposed to keep the slots empty? Ugh, no. If you do, you expose sharp edges and corners. They catch on your hand when you pick up the laptop. Also, it looks like it’s missing teeth. This does not spark joy.

Given these tradeoffs, the whole internal dongle concept starts to make no sense. How is this okay?

For me, it’s still okay. Here is why.

The two most versatile expansion cards are the most harmless. The USB-C card doesn’t consume power at all. It’s just a passthrough. The USB-A card is nearly as harmless. You can keep a mix of these inserted without really affecting battery life. They’re all the cards I need, and they’re probably all anyone needs?

When working at my desk, a single USB-C cable powers the laptop and drives my monitor (with its built-in USB hub). If I’m out somewhere else, I can connect a mouse or charge my headphones with the USB-A ports.

Finally, if I want the fullest complement of ports, I’ll carry an omni-dongle.

This one provides 8 expansion cards’ worth of ports in a compact housing. Yes, it consumes a few watts during use. But for the times I need it, I’m almost certainly near a power outlet. For all other occasions, I don’t leave it plugged in. :slightly_smiling_face:

Am I building up to an argument that the Framework shouldn’t have the expansion card system at all? Just regular USB-C and USB-A ports? No! I’m not, because the expansion card system carries another benefit that’s unrelated to customizability.

It virtually eliminates physical wear on the ports that are soldered to the main board. The Framework’s “exterior” ports (on the cards) take all the mechanical stress of repeated plugging and yanking sideways. On any other laptop, if you break a USB port, the repair is an entire new main board, expensive and difficult to replace. On a Framework, if you break an “exterior” USB port, you can buy a new card for a song, and replace it in about 5 seconds. That’s fantastic.

If I were Mr. Framework, what would I do about all of this? Maybe some combination of the following.

  • Position the non-vampire USB-C and USB-A cards as ‘best for most people’. Maybe include 2 of each by default, with the other cards as separate add-ons.
  • Consider adding little physical power switches to all the vampire cards (MicroSD, SSD, etc). The cards can remain in the laptop but switched off when not in use, drawing zero power.
    • (We already have these switches for the microphone and webcam!)
  • In the battery life guide, recommend that people use USB-C cards instead of leaving slots empty.
  • Don’t sweat it too much, because this little company is doing really hard stuff right now.

The exception to all of this is the Framework’s 3.5mm audio jack. It’s the only non-USB-C port built into the laptop, soldered to the main board. Yes, this means the consequences of breaking it are higher, but the DAC behind it gets better power management, and you always have use of it regardless of your expansion card configuration. (If you’d rather your headphone jack come on an expansion card, you can still buy one.)

201 PPI display is fine with GNOME font scaling alone.

Some people seem convinced that the Framework’s high-PPI display is ill-suited for Linux. (This thread with 85 posts, some even calling the display “Linux-incompatible”.) I strongly disagree. After avoiding high-PPI displays for years, I took the plunge and the water is fine. If you’re okay using GNOME with Wayland (now the default on the most popular Linux distributions), it’s easy to get a usable system with no blurriness. Click for full size:

How do you get this?

  1. Open Settings app, Displays section, set the Scale to 100%. Everything will be tiny.
  2. Open Tweaks app, Fonts section, set the Scaling Factor to 1.37. Everything will be a more comfortable size. If you don’t like that, try 1.25 or 1.50.
    • (If you need text larger than 1.50 font scaling, maybe try 200% display scaling instead, as font scaling above 1.50 starts to distort interface layouts.)

This adjusts the size of both text and most other UI elements. It works for all the applications I use. You don’t need to mess with fractional display scaling or xrandr. You don’t end up with blurry Electron apps. I use video conference apps (like Zoom and Jitsi) in Firefox, and screen sharing works fine. When I use my low-PPI desktop monitor, I dial the font scaling back to 1.00.

I’m not claiming this will work for all Linux users with all their edge cases, but I believe that the increasingly-well-trodden path of GNOME and Wayland is increasingly hassle-free.

(I wrote a bit more about this here.)

3:2 habits are different from 16:9 habits.

My last two Thinkpads have a 16:9 aspect ratio display, nearly twice as wide as tall. A 16:9 display isn’t great for viewing a single document, because longer lines become harder to read. At a reasonable 6" column width, half of your 16:9 laptop display is “wasted” horizontal space that would have been more useful as vertical space for more lines of text. (Web sites love put put ads here.)

On the other hand, a 16:9 display is great for using two windows side by side. Each half-pane is nearly square (8:9). If your 16:9 display is 14" diagonal, you get two 6.1" column widths to work with. It’s somewhat close to notebook paper. A dual-pane layout can comfortably fit two editors, terminals, or (some) desktop-layout web pages, side by each.

I did this every day, generally with a 50/50 split, sometimes 60/40 (for taking notes next to something wider). PaperWM makes this workflow easy.

Enter the Framework with a 13.5" 3:2 display (green rectangle below). About the same total area, but noticeably squarer.

On one hand, the taller 3:2 screen fits about 10% more lines of text, which means 10% less need to scroll! It’s nicer to work with a slippy map or a diagram, because you get more north/south for your east/west. 3:2 being closer to square, it’s overall more versatile than 16:9.

On the other hand, the 3:2 display is less good for fitting two documents side by side, because a 5.6" column width can feel cramped. It’s still good for working with fixed-width code or text: I can get 80-90 columns at a comfortable font size. But it’s not so good for web pages intended for a desktop-sized viewport. Depending on the site, you get either a mobile layout (fine), or a horizontal scroll bar (yuck). A 60/40 split accommodates more sites, but still not all. (I also tried out a 66/33 split, but the 33 is too cramped for anything other than note-taking.)

Here is a to-scale-ish comparison of the 16:9 T480 display with the 3:2 Framework display. Click for full size.

So, while a 16:9 display feels limited on vertical space, after moving my 16:9 habits to a 3:2 display, I sometimes feel limited on horizontal space. Various tricks ameliorate this: Firefox reader mode, hiding unneeded sidebars in desktop apps. A few weeks in, I’m mostly settled into new habits. The biggest change is that some sites just really want the full display width.

Web page is too crowded.

That’s better.

The new default (3.5 kg) display hinge is fine.

The earliest Framework had display movement issues. The panel would wobble back and forth when you bumped the laptop, and it would droop when you carried the laptop around. I saw this first-hand with a friend’s earliest-gen Framework (which he returned for several reasons). So, Framework started selling a stiffer (4.0 kg) hinge as a separate part, and I ordered one with my laptop.

But meanwhile, Framework also mitigated the wobble with a stiffer top cover, and mitigated the droop with a slightly stiffer default (3.5 kg) hinge. With my 13th gen, I can create wobbly and droopy scenarios, but they don’t happen in typical use. The display moves a bit more easily than my Thinkpads, but it’s also taller – a longer lever on the hinge.

I haven’t felt the need to install the 4 kg hinge.

I don’t miss my Trackpoint. The touchpad works fine.

I suspect a lot of Trackpoint users don’t want to switch to a touchpad-only laptop, because their Thinkpad has a crappy touchpad. I was one of these people. The touchpads on my T480 were cramped. (This was okay, because it had a Trackpoint.) So, like many others contemplating a Framework, I was apprehensive about giving up the Trackpoint. The Framework’s touchpad had to be a lot better than my Thinkpad’s, and reader, it is.

Tapping, right-clicking, and dragging all feel good. 3-finger gestures work too. The experience feels approximately as intuitive as my 2008 unibody Macbook. (I think the Macbook was slightly better, but I suspect that was due to Apple’s drivers.) I’m grateful that the touchpad isn’t so big that I’d have to rely on software to ignore accidental brushes while typing (even though GNOME Tweaks has an option for this). It’s the right size.

(I think my switch away from Trackpoint was also an RSI improvement. The tip of my index finger no longer gets sore after hours, because it’s not shoving a rubber nub anymore, only gliding on glass.)

But I sorely miss page up/down keys.

This is my biggest usability issue with the Framework. On other keyboards, I use these keys all the time for navigating code and documents, and also for navigating workspaces. I’ve neuroplasticized around chords like (shift +) super + page up/down to manage workspaces, and (shift +) ctrl + page up/down to manage tabs. Thinkpads encourage this because it’s easy to locate page up/down without looking.

On the Framework keyboard, to send a page up/down event, you must chord fn with the arrow keys. So my prior two-key chords become three-key chords, which isn’t so bad. I’ll get used to that. But prior 3-key chords become 4-key chords (like fn + shift + ctrl + up/down arrow), which are awkward to type. Further, any use of page up/down is necessarily a two-handed operation. If I’m reading while eating something messy with one hand, I need to scroll another way.

Most laptop manufacturers cut this corner, and it hurts. But it seems there’s an opportunity to introduce page up/down keys on the Framework without an input cover redesign. The left and right arrow keys could become shorty short, like the up and down arrow keys already are. This would make room for page up/down above the left and right arrows. The resulting layout would be like a Thinkpad, just a bit smushed. (Some Dell XPS laptops already do this.) Importantly, it wouldn’t require any new holes in the input cover, which may preserve parts compatibility and limit SKU proliferation.

I would easily pay $100 for such a keyboard.

Charge termination at 4.45 volts per cell!!?

(This section goes way outside my expertise. If you have expertise with lithium-ion chemistry, please correct any mistakes and I will update this post.)

Edit: sure enough, @Kyle_Reis pointed out the battery announcement mentions 4.45 volts per cell. Not sure how I missed that the battery is definitely supposed to do that. Putting what I originally wrote in a blockquote.

The standard guidance for lithium-ion chemistry is to terminate charge at 4.2 volts per cell. A charge termination voltage higher than 4.2 V stores a little more energy, but sacrifices battery health, and possibly safety. (I’m not going to pretend to understand how anode plating works, but Wikipedia claims “Charging at greater than 4.2 V can initiate Li+ plating on the anode, producing irreversible capacity loss.” Battery University talks about this and also some safety aspects.)

Anyhow, a lower charge termination voltage under-fills the bucket, keeping the battery healthier for longer. This is why Tesla encourages most of their owners to charge only to 90% 80% (:face_with_hand_over_mouth:) (archive), which corresponds to a lower-than-design-maximum charge termination voltage. So, my prior understanding is that you keep lithium-ion cells healthy for a long time by avoiding extreme states of charge. The gentlest cycles are shallow ones, not going above 4.2 volts per cell, not going much below 3 volts.

I charged up my Framework on the first day. At 99% state-of-charge, I read out /sys/class/power_supply/BAT1/voltage_now, and I see 17.8 volts. Assuming that’s across 4 cells in series, we divide by 4 to get 4.45 volts per cell! :dizzy_face: At first this sounded erroneously high, but Framework’s product photo for the 61 watt-hour battery also shows a “Limited Charging Voltage” of 17.8.

For lithium ion chemistry, 4.45 volts per cell is really high. How is this okay?

The kernel reports a battery manufacturer of “NVT” and a model name of “FRANGWA”. This doesn’t turn up anything in a web search. But Framework’s product photo shows a manufacturer of Dongguan Amperex Technology Limited. A web search for “Dongguan Amperex 4.45” returns a 2012 patent and a 2015 patent from this company. Both mention cell voltages of 4.4 and higher. It sounds like they developed a new anode material and a new electrolyte. I also found these “high voltage cells” (archive) that list a charge termination voltage of 4.45. Maybe rebadged Dongguan Amperex cells? I have no idea. Finally, I also see references to LiHV and even ULiHV on a few drone hobbyist sites.

It seems that the battery is expected to handle 4.45 volts per cell. The only alternative is that Framework push the battery very hard to squeeze a few more watt-hours. I’m hoping that’s not the case, because it would not bode well for battery longevity.

Maybe someone has a data sheet? :slightly_smiling_face: In the meantime, for lack of better information, I set a maximum charge level to 90% in the BIOS. This appears to terminate charging at 17.21 volts, or 4.3 volts per cell. I’m happy to give up some capacity to gain some longevity. But again, I’m out of my depth. Someone who knows more, please check my work.

Things that didn’t surprise me but are worth mentioning.

  • Linux support is overall great with a modern kernel. Nearly everything just works.
  • By modern standards, the battery life is merely okay, even with the 13th gen’s larger 61 watt-hour battery, even if you avoid all the vampire expansion cards. You’re mostly limited by the high-strung Raptor Lake CPU. (Your ARM Mac friends will humble-brag on this point.)
    • I wrote more about observed battery life here. It’s about 6 hours of my typical work.
    • For those who need more endurance, the obvious solution seems to be carrying a USB-C PD power bank. They easily double your runtime.
  • The display can get very bright, has great colors, and a great anti-glare finish.
    • 60 hertz is too slow for a few people, but I’ve been careful to avoid using anything faster that could ruin my taste for 60 hz.
  • Missing keys aside, the keyboard is quite nice to use. Feels good, sounds good, no complaints about key travel.
    • As with my Thinkpad, I can cause Typeracer to accuse me of cheating.
    • To preserve some Thinkpad muscle memory, I swapped the fn and ctrl keys in the BIOS.
  • The webcam is noticeably better than my T480’s. It’s sharper with better detail in the shadows.
  • Assembly of the DIY edition was easy.
    • The one fiddly part was getting cables to lay flat enough around the right-hand display hinge for the bezel to sit flat. After a few tries, it was good.

Closing Thoughts

Do I like my Framework laptop? Hell yes I do. Moreover, I like what the company is doing. This is a tiny startup compared to Lenovo, Dell, or Apple. And they’re doing hard stuff. Their serviceability crusade might be dragging a 10,000x larger company along for the ride. It’s certainly proving what’s possible to consumers (and to regulators!).

I really appreciate that Framework are centering Linux support. Linux users are nitpicky in a different way than Mac users. Linux users tend not to care if the computer’s panel gaps are a millimeter off. But they do care about upstream kernel support for every last chip inside. They care about open-source UEFI firmware (which Framework hasn’t achieved yet, but it seems possible). It’s a prickly community to deal with, and it’s a tiny fraction of the overall PC market. But Framework are serving them.

That’s essentially why I bought a Framework while my T480 had plenty of life left, and why I’m writing this post. I want this team to win.

43 Likes

I’d say that what you mentioned is more about the screen width than the aspect ratio.

Framework decided to make very efficient use of laptop space by making the display very similar in width to the keyboard, that way there doesn’t have to be much wasted space to the side of either. Likewise they decided to make the display similar in height to a keyboard with a decent sized trackpad below it. That happens to be approximately a 3:2 aspect ratio.

By comparison my 14" 16:9 Thinkpad (which actually has 0.4 in² less screen space than the Framework 13) has meaningful wasted space both on the sides of the keyboard and below the display.

In their announcement What’s new in this year’s Framework Laptop 13: Part 1 (upgrades) Framework stated that:

“we worked with our supplier ATL to figure out how to maximize capacity within the same physical form factor as our original 55Wh battery. We landed on getting 11% higher capacity out of a new lithium ion chemistry with higher energy density. This includes moving to a new 4.45V cell voltage.”

They also included a graphic indicating they still expect it to maintains 80% capacity after 1000 cycles.

6 Likes

For expansion card power draw on an 11th gen during suspend, I measured the following:

-0.32W (s2idle nothing)
-0.68W (s2idle just USBA)
-0.54W (s2idle just HDMI)
-0.79W (s2idle HDMI+ USBA)

so between the two, I think the USBA actually causes more power draw (on the main board) than the HDMI (first gen). Which is a pity, since the USBA is one of the most useful to have as a stand-alone port. Other connections usually mean more peripherals around anyway, so generally wouldn’t be such a problem for a dongle.

This is actually corroborated on the page you linked to: the measurements you’re referring to are probably the idle/on measurements. Further down on the page are the stats on suspend (on that page measured mainly on “deep” rather than “s2idle”, but findings are very similar), which indeed also find that USB-A is quite the power hog on suspended systems! The diagnosis for this is not that there are electronics in the card that use power but that a certain connection signals “device present” to the USB-C hub on the main board, forcing some activity there.

It still puts me on more than a day suspend time one a reasonably full battery, which is sufficient for me, so it hasn’t quite driven me to popping out the expansion cards on a regular basis.

4 Likes

I’ve experienced that change-over on the Dell XPS. I thought I would like it. I ended up not liking it, because the half width keys too easily lead to erroneous key presses for me. I now prefer the “fn+UP/DOWN” arrangement, but some way of finding a way to fit a full size UP/DOWN/PGUP/PGDN would definitely have my interest.

3 Likes

Great read, I’m incredibly intrigued by the battery voltage. Seems interesting.

Voltages above 4.2 have become common. Big name cell manufacturers like LG, Sony, Samsung create different cells intended to be charged to various levels over 4.2v. Many devices now use such high voltage li-ions, known as LiHV. If you have a mid to high range mobile phone, decent chance it uses a higher voltage cell.

~edit~
Just checked my backup phone, it charges to 4.4v, and it’s just an entry-level device.

1 Like

Actually, the 3.5mm Jack is on it’s own daughter board that is connected to the mainboard with a ribbon cable, so it also is much cheaper to replace if something goes wrong!

11 Likes

Thank you for the corrections @Kyle_Reis, @Nils, and @Azure! Not sure how I missed the details in the battery announcement.

2 Likes

Note that if you’re on Framework Laptop 13 (13th Gen Intel Core), this should no longer be the case. If it is, we certainly want to know.

6 Likes

@cmart, thanks for the nice review

Are you using Debian on the 13? Did you try Ubuntu or Fedora or Pop! ?

1 Like

This is exciting – which expansion cards consume less power with the 13th gen Intel main board? Wish I’d known that when I ordered :slightly_smiling_face:

Yes, Debian 12. I don’t need to try other distros now, but Ubuntu and Fedora are supported, I expect they both work fine. No idea about Pop!, but it sounds like a fork of Ubuntu, so it’s probably fine too? :person_shrugging:

2 Likes

Appreciate the feedback and we have updated the TLP battery optimization guides to reflect the differences between 13th Gen Intel Core and 11th/12th Gen Intel Core.

5 Likes

This is great news I surprisingly haven’t seen announced or talked about and I think many would like to know more (especially before purchase!) such as is this going to apply to the AMD boards (clearly not ATM or you would have said but in the future), what about the 11th and 12th gens will they be able to see the same fixes?

1 Like

The problem (as far as I know) is also fixed with the current AMD board. Note that the AMD board is a later development than the 13th gen Intel boards and thus should have got all the same bugfixes (and some more). It will also get the new energy saving revisions of the expansion cards.

Of course there might be new bugs, considering it is the first revision of an AMD board.

Not quite

1 Like

Couldn’t someone solve the empty expansion card problem by 3d printing a blank expansion card? And/Or frame.work could sell blank expansion cards in the marketplace.

To be fair, I’m McLovin this approach.

1 Like

Linking to the source of that would help.

It’s from a Framework email to all AMD preorders.

1 Like

It’s from an email to all FWL 13 AMD batch 1 customers. I can’t really link to the source.

1 Like