Using elementary OS on the Framework Laptop

Hey all, I’m Cassidy James Blaede, co-founder of elementary, Inc., the company behind elementary OS. We’ve just released elementary OS 6, and at the same time, the Framework team was kind enough to send a pre-production unit over to us to try out and develop on.

For these notes, I’ll be focusing on elementary OS 6 as it’s what I’ve been testing the most and was just released.

Installing

To install elementary OS, follow the official instructions—or in summary:

  1. Download it from elementary.io
  2. Create a USB install drive and plug it in
  3. Power your Framework Laptop on while holding F12 for the boot menu
  4. Select the drive with the arrow keys and hit Enter to boot into the installer

When the installer completes, you can either shut down to pass it off to another user (OEM-style) or restart to set up your user.

Note: Some users have an issue where they cannot enter the boot menu after previously booting. The fix is to power off the laptop, unplug AC, wait 35 seconds, and then power on again. This should be resolved in a firmware update.

Hardware Support

Most things work out of the box, like buttery-smooth multi-touch gestures, keyboard Fn keys, display brightness, keyboard brightness, camera, mics, and the ambient light sensor. But here are some specific notes:

Wi-Fi/Bluetooth

elementary OS 6 will ship Linux 5.11 from the Ubuntu 20.04.3 LTS repositories. There is currently a regression with the AX210 Wi-Fi card; see the dedicated post for the latest info there:

Fingerprint Reader

elementary OS does not yet support the Framework Laptop fingerprint reader due to the version of libfprint found in the upstream Ubuntu release and some UI work that is needed to be completed for fingerprint readers in general. A future point-release may resolve this, and if so, I’ll update these notes.

Display Scaling

The scaling out of the box on the Framework Laptop in elementary OS is not ideal; by default it runs at 2× integer scaling because the display is above 192 DPI, but UI elements end up feeling too big/cramped at 1128×752@2×. But the UI is too small for most to comfortably use at the native 2256×1504@1×.

As a workaround, you can play with the built-in scaling factor option in System SettingsDisplays and/or the text size in System SettingsDesktopAppearance to find what works for you.

You can also use the Terminal command line tool xrandr to set a resolution that is effectively 1.5× scaling but without the downsides of screen tearing like I’ve seen in Ubuntu and GNOME:

xrandr --newmode "3000x2000_60.00"  513.44  3000 3240 3568 4136  2000 2001 2004 2069  -HSync +Vsync
xrandr --addmode eDP-1 "3000x2000_60.00"

Then select the 3000×2000 resolution in System SettingsDisplays and ensure you have the scaling factor set to HiDPI (2×).

If you are going to use an external display that is not HiDPI, I also recommend adding a 1500×1000 resolution which is the same physical size as 3000×2000 but at 1× scaling. You can choose this resolution and scaling factor when connected to an external display, and elementary OS will remember it for next time (and return to your previous 3000×2000 resolution when unplugging):

xrandr --newmode "1504x1000_60.00"  125.19  1504 1600 1760 2016  1000 1001 1004 1035  -HSync +Vsync
xrandr --addmode eDP-1 "1504x1000_60.00"

You’ll want to add these commands to somewhere that will run every login, e.g. at the end of your ~/.profile file for just your user or in a file like /etc/profile.d/xrandr.sh for all users.

I’ve been using it as my primary computer this way on the go and at my desk with a 27" 2560×1440 external display, and it’s close to perfect; it means things automatically reconfigure when it’s plugged in, but everything stays the right physical size. When I unplug, everything goes back to being more crisp on the single internal display.

40 Likes

This is great :+1: thank you Cassidy!

2 Likes

I didn’t expect to see a co-founder of a Linux distro on the forums today! Thanks for the info- honestly eOS and Framework are a match made in heaven in design/aesthetics if you think about it

6 Likes

Installed OS 6! Thank you! Its amazing!

5 Likes

I was gonna edit the original post now that OS 6 is out, but it looks like I can’t (or can’t figure out how to). Well, elementary OS 6 is out! :slight_smile: I also forgot to add that to make the screen resolution options persist, you’ll need to add them somewhere that runs at login, like at the end of your ~/.profile file.

I seem to be getting some minor graphical glitches now and then, and need to determine if it’s because of the resolution or something else. But so far the physical size at (a faked) 3000×2000 is so perfect. I’d love to see a display with this native resolution for the ultimate in crispness…

:wink:

2 Likes

I just changed the first post to be a Wiki post, so you can edit it now.

5 Likes

I’ll be coming back to this thread soon… once I get my hands on the my laptop and install eOS 6. :+1: ! Thanks for making this post @cassidyjames

2 Likes

Thank you! I’ve updated it now.

2 Likes

I must report that after disabling automatic brightness the adjustments using the keyboard shortcuts did not work until the reboot. The brightness level does seem to be adjusted based on the brightness bar, however actual brightness levels are not changing.

NOTE: It works after reboot.

NOTE2: You can also add the ‘xrandr’ settings globally in /etc/profile .

1 Like

Anyone managed to get deep sleep to work? Cannot seem to enable it, following the deep sleep guide from Ubuntu 21.04.

Just as a heads up. It seems that the current OS update that is pushed through the app store breaks the WiFi after restarting the laptop. I noticed this with the update today. Bluetooth works, but wifi is dead, dead.

2 Likes

Just in case anyone didn’t know how to update without installing the Linux firmware that breaks the WiFi I ran these commands to hold those updates:

sudo apt-mark hold linux-image-generic-hwe-20.04
sudo apt-mark hold linux-firmware 
4 Likes

As far as elementary OS’s ethos goes, I’m pretty sure the following advice is a “definitely don’t do this”

But after updates broke the wifi on the 5.11 kernel, I installed the firmware from Intel’s website and then I installed the 5.13.13 mainline linux kernel and I have working wifi again

If anyone wants to try the same I can provide instructions, but note that the elementary OS team almost certainly does not recommend this path

3 Likes

I also ran into the wifi issue and got it working again by installing the latest version of linux-firmware from Ubuntu for hirsute without changing the kernel.

4 Likes

My order should ship next week, just made a USB install stick for elementary and excited to try it out. I’ve been using Ubuntu 20.04 on my desktop and try to stick to LTS releases with that, but really interested in trying this out. Seems like the perfect OS for a laptop assuming I can get all the hardware working. Fingers crossed!

1 Like

Ah, of course! Thanks, I’ve updated the post.

Tried installing elementry 6 today on the framework but the wireless would not work even with trying to install the drivers from the intel site. I was also having trouble with the above commands for allowing fractional resolution scaling not working though I don’t have the error handy. Is there a plan to have a newer kernel in 6.1 in Sept? I have Ubuntu 21.04 running fine except for deep sleep right now and can hold off for a month or so before trying a kernel swap or something.

@Seth_Marinello Grab the linux-firmware package for hirsute and install it over the version that ships with elementary OS.

$ sudo dpkg -i linux-firmware_1.197_all.deb
3 Likes

The Asus Zenbook UX393 has a 3300x2200 panel.

Maybe the next version can use this screen.