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.
To install elementary OS, follow the official instructions—or in summary:
- Download it from elementary.io
- Create a USB install drive and plug it in
- Power your Framework Laptop on while holding F12 for the boot menu
- 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.
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:
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:
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.
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 Settings → Displays and/or the text size in System Settings → Desktop → Appearance 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 Settings → Displays 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.