HakoDocs

HakoDocs

Posts (Latest 10 updated) :
Read all
Table of Contents:
  1. Arch Linux
    1. The package Manager
    2. The Arch User Repository
    3. Full System Upgrade
  2. System Sanity Check
    1. Network
    2. Sound
    3. Bluetooth
    4. Keyboard Backlight
    5. Screenshots
    6. Monitors
    7. Graphics Card
  3. Text Editor
    1. VSCode
    2. Neovim
  4. See also

Arch Linux

Arch Linux is a rolling-release distribution, i.e. packages (software) receive updates constantly. There is not a concensus on how often one needs to update their system, a good rule of thumb is once per week.

Tip: If case something happens, always check the Arch Wiki first. It always help, no matter the problem you may have. Read very carefully the instructions, and don’t skip steps. I have encountered many problems for literally not reading the next line in the wiki.

This guide serves as both a beginner guide to know that to check after they install Arch Linux for the first time, but also a checklist for myself to remember what to look for in a new installation. I will assume that you installed KDE Plasma as your Desktop Environment.

The package Manager

As in any Linux distribution, Arch Linux has a package manager called pacman that installs software from the Arch repository . Package names may differ from other distributions, so it is recommended that you check on the repositories or the Arch Wiki how to install particular software.

To install packages simply run

sudo pacman -S PACKAGE_NAME

where the -S flag stands for Sync. It basically reads

Sync from the pacman (Arch) repository PACKAGE_NAME with my system

The Arch User Repository

Not every piece of software can be found in the regular Arch repositories. Take for example dropbox, that has official support for Debian/Ubuntu, but not for Arch Linux. Another example would be software that need to be compiled from source like lammps, gromacs or some of the xp-pen drivers for their tablets. Manually repackaging, or compiling from source will install the software on your system at the cost of not being properly managed by pacman. On such cases we turn to the so-called Arch User Repository (AUR).

The Arch User Repository (AUR) is a community-driven repository for Arch Linux that allows users to share and install packages not available in the official Arch repositories. Unlike the official repos, which provide precompiled binaries, the AUR contains PKGBUILD scripts—text files that define how to download, compile, and install software from source or external sources like .deb packages. Users can manually download a PKGBUILD and run makepkg -si to build and install the package, or use an AUR helper like yay or paru to automate the process. Since AUR packages are maintained by the community, they are not officially supported by Arch and may require user intervention if dependencies or builds break.

To install yay as an AUR helper, run

sudo pacman -S --needed base-devel git
mkdir /tmp/yay
git clone https://aur.archlinux.org/yay.git /tmp/yay
cd /tmp/yay
makepkg -si

Then from the AUR, we can install with same flags as in pacman

yay -S PACKAGE_NAME

When yay installs an AUR package, it first downloads the PKGBUILD script, builds the package into a .pkg.tar.zst file, and then installs it using pacman -U. Since pacman tracks all installed packages in its local database (/var/lib/pacman/), the AUR package becomes indistinguishable from an official package in terms of management. This means pacman -Q can list it, pacman -R can remove it, and pacman -U can reinstall it.

Because AUR packages are not in the official repositories, pacman -Syu does not update them—users must manually rebuild them or use an AUR helper like yay -Syu, which automates the update process by fetching new PKGBUILD versions and repeating the build-and-install process.

Full System Upgrade

Arch Linux receives constant updates, to make a full system upgrade run

sudo pacman -Syu

Warning: Always make sure to read what packages are being updated.

System Sanity Check

First thing, is that we need to check if all basic functionalities are working properly. In some sections I don’t have any particular advice, as they usually work out of the box. In such cases, I will simply provide a link to their ArchWiki page.

Network

Sound

  • For general troubleshooting visit Sound system on the ArchWiki.

  • Microphone is not detected on some Lenovo Laptops

    On some Lenovo laptops, e.g. ThinkPad T14 Gen 2, the built-in microphone was not properly detected.

    A solution was found in this Reddit post by user 4bjmc881, who identified that the issue was related to the audio driver being loaded by the system. By default, the system attempts to use the snd-hda-intel driver. However, for newer devices (from 2019 onwards), the sof-audio-pci-intel-cnl driver is more appropriate. To ensure that the correct driver is loaded, the snd-hda-intel driver must be blacklisted.\

    To solve the issue, create or edit the modprobe config at /etc/modprobe.d/blacklist.conf and add the following content

    blacklist snd_hda_intel
    

    After reboot, the kernel loads the driver and the microphone is detected correctly.

Bluetooth

  • For general troubleshooting visit Bluetooth headset on the ArchWiki.

  • General bluetooth capabilities

    sudo pacman -S bluez bluez-utils bluez-deprecated-tools
    

    Typically the Bluetooth Services is not enabled by default.

    sudo systemctl start bluetooth.service
    sudo systemctl enable bluetooth.service
    

    Sometimes you will need to reboot your PC for everything to work properly.

Keyboard Backlight

  • For general troubleshooting visit Keyboard backlight on the Archwiki.

  • The frontend that controls the backlight is not installed

    sudo pacman -S brightnessctl
    

    If that does not solve it, check the Archwiki.

Screenshots

  • The software that takes screenshots is not installed

    For KDE Plasma use spectacle.

    sudo pacman -S spectacle
    

Monitors

In particular, check that

  1. All monitors connect correctly, in particular those that use Thunderbolt/USB4.
  2. All monitors run at their respective refresh rate.

Graphics Card

There are a few ways to make sure your dedicated graphics card is working.

  • Card Is Detected

    1. In KDE Plasma, look for the About setting, it should list all of your components.
    2. Using fastfetch
    sudo pacman -S fastfetch
    fastfech
    
    1. Using lspci
    lspci | grep -i vga
    
  • OpenGL Renderer

    You can check the default OpenGL rendered for your system to make sure which card is currently being used

    glxinfo | grep "OpenGL renderer"
    # OpenGL renderer string: AMD Radeon RX 6650M (radeonsi, navi23, LLVM 19.1.6, DRM 3.59, 6.12.9-arch1-1)
    

    This will list the current renderer and used driver. If it is not the correct one, you can force it with the DRI_PRIME environment variable.

    DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
    # OpenGL renderer string: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 19.1.6, DRM 3.59, 6.12.9-arch1-1)
    

    As a final sanity check, a good way to really make sure your card is working is by launching minecraft. You can install it from the AUR

    yay -S minecraft-launcher
    

    In a world, press F3 and check the display information on the right side. If you see the incorrect graphics card, change Plasma to use the other one as default, or force the application launcher to use the correct DRI_PRIME variable state. I am not sure on how this is configured, typically after a few restards, Plasma always decides to use the dedicated graphics.

Text Editor

VSCode

There are many text editors on Linux. VSCode is a Microsoft editor with enabled telemetry, Linux users do not like that for privacy concerns. VSCodium is a community open-source release that nullifies telemetry, and is available in the AUR. For Arch Linux, there is an official OSS release

sudo pacman -S code

For more information, read the VSCode Arch Wiki Page.

Neovim

I personally use nvim with my own configuration.

sudo pacman -S nvim
git clone https://github.com/leogabac/leovim.git ~/.config/nvim
nvim

Check the leovim repository for more information.

See also

There are other tools you might be interested in checking out. Here are some of them (Available on this Wiki)

  • Python: Installation, virtual environments, handling versions.
  • Timeshift: Tool for creating system snapshopts. Similar to MacOS TimeMachine.
  • LaTeX: Typesetting system.