Published: Thu Apr 25 2024

Arch Linux

I've installed Arch Linux on my old laptop (a 13 inch Lenovo Yoga 730). I've written before about my frustrations with Windows 11, but the tipping point came earlier this week during a power cut. I was working at the time and was able to continue with laptop battery power and my phone providing a wireless hotspot, when Windows decided it was the optimal time to start installing updates. It was not, in fact, an optimal time to start transferring data, and on limited battery power it was definitely not an optimal time to start running the CPU at 100%.

Installation

Arch has been very smooth. Its difficult reputation, is, in my opinion so far, unwarranted. I followed the manual installation guide (not the archinstall script) on the Wiki and it took a couple of hours in total before I had a working system booting into a GUI, and probably a couple more hours of on and off configuration.

The installation steps are fairly straightforward and not unfamiliar to anyone who's spent much time configuring Linux systems in the past. It's obviously not as easy as clicking buttons in a GUI, but most people who have been running Linux for a while are probably familiar with things like fstab. The only difference is that you're in a TTY rather than a terminal window in a graphical environment.

The only thing that caught me out is I manually configured my encrypted home partition in /etc/crypttab as 'lukshome', which was unnecessary as I'd set the LINUX_HOME partition flag. The flag causes an implied entry called 'home' in crypttab and led to it being treated as a duplicate and would cause an "already mounted" error during boot up. I ended up making an explicit 'home' entry anyway to add the discard flag for SSD trimming. If I'd called it 'home' rather than 'lukshome' I'd have been OK.

Post install configuration

After installing you end up with a very minimalist system. You have to do various things you take for granted in other distros, like setting up the sudoers file and enabling bluetooth.

Something that surprised me was that the install media launches into a zsh shell, but the installed system defaults to bash. I installed zsh myself, then had to edit my .zshrc to get it to recognise various key codes (like control + arrow keys). I grabbed this section from my Manjaro desktop:

alias ls='ls --color=auto'
alias grep='grep --color=auto'

## Keybindings section
bindkey -e
bindkey '^[[7~' beginning-of-line                               # Home key
bindkey '^[[H' beginning-of-line                                # Home key
if [[ "${terminfo[khome]}" != "" ]]; then
  bindkey "${terminfo[khome]}" beginning-of-line                # [Home] - Go to beginning of line
fi
bindkey '^[[8~' end-of-line                                     # End key
bindkey '^[[F' end-of-line                                     # End key
if [[ "${terminfo[kend]}" != "" ]]; then
  bindkey "${terminfo[kend]}" end-of-line                       # [End] - Go to end of line
fi
bindkey '^[[2~' overwrite-mode                                  # Insert key
bindkey '^[[3~' delete-char                                     # Delete key
bindkey '^[[C'  forward-char                                    # Right key
bindkey '^[[D'  backward-char                                   # Left key
bindkey '^[[5~' history-beginning-search-backward               # Page up key
bindkey '^[[6~' history-beginning-search-forward                # Page down key

# Navigate words with ctrl+arrow keys
bindkey '^[Oc' forward-word                                     #
bindkey '^[Od' backward-word                                    #
bindkey '^[[1;5D' backward-word                                 #
bindkey '^[[1;5C' forward-word                                  #
bindkey '^H' backward-kill-word                                 # delete previous word with ctrl+backspace
bindkey '^[[Z' undo                                             # Shift+tab undo last action

I installed a full Plasma/KDE set up, and then realised how much extra junk that comes with, and promptly uninstalled a lot of things. I was quite bemused to see I had Angelfish, Falkon and Konqueror installed - all of which are web browsers (and none of which I'm going to use). There is a certain irony that Arch is so minimalistic that if you're not careful you can end up with a lot of bloat. There is something to be said for a distro which selectively decides which applications you probably want by default.

Plasma set itself to 125% scaling, which looks about right on the 13" screen. Wayland + Plasma on my integrated intel GPU just works, and feels very smooth and responsive! It also looks nice:

Plasma Plasma

This is a touchscreen laptop, and, although I don't use it as a primary method of input, the touch works fine on Plasma out of the box and feels very nice.

This laptop also includes a fingerprint sensor. This does not work out of the box and I haven't investigated setting it up. I found the sensor unreliable on Windows so I might not bother.

The battery life is noticably better than on Windows. This is a 5 year old laptop and it now lasts around 7-8 hours on battery, versus about 4 on Windows. The power draw is generally around 6-8W. This is pretty astonishing and shows how efficient Linux and Plasma are.

Arch itself

Arch itself as a distribution is really nice! The official repositories are stacked with slightly obscure utilities that often aren't in other distributions' repositories, like btop and acpi_call. On top of that, there's the Arch User Repositories (AUR) for everything else, though I'd encourage care when using this as AUR packages are essentially unreviewed.

Arch is a very rapid release rolling distribution. It's currently on kernel 6.8.7, which is the latest stable kernel. That's good if you've got new hardware. It's theoretically not so good if you need a stable system, but we'll see how this plays out in practice.

Closing thoughts

Overall I'm very happy with Arch, and feel it's breathed new life into a piece of hardware that was starting to feel old on Windows.

Installation was not exactly a friendly process, but it was a smooth one.

I wouldn't recommend anyone with no Linux experience to start by trying to install Arch, but it's not difficult for anyone who's been using Linux for a while.

We will see how stable it remains, but I'm optimistic so far.

I'd love to say that this is likely to be a universal experience, but it's not. My newer laptop is a Lenovo Legion 5 Slim with an AMD 7840HS and an NVIDIA 4070. I would like to get Linux working well on this laptop too, but the battery life under Linux is pretty bad compared to Windows due to excessive power draw. It's still a work in progress and I'll be writing more about my experience with this soon.