Arch / Derivatives
1. AUR Helper
One of the most prominent and enticing features of Arch Linux is the Arch User Repository (AUR). The AUR is a community-driven repository that provides package descriptions (PKGBUILDs). These allow you to compile software from source using makepkg and then install it with pacman.
An AUR helper is recommended for installing packages from the AUR, as it simplifies the process. You can install packages without an AUR helper, but using one makes it much easier. Distros like EndeavourOS and other Arch-based distros usually include an AUR helper by default, but on vanilla Arch Linux, you need to install it yourself.
You can choose between Yay or Paru, if you’re unsure, just go with Yay.
Yay (Yet Another Yogurt):
sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -siParu :
sudo pacman -S --needed base-devel && git clone https://aur.archlinux.org/paru.git && cd paru && makepkg -siThe AUR is community-driven. Anyone can upload packages, so there’s always a small risk of malicious code. Always read the PKGBUILD file before installing to see exactly what commands will run on your system.
2. Pacman Configuration:
2.1 Enable Multilib repository (Required for Drivers and Wine)
Open the pacman configuration file:
sudo nano /etc/pacman.confUncomment these lines:
[multilib]
Include = /etc/pacman.d/mirrorlist2.2. Update Mirrors to Use the Fastest Server
Backup current mirrorlist:
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bakEnable parallel downloads:
sudo nano /etc/pacman.confSet ParallelDownloads = 10
Install reflector:
sudo pacman -S reflectorUpdate mirrors:
sudo reflector --verbose --latest 10 --protocol https --sort rate --save /etc/pacman.d/mirrorlistRestore backup if needed:
sudo cp /etc/pacman.d/mirrorlist.bak /etc/pacman.d/mirrorlist3. Driver Installation
If you're using an Nvidia GPU, you’ll also need to install proprietary drivers manually. AMD users can skip this, since Mesa drivers are included in the kernel and work out of the box. However, if you want to install all the 32-bit libraries and Vulkan support, see the instructions below.
Unlike Windows, most drivers are already included in the Linux kernel and the rest of the drivers is usually included in the linux-firmware package. You usually don’t need to install them manually.
3.1 Nvidia Drivers:
There are currently two drivers available for NVIDIA GPUs: the proprietary one and the open-source GPU kernel modules. To determine which one you need, please read below.
NVIDIA released open-source Linux GPU kernel modules (not to be confused with the fully open-source drivers Nouveau). These are still the proprietary drivers but semi open-source and are recommended for NVIDIA Blackwell and higher, as proprietary drivers won’t work for them. However, if you have anything older than Pascal, then it is recommended to use the proprietary drivers, as the open-source ones aren’t compatible. The performance is the same for other architectures, so you may choose to use whichever one you want.
You can compare your gpu architecture in the chart below:
GPU Generation
Architecture
RTX 50 Series Laptop GPU
Blackwell
RTX 40 Series Laptop GPU
Ada Lovelace
RTX 30 Series Laptop GPU
Ampere
RTX 20 Series Laptop GPU
Turing
GTX 16 Series
Turing
GTX 10 Series
Pascal
Make sure Secure Boot is disabled, or the Nvidia driver won’t load.
Update system:
sudo pacman -SyuCheck GPU detection:
lspci | grep -i nvidiaIf it doesn’t show, try switching to Hybrid GPU mode using supergfxctl and run the command again.
For EndeavourOS users:
yay -S nvidia-inst
nvidia-instManual installation (Arch and Arch-based distros):
Proprietary driver:
sudo pacman -S dkms nvidia-dkms nvidia-utils lib32-nvidia-utils nvidia-settings libva-nvidia-driver vulkan-icd-loader lib32-vulkan-icd-loaderNvidia open kernel module driver:
sudo pacman -S dkms nvidia-open-dkms nvidia-utils lib32-nvidia-utils nvidia-settings libva-nvidia-driver vulkan-icd-loader lib32-vulkan-icd-loader3.2. AMD Drivers
The drivers for AMD are usually installed out of the box since they’re part of the Linux kernel. If you want to make sure you have everything, including the 32-bit libraries and Vulkan, simply run the command below.
sudo pacman -S mesa lib32-mesa vulkan-radeon lib32-vulkan-radeon libva-mesa-driver libva-utils3.3 Intel:
Same for intel as well.
sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel intel-media-driver libva-intel-driver libva-utilsEnable Nvidia services:
sudo systemctl enable nvidia-hibernate.service nvidia-suspend.service nvidia-resume.service nvidia-powerd.service4. Asus Software Installation:
Install Asus tools:
yay -S asusctl rog-control-center supergfxctlEnable GPU switching daemon:
sudo systemctl enable supergfxd.service --now4.1 Switching GPU Modes (via Terminal or GUI)
Rog-control-center Center is the GUI for asusctl. You can also use asusctl without the GUI if you prefer. The same applies to supergfxctl , it’s a terminal only tool by default, but you can install the GNOME extension or KDE applet to get a graphical interface.
GNOME: Install the supergfxctl-gex extension.
KDE:
yay -S plasma6-applets-supergfxctlLog out and log back in for the applet to appear on the taskbar.
Switch to Hybrid mode:
supergfxctl --mode HybridFixing Hotkeys
Commands:
Open Armoury Crate:
rog-control-centerToggle Aura lighting:
asusctl aura -nChange performance profile:
asusctl profile -n
6. Flatpak
Flatpak is a Linux tool for installing and managing software. It runs applications in a sandboxed environment, keeping them partially separated from the main system. It is a widely used platform that allows software to work across various Linux distributions.
Most Arch-based distributions come with Flatpak, but if it isn’t installed, you can use the following command to install it and add the Flatpak repository.
sudo pacman -S flatpak && flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo7. Backups:
Timeshift is a powerful Linux backup tool that functions similarly to System Restore on Windows or Time Machine on macOS. It protects your system by creating incremental snapshots of your file system at regular intervals. These snapshots allow you to restore your system to a previous state, undoing any system changes or issues.
Installation:
sudo pacman -S timeshiftHow to Use Timeshift:
Select Snapshot Type: Choose between RSYNC and BTRFS based on your file system.
Choose Snapshot Location: Select the disk or partition where snapshots will be saved.
Configure Snapshot Schedule: Enable periodic snapshots if desired and select a snapshot frequency (daily, weekly, or on boot).
Create a Snapshot: Click Create to manually create a snapshot at any time.
Restore a Snapshot: To undo system changes, select a previous snapshot and click Restore.
Restoring a Broken System Using Timeshift:
Boot from a Linux ISO with Timeshift installed.
Select the same snapshot type (BTRFS or RSYNC) as used before.
Choose the location where your backup is stored.
Select the desired backup from the list shown.
Click Restore to revert your system to the previous working state.
Timeshift does not back up personal user files such as documents, pictures, or downloads. It focuses exclusively on system files and settings.
8. Firewall
A firewall is a security system that monitors, filters, and controls incoming and outgoing network traffic according to predefined security rules. While it isn't mandatory to have a firewall for a workstation, it is highly recommended to set up some form of firewall. There are two firewall options depending on the netfilter installed:
This covers only the basic things about firewalls. If you want advanced configuration or documentation, please visit the respective page for the firewalls on the Arch Wiki.
To check which netfilter is installed, run the following command:
sudo pacman -Q | grep -E 'nftables|iptables'9.1. Ufw:
If you have iptables(legacy) installed, then it is recommended to use Uncomplicated Firewall (ufw).
Install ufw and its GUI with:
sudo pacman -S ufw gufwThen enable it with:
sudo ufw enableThe default configuration denies all incoming connections while allowing outgoing connections. The default should be enough for most users, but if you use Docker, SSH, or any torrent software, you will need to give it access through your firewall.
To allow/deny access to a specific port, run the following command:
sudo ufw allow <port>/<optional: protocol>9.2. Firewalld:
Firewalld is recommended for systems that have iptables-nft installed, which includes most modern distros.
Install the firewalld package:
sudo pacman -S firewalld python-pyqt6Then enable it with the following command:
sudo systemctl enable firewalld --nowAgain, if you need to open a port or a service, you can either use the GUI or the terminal for it. The firewalld package contains a GUI by default, while the Python package adds applet support for firewalld.
To open/close a port or service, you can run the following command:
sudo firewall-cmd --zone=public --remove-port=<port>/<optional: protocol>For Services:
sudo firewall-cmd --zone=public --remove-service=<service>By default, firewalld only saves these changes temporarily until a reboot. If you want to make the changes persistent, use the --permanent flag as such:
sudo firewall-cmd --permanent --zone=public --remove-service=<service>Then reload firewalld to integrate changes into the current runtime:
sudo firewall-cmd --reloadLast updated






