This page permanently redirects to gemini://gmi.bacardi55.io/blog/2023/01/17/new-laptop-part1-endeavouros-archlinux-on-framework-laptop/.
Posted on 2023-01-17
Following my previous post in this serie, [New laptop part 0: Discovering the FrameWork laptop], the goal of this post is to explain the steps I had to go through after installing [EndeavourOS] (a gnu/linux distribution based on [Archlinux]) on the [FrameWork laptop] and all the small things I had to tweak. It isn't 100% perfect and finished, but I'll try to update this page (or link a new entry) if I improve the following information.
Before going into all the details, I wanted to thank the [EndeavourOS community], [Archlinux wiki] and [FrameWork communities] where I found all those informations in a way or another.
=> New laptop part 0: Discovering the FrameWork laptop | EndeavourOS | Archlinux | FrameWork laptop | EndeavourOS community | Archlinux wiki | FrameWork communities
As said in my previous post, I just went through the GUI installer to install EndeavourOS, selected full encryption for the hard drive and let it ran. See the [official documentation] for help.
Let's start by installing vim to edit all the configuration with a real editor :).
sudo pacman -S vim
If you look for a complete out of the box vim config, I suggest [spf13 vim config].
The brightness keys (via fn+F7/8) did not work out of the box (while others do work fine). To fix this, I edited the file `/etc/modprobe.d/framework-als-deactivate.conf' and added:
blacklist hid_sensor_hub
I had to change the default HiDPI setting as the screen resolution is so high (2256x1504). To do so, edit the `~/.Xresources' file, and add:
Xft.dpi: 120
I had issue with software running with openGL driver. Namely chromium and [lagrange] (a gemini browser).
TLDR; from archlinux wiki:
In Mesa 20.0, a new OpenGL driver, Iris, is promoted to be the default for Gen8+. Certain applications run faster with it. You may disable it and revert to use the old i965 driver by setting the MESA_LOADER_DRIVER_OVERRIDE=i965 environment variable before starting any OpenGL application. This setting does not affect Vulkan applications. --
I'm going the per application road, so I need to create a <application>.desktop' file in
~/.local/share/applications/' (and create the directory if doesn't exist).
For Chromium, there is already an existing /usr/share/applications/chromium.desktop' file, so copy it in the
~/.local/share/applications/' directory and then edit it. Change all `exec' lines (3 times in my case) from
Exec=/usr/bin/chromium %U
to
Exec=env MESA_LOADER_DRIVER_OVERRIDE=i965 /usr/bin/chromium %U
For Lagrange, copy /usr/share/applications/fi.skyjake.Lagrange.desktop' to
~/.local/share/applications/fi.skyjake.Lagrange.desktop' and edit the `Exec' line to be:
Exec=env MESA_LOADER_DRIVER_OVERRIDE=i965 /usr/bin/lagrange %U
The complete file for lagrange:
[Desktop Entry] Name=Lagrange Comment=A Beautiful Gemini Client Categories=Network; Exec=env MESA_LOADER_DRIVER_OVERRIDE=i965 /usr/bin/lagrange %U Terminal=false Type=Application StartupWMClass=lagrange Icon=fi.skyjake.Lagrange MimeType=x-scheme-handler/gemini;x-scheme-handler/gopher;x-scheme-handler/spartan;
=> lagrange
To add support for the fingerprint reader, first install fprintd:
pacman -S fprintd
Then, to enable sudo via fingerprint, edit `/etc/pam.d/sudo', and add:
auth sufficient pam_fprintd.so
above
auth include system-login
If you don't want to use the fingerprint for a sudo command, use `ctrl+c' and then enter your password.
For lightdm, edit `/etc/pam.d/lightdm' and add at the top:
auth sufficient pam_unix.so try_first_pass likeauth nullok auth sufficient pam_fprintd.so
This allow to use either password or the fingerprint. To activate the fingerprint, enter a empty password, and then use the fingerprint :). Using only the second line will require the fingerprint and won't allow password alternative (which I wanted).
So far, I have only followed the archlinux wiki installation steps. I haven't pushed much the CPU yet and the few times the fan went on it was loud but ok. I need more testing on this when I'll daily drive completely this laptop.
Install thermald' and
dptfxtract-bin':
pacman -S thermald yay -S dptfxtract-bin
And then configure thermald and start the service.
sudo dptfxtract-bin sudo cp /etc/thermald/thermal-conf.xml.auto /etc/thermald/thermal.conf.xml sudo systemctl enable themarld.service sudo systemctl start themarld.service
Install the necessary software:
sudo pacman -S bluez bluez-utils blueman
Add yourself to the lp' group in case you need bluetooth tethering. Connect the external bluetooth device using the GUI
blueman-applet'. Sounds from laptop to bluetooth (and inverse) works without any additional configuration.
Autostart bluetooth:
sudo systemctl enable bluetooth.service --- title: "start if now if you want:" date: --- sudo systemctl start bluetooth.service
Autostart blueman applet in the i3 config (or use your own autostart process):
exec --no-startup-id blueman-applet
Bluetooth is disabled by default though and I only activate it on demand via the blueman-applet.
Sound speaker works out of the box, switching from speaker to jack port works also. Pipewire is really awesome :). Microphone works also out of the box and the kill switch is a nice touch on the framework laptop :).
Switching sound between bluetooth and "local" works also very smoothly and quickly.
I didn't even try to use the ambient light sensor. I prefer changing it myself when needed. Could be used with `iio-sensor-proxy' apparently.
That's it for this post, I still need to manage the hibernation, but hopefully there will be a new post later that fix the missing things :). Next post will be about additional software installation needed to make this laptop a full working workstation :).
=> /gemlog/
=> Send me a gemini mention | send me an email! This content has been proxied by September (3851b).Proxy Information
text/gemini; lang=en