As an effort to learn more about Linux and computers in general, I decided to be adventurous and install Arch Linux on my daily desktop. Here I will write about my Arch installation.
Desktop Specs
CPU: Intel Core i9 10900K
RAM: 64GB (16x4) 3600MHz Patriot Viper
Motherboard: Gigabyte Z490 VISION D
GPU1: MSi NVIDIA RTX2070 GAMING Z
GPU2: PowerColor AMD RX6800 Reference Cooler
SSD1: WD Blue SN550 1TB
SSD2: Samsung 970 EVO 500GB
PSU: Corsair RM1000x
BIOS Trick: Changing Boot GPU
Since I will be doing GPU passthrough (more on that on a later date), I have 2 GPUs in my PC. Most desktop configurations will only have one GPU, so selecting boot GPU can be tricky for some motherboards as it is usually a function that is not needed for most, but is needed in my case. Luckily, I’ve found a trick that can be used with my motherboard (Gigabyte Z490 VISION D). This trick might work with similar motherboards from Gigabyte as well. To do this trick, go to Boot
menu then enable CSM Support
. After that Initial Boot Graphics
menu will appear in Settings > IO Ports
. After setting the boot device, CSM Suport
can be disabled and the boot GPU will still be set.
Installing Arch
Arch Linux, unlike normal desktop operating systems, doesn’t come with a graphical installer. That means everything has to be done via the command line. Official Arch installation guide can be viewed on the Arch Wiki. To speed things up, I’ve written a little installation script that does minimal installation (note that it will only work with Intel CPUs at the time of writing). To use the script, the root partition must be mounted at/mnt
and the efi partition must be mounted at /mnt/efi
. Running the script will asks for hostname, username, and password at the end. The script does help a lot with install speed, however, disk partioning still has to be done manually.
Getting the GUI
Now that the installation is finished, I can boot into my Arch installation. However, I’m only left with command line interface. To get a GUI running on our desktop, we need a desktop environment. There are a lot desktop environments to choose from, I picked KDE Plasma for its customizability and ease of use. To install KDE Plasma, Arch’s default package manager pacman
can be used. To get access to the terminal (so that I can install things later), I also install konsole. And since I will be using wayland I also install plasma-wayland-session. The command below will install Plasma, and some other essentials.
pacman -S plasma-desktop plasma-wayland-session konsole firefox dolphin
This gives me a very basic installation of the desktop environment Plasma, terminal application Konsole, Firefox browser, and the Dolphin file explorer.
AUR Packages
Since I needed some applications outside of the default Arch repositories, I will be installing them from the Arch User Repository (AUR). Normally, to install software from the AUR, you need to clone a repository of the software you wanted to install, then use Arch’s makepkg
tool to install it. Software from AUR will come with a PKGBUILD file, which is the file that has instructions for the software installation. Most of the time it software will be compiled from source code.
Installing software from AUR can be tiring. Luckily, there are AUR Helpers which will help you install and manage applications from the AUR. I picked Yay for my setup. Yay can by installed by the following one-liner:
pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si
Steam
Steam can be installed from multilib
repository using pacman
.
pacman -S steam
Steam can be configured to run games via Proton which provides support for games that isn’t natively supported on linux. Proton can be enabled by going to Steam’s Settings > Steam Play, then check “Enable Steam Play for supported titles”.
Tiling Window Management Script: Bismuth
Recently I’ve been playing around with Bismuth, a KWin script which provides the functionality of a tiling window manager. Bismuth is very useful in keeping windows managed. It does have a bit of a learning curve, but I feel like it is helping with my productivity a lot.
Closing Thoughts
So I’ve Installed Arch Linux on my main desktop and has been using it for a while now. Using Arch gives me the freedom to completly customize the operating system the way I wanted it to be. However, daily driving it isn’t easy, but it’s a challenge that I’m willing to take. Despite occasional bugs in Plasma, my experience has been quite great. For things that requires Windows, I have a high-performance Windows virtual machine with GPU passthrough setup. Most of the applications that I use are available on Linux so I don’t have much problems. All terminal-based applications work really well on Linux. I’m happy with my current setup overall. By using Arch, I get to learn a lot about the computer that I use daily while also being able to work on it.