[RESPONDED] Ubuntu 20.04.4 LTS on the Framework Laptop

This absolutely works, and from my perspective was quite easy. I don’t have any wifi6 hardware to do any real tests, but packages and other downloads seemed fine.

(my Bluetooth mouse (logi mxanywhere2) worked just fine as well.)

yup. I concur. Installing Ubuntu 20.04.3 was fairly easy. I ran the mentioned command and wifi started working right away with no other tweaks.

I’ve made some aesthetic changes to Ubuntu, but that’s it really. I’m glad that I just now got this laptop, as I’d much rather be running an LTS distribution.


Interesting. I’m using the i7-1165G7 DIY w/32GB RAM & non-vPro wifi. Here are my lappy’s Geekbench scores.

Maybe it is time to get LTS on mine. Just need to review this thread again to make sure I do all the post install stuff.

I would think Ubuntu LTS would be capable of similar results, especially with some assisted cooling going on.

After installing gnome-tweaks I have got multitouch right-click and middle-click working, which makes things even better.

Enabling deep sleep mode significantly improves battery life when the lid is shut. It can be done without a reboot:

echo deep | sudo tee /sys/power/mem_sleep

You do need to add mem_sleep_default=deep to the boot parameters to make the deep sleep behavior persist after a reboot. The machine does take noticeably longer to resume from deep as you might expect.


Thanks Phil! I originally wanted to use 20.04 on the Framwork, but at the time the solution was to compile and use a more current kernel. It is nice that we can use it with only minimal adjustment and have it full on working.

I noticed on Ubuntu 21.04 that resuming from deep also took some time. The time, I believe, is directly related to the amount of RAM you have installed. All in all I did not mind, as I had hibernation also enabled on a swap partition from the 250gb Module.

1 Like

Running Ubuntu 20.04.3
For 32gb I had a wake time of approx. 15 seconds (on battery)

I recall windows, at least back in the win 7 days, had a MASSIVE page file for the hibernation, which was a deal-breaker for me. How does the size of this file fair on Ubuntu?

1 Like

This is determined by the image_size kernel parameter:


The Arch wiki covers this a bit:

Power management/Suspend and hibernate - ArchWiki

The default target size is 2/5 of physical RAM. For safety sake I would use at least half (or 16 GB in your case), and 2/3rds is safer yet (20 GB).

Personally, I allocated a swap partition matching the size of my physical RAM in order to allow for faster hibernation and resume.

1 Like

I’m trying to get hibernation to work (first on a test machine - if I can get it working there I may try to resize the encrypted partitions on my framework machine, or bite the bullet and start over, hoping not to have to do that now that I have things set up an running smoothly).

I’m still digging around but have had no luck so far. I have expansion cards that I can install an OS on to test this. I tried it with Manjaro and Fedora on a UFS card, but have yet properly to get the machine to hibernate. If I do figure out what I’m doing wrong I will write up a guide, because so far nothing I’ve found online and tried has resulted in any success.

Any and all pointers are welcome. Thanks!

Honestly, on Debian, I just set up a 16G swap partition (I have 16G of RAM), used blkid to get the UUID of the device, and then added:


To my kernel params in /etc/default/grub. Then an update-grub and a reboot and it just worked (which frankly surprised me).

Of course, the Arch wiki, which I previously linked to, is as always pretty thorough on this topic.


that is the basics. Note, doing this with LUKs active is possible but is a bit more intricate. Making sure that your swap partition is also encrypted takes some work. So make sure to find the guides on it. I believe all of the ones for Ubuntu 18.04 are all still viable.

How is everyone’s experience a few weeks in with 20.04.3 LTS on Framework? So far it has been pretty smooth sailing for me, with a few small issues popping up that are addressed else were on this forum under Linux (i.e. suspend battery life).

It works just fine, especially after following all the tips here. As others have reported deep sleep (when activated) takes a good 5 seconds to resume from but otherwise works well.

Same. Threw in a terabyte Samsung. A wifi chip I stole from my Dell XPS 13. And some RAM. Worked like a charm. Going to go back and read a bit more. I feel like there’s lag on the initiation of sudo. Anyone else seen that?

Wrote something to workaround the AX210 on startup so I won’t have to think about it whenever the linux-firmware package updates. To only get the AX210 workaround run only that individual state like sudo salt-call --local --file-root="$(pwd)" state.apply framework-laptop.intel-ax210-workaround. Or you could just copy the service file out of it and install it manually.

EDIT: Now it also does hibernation / hybrid suspend however read the note before using it.
EDIT2: Now it also configures mem_sleep_default, installs tlp and explains what the heck Salt is and why it’s used instead of Bash scripts.

1 Like

A_L Thanks for the info on upgrading the kernel on Mint. It seems to have worked for me and only took a couple of minutes.

Quick longer-term update on Ubuntu 20.04.3 LTS

For the Mate flavor, just observations as I find them…

Broadly speaking everything is good, a few small issues that I haven’t got around to sorting out.

  1. Occasional power-off on attempt to resume from suspend, not sure what the root cause of this is, could be hardware, software, or bios.

  2. WiFi signal strength (according to the UI indicator) in my apartment is meh. (1930’s brick house, heavy plaster walls, 70$ dlink wireless router, intentionally using the 5ghz…) . Although in practice it seems perfectly usable and plenty fast (I am no networking guru, output from “watch -n1 iwconfig” below):

wlp170s0 IEEE 802.11 ESSID:“Skye-fi”
Mode:Managed Frequency:5.2 GHz Access Point: 78:98:E8:5E:EE:67
Bit Rate=260 Mb/s Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=41/70 Signal level=-69 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:79 Missed beacon:0

  1. Screen coating seems to get dirtier quicker than I would like, may look into a screen protector in the future

  2. Unresponsive touch pad sometimes on resume, 95% sure this is OS related, as suspend/resume (by closing the lid) solves this and everything is fine, or firing up the external mouse. This issue has been commented on before on this forum somewhere.

And the good:

  1. I am continually impressed by the rapid charge time of my Framework, and the battery life is absolutely fine.
  2. For my use case: the 2 USB-C, 1 USB-A, and storage expansion card have been sufficient (I use a logitec bluetooth mouse)

Disable PS2 emulation in the BIOS to get rid of this problem. Downside is if you use and OS that does not understand HID, like Windows Setup, you will have no touchpad at all. Alternatively you could use the suspend workaround from my salt formula.

Thanks for linking that up. That should improve the LTS installers’ experience significantly. :smiley: I won’t bother with testing it on 21.* series and instead will upgrade to 22.04 early and prepare it to work with it. Ideally during the beta stage, time allowing.


Another update having daily driven my Framework with Ubuntu 20.04.3 for about 4 months:
Still all good. The updates/tweaks from lightrush’s saltstack were GREAT in particular battery life on stand-by.