Debugging

One of the big missing features of Arch Linux are packages with debug symbols in a separate repository that could be offered for installation after a crash so that the next crash could be analyzed, read bug report https://bugs.archlinux.org/task/38755.

Especially for KDE it is helpful to enable debugging symbols and information. Example output of a backtrace that is lacking helpful information:

Thread 1 "kwin_wayland" received signal SIGSEGV, Segmentation fault.
0x00007f7d56510bbc in ?? () from /usr/lib/libwayland-server.so.0
(gdb) bt
#0 0x00007f7d56510bbc in () at /usr/lib/libwayland-server.so.0
#1 0x00007f7d56515619 in () at /usr/lib/libwayland-server.so.0
#2 0x00007f7d56510cff in wl_client_destroy () at /usr/lib/libwayland-server.so.0
#3 0x00007f7d56510db9 in () at /usr/lib/libwayland-server.so.0
#4 0x00007f7d565129b2 in wl_event_loop_dispatch () at /usr/lib/libwayland-server.so.0
#5 0x00007f7d5f17b2bf in KWayland::Server::Display::Private::dispatch() () at /usr/lib/libKF5WaylandServer.so.5
#6 0x00007f7d5f99c9e1 in () at /usr/lib/libkwin.so.5
#7 0x00007f7d5f9986eb in () at /usr/lib/libkwin.so.5
#8 0x00007f7d5f998904 in () at /usr/lib/libkwin.so.5

The 2 question marks (??) show that you have a package without debug information. To see to which package the mentioned file belongs, run:

pacman -Qo /pathoffile/filename.so

Before compiling anything, you need to activate in Arch Linux the debugging symbols for new compiled packages first in the makepgk file. If the file belongs to Qt, then you can install the Qt5 debug packges via a separate repository without the need for compiling.

Makepkg

Enable debugging symbols for new compiled packages, for more details read https://wiki.archlinux.org/index.php/Debug_-_Getting_Traces. Basically you need to modify in the following file the OPTIONS= line, this will enable debug and disable strip:

nano /etc/makepkg.conf
...
#OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug)
OPTIONS=(!strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx debug)
...

Now you can go ahead and compile the required package with debug symbols.

Compile Arch Linux Package with Debug Symbols

 

  1. Download e.g. from the Arch Linux package website or repository the PKGBUILD file.
  2. run makepgk
  3. If you need to verfify the key, you can do it via: gpg –recv-keys ???????
  4. run makepgk –install

Mesa-git Debug packages

If you need debug packages, you can use them from mesa-git. Add the repository from mesa-git Mesa-Git and LLVM-svn and then install the required packages, e.g. for mesa it would be mesa-git-debug.

Qt5 Debug packages

The Qt5 debug symbol packages are provided via a separate repository, read https://wiki.archlinux.org/index.php/Unofficial_user_repositories#qt-debug

Add the repository to pacman.conf

[qt-debug]
Server = https://qutebrowser.org/qt-debug/$arch

Add the key via mentioned in the link above via

gpg --recv-keys ???????

Kwin debugging

https://community.kde.org/KWin/Debugging

Photo and Picture

Photo Collection Management

Rapid-Photo-Downloader

Rapid-Photo-Downloader (license GPLv3, http://www.damonlynch.net/rapid) is a great tool to download files from e.g. a SDCard or to take an existing photo folder and let the tool sort your collection, I like a folder structure like /YEAR/MONTH and splitted into a photo and video folder. Rapid-Photo-Downloader switched from Gtk to Qt, personally I think with this switch the app looks so much better and now finally it does run natively on Wayland. You can install it from AUR (sadly Arch Linux is still shipping the outdated package by default):

sudo pacman -Sy rapid-photo-downloader

The only missing functionality is from my point of view that photos are at the moment not deleted from the source after they have been copied to the destination.

DigiKam

DigiKam (license GPL) is a Photo powerful album software and it works well Wayland.

sudo pacman -Sy digikam

Krita

Krita (license GPLv3) is a drawing and image creation suite. It doesn’t yet run on Wayland, it only runs through XWayland.

sudo pacman -Sy krita

SDDM 0.18.1 (Wayland Bug)

SDDM (https://github.com/sddm/sddm) is a desktop login manager. In Arch Linux you can install and enable it with the following commands:

sudo pacman -Sy sddm
sudo systemctl enable sddm

Disable any other login manager, then reboot and then you can use SDDM.

Sadly as of version 0.18, SDDM still lacks proper Wayland support in 2020, it is not even available for testing, even though the activity has been started long time ago. SDDM is released infrequent from time to time.

SDDM’s default theme is ugly, so change it to the breeze after installing KDE Plasma via the system settings.

Autologin

sudo nano /etc/sddm.conf.d/autologin.conf

or

sudo nano /etc/sddm.conf
[Autologin]
User=john
Session=plasma.desktop

SDDM-Git

If you have this issues with the stable release or you want to test the development version, you can always try the SDDM-git development code:

yay sddm-git

If SDDM fails to start and you have a black screen, often there is an issue with the graphic driver. Read X.org.log for details.

Bugs

Closed Bugs

  • Very small mouse cursor on 4K screens, it doesn’t scale.

Alternative

If you need a true Wayland display manager or if SDDM refuse to work at all, you can try GDM. Unfortunately it enforces most of the gnome-session as a dependency.

KDE Plasma-Mobile (Bugs)

Plasma-Mobile is created by the KDE community to run on mobile phones by using bleeding edge technology like Wayland. It is based on Qt, Kwin and other great KDE technology for details read https://plasma-mobile.org/overview. As a base layer they use Ubuntu Mobile and a layer to Android drivers.

As I have a spare Nexus 5 still around I followed the instructions on https://plasma-mobile.org/nexus-5 to install Plasma-Mobile. Usually I would note the installation steps, but the short manual is really great and it worked well. As a preparation I only had to install Android tools:

pacman -Sy android-tools

I tried using instead of neon the arch platform, I was not sure about the difference as there is no further explanation. But I guess one is a Linux LXC container of Neon based on Ubuntu and the other Arch Linux. The arch based one was recently updated, but the installation script didn’t work, the phone was stuck in the boot screen with the Google logo for ages. But neon worked and started successful.

To update to a new testing release you probably have to wipe the phone by following the same instructions again, at least I’m not aware about a upgrade path.

Obviously there are a lot of bugs in Plasma-Mobile and is not really usable, but it is a good tech demo and I really hope to see more from the KDE Plasma-Mobile community! Actually the interface scales often quite bad, the phone or some apps can crash, the camera doesn’t work, the battery icon is not selecting the right battery, Firefox looks like a desktop app, …

Plasma-Mobile in a VM

For details how to run Plasma-Mobile inside of a virtual machine in Qemu read http://blog.bshah.in/2017/11/23/emulate-plasma-mobile. You can download a prebuild image from http://blog.bshah.in/2018/01/26/trying-out-plasma-mobile.

Messenger, Mail, Telephone, Calendar and Contacts

Telegram-Desktop (Wayland) – Chat and Telephone

Telegram-Desktop (client GPLv3 but proprietary server, https://desktop.telegram.org) runs natively on Plasma-Wayland in Arch Linux (tested with Version 1.2.6). However the upstream bugs (https://github.com/telegramdesktop/tdesktop/issues/2255 and https://github.com/telegramdesktop/tdesktop/issues/2353) still seem not to be addressed, so it works on Arch Linux probably through packaging improvements.

Install the official Telegram-Desktop in Arch Linux with the following command (https://wiki.archlinux.org/index.php/Telegram):

sudo pacman -Sy telegram-desktop

If you use Telegram messages are encrypted by default between the your device and the server or the server and the device of the recipient. If you want end-to-end encryption, use an secret chat (not available in the desktop client yet).

Riot

Riot is another great messenger based on the Matrix network

sudo pacman -Sy riot-desktop

Kontact – Calendar, Contact and E-Mail Suite

I tried several Personal Information Manager’s (PIM), but there is nothing that works like Kmail (Bogofilter as a Spam filter), KAddressBook and KOrganizer from the Kontact Suite. The design could be better, I would love to see some polish, especially the calendar and contact view is not nice. But the applications don’t lack any functionality and they just work in all my configurations.

For a basic PIM suite install just these 3 Kontact applications:

sudo pacman -Sy kmail bogofilter kaddressbook korganizer

In KMail I use only IMAP accounts to check my mails in the inbox. KAddressBook and KOrganizer can be integrated with Carddav and Caldav e.g. into Nextcloud. It would be nice to just setup in KDE once the Nextcloud account and the Dolphin, Nextcloud-Client, KAddressBook and Korganizer use it directly.

Using E-Mail is by default an insecure communication and without additional effort and knowledge data leaks can happen quite easy. As such E-Mails should not be avoided and only be used where no other possibility exists.

 Bugs

  • Wayland support: Since the release of KDE Applications 17.08, KMail and KAddressbook can run in Wayland now by default with just minor graphical glitches like flickering in Kmail. Definitely a big improvement, since version 17.04! KOrganizer was fine already since version 17.04 on Plasma-Wayland. Since KDE Applications 18.04 Kmail enforces Xwayland mode via XCB, to run Kmail on Wayland you must do this like this: kmail –platform wayland
  • Crash when moving or deleting imap folder or when moving mails to another folder (Wayland). Kmail 5.6.1..5.9.2, now drag and drop has been disabled as a work around https://bugs.kde.org/show_bug.cgi?id=385289.

KDE

KDE (https://kde.org) is one of most used Linux desktops mostly driven by a great community. KDE consists of the multiple components:

  • Qt 5.15.0 – Qt Software Development Kit
  • KDE Plasma 5.18.4 LTS – Desktop environment, Plasma 5.19 Beta available
  • KDE Frameworks 5.70 – Common functionalities and tools
  • KDE Application Bundle 20.04.1 – All desktop applications

To install KDE and some recommended appications in Arch Linux (https://wiki.archlinux.org/index.php/KDE), run:

pacman -Sy plasma-meta qt5-virtualkeyboard plasma-wayland-session sddm-kcm falkon sshfs kdeconnect ktorrent kdiff3 phonon-qt5-gstreamer pipewire packagekit-qt5 kde-applications-meta partitionmanager pacmanlogviewer appmenu-gtk-module kde-gtk-config latte-dock

To make it simple install all KDE applications and later remove not required ones. You should use phonon-qt5-gstreamer as it has support for pipewire (new Video/Audio sharing interfaces on Wayland, phonon-qt5-vlc is lacking support).

Now you can select Plasma in your login manager like SDDM. There ar 2 entries:

  1. Plasma-Wayland (recommended)
    • 5.12 LTS declared Wayland stable, red shift night mode
    • 5.13 developments are done on Wayland first
    • 5.14+5.15 fixed several annoying XWayland input bugs and 5.15 added Screen Sharing support
    • 5.16 has now drag and drop support between XWayland and Wayland native windows. You can configure now your touch-pad on Wayland. Support for Remote Desktop.
    • 5.18 fixed flickering of subsurfaces and copy & paste works in Firefox on Wayland
  2. Plasma-X11 (default)
    • 5.13 X11 feature freeze, only bug fixes and some downgrades from Wayland developments, but officially still the default

Make sure that NetworkManager is enabled on a laptop, otherwise you won’t see in KDE the network applet:

systemctl enable NetworkManager

Vulkan

With Qt 5.10 the first Vulkan bindings for development have been released and it would be great to have a rendering path for KDE Plasma-Wayland over Vulkan. It gives more control to the developers and will allow KDE to avoid a lot of rendering bugs and instabilities. The KDE developer Fredrik Höglund started a Kwin Vulkan compositing branch (https://cgit.kde.org/kwin.git/log/?h=fredrik/vulkan), but no commit since more than 2 years!

Plasma-Wayland

Plasma on Wayland is stable and should be used instead of X11 unless there is still a gap in your workflow on Wayland. One big advantage of Wayland is that Kwin itself has improved a lot thanks to the redesign and automatic testing added during the transition phase. Legacy, not yet updated X11 applications will continue to work through XWayland.

Plasma runs great on Wayland, but if you encounter bugs and glitches then open a bug report. Once you login the first time to Plasma-Wayland you shouldn’t notice any difference compared to the legacy X11 Plasma Desktop, but small setups are required:

  • Enable in touch pad the tab to click function

If you are a Nvidia proprietary driver user, Nvidia doesn’t support Plasma Wayland with native GBM. After many years Nvidia provided Kwin Wayland support starting with Plasma 5.16 via their EGLStreams. This is not the promised platform independent approach of Nvidia and there is no XWayland support! Recommendation: Get rid of your Nvidia GPU, use Mesa drivers or directly switch to Intel/AMD.

Wayland or XWayland?

To see if an application runs natively on Wayland or through XWayland click ALT + SPACE and type “kwin“, then press enter. The Kwin debug console will show all the details regarding Wayland and XWayland (X11) clients.

Screenshot_20180624_150933

Remove non Wayland toolkits

To get rid of legacy toolkits not supporting Wayland read Wayland & Weston.

KWinFT and Wrapland

KWinFT (https://gitlab.com/kwinft/kwinft) is forked from KWin to drive development forward and avoid breaking stable branch with a focus on a clear design, modern development practices and Wayland. It tried to reduce the usage of Qt.

Wrapland (https://gitlab.com/kwinft/wrapland) is a Qt/C++ library wrapping libwayland.

Remove not required applications

After a full installation of Plasma desktop removing some not required or duplicate applications will create leaner desktop. Example:

sudo pacman -R kde-multimedia-meta kde-applications-meta kde-education-meta kde-utilities-meta kde-sdk-meta kde-network-meta kmix 

sudo pacman -Rsc konqueror k3b kde-games-meta blinken kanagram khangman kwave kalgebra cantor kalzium rocs artikulate kgeography ktouch kturtle minuet step kiten klettres kwordquiz parley kig kmplot kbruch dragon kfloppy lokalize cervisia kmouth kmousetool kteatime khelpcenter audiocd-kio

If you need to later on tell pacman that some of the packages that are now installed as a dependency should be explicitly installed as e.g. pacman -Qtd marks them as not required, you can do the following example:

sudo pacman -Sy --asexplicit kate kwrite kompare kfind kompare kdf kcalc kgpg ktimer sweeper marble print-manager filelight dolphin-plugins ark umbrello

Plasma Customizing

After the login to a freshly installed KDE Plasma desktop, some adjustments are recommended. Open the KDE System Settings:

  • Colors
    • Change color of active title bar to #31363b so that it is the same color as the breeze-dark theme color of the panel
  • Symbols
    • Symbols
      • Install and change to Pirus
  • Application Design
    • Window Decorations
      • Design Settings
        • Disable background gradient of title frame (it looks ugly)
      • Button  tab: Enable “Close windows by double clicking in the menu button (top left corner)
      • Remove Window boarders (default now?)
  • Start and Shutdown
    • Login Manager
      • Enable the breeze theme for SDDM and change the mouse pointer as well to breeze (doesn’t work in Plasma 5.12 anymore, bug)
  • Screen Settings
    • Activate Night Color (Wayland only) – Automatic mode to reduce blue colors at night
  • Input
    • Touchpad – activate natural scrolling so that it is like the touch screen
  • Notifications
    • Plasma
      • Turn off all the annoying sounds

Latte-Dock

Latte-Dock 0.9 is a beautiful dock with great Wayland support. Read http://psifidotos.blogspot.de/2018/01/latte-bug-fix-release-v073-and-some-news.html and https://psifidotos.blogspot.com/2018/07/latte-dock-v08-friendly-smile.html to see some example configuration.

KDE Connect

KDE Connect is the best tool to connect your Linux Desktop with an Android smartphone (Gnome is supported as well). Install on your Android mobile the kdeconnect app e.g. from the f-droid.org store and then connect it to your desktop.

Kup

Kup (https://github.com/spersson/Kup) is a nice rsync backup tool, but it is not yet available on Arch Linux.

KDE Testing Repository

If you want contributing to testing you can activate KDE beta’s and release candidate’s (see https://community.kde.org/Schedules) with the KDE-unstable repository in Arch Linux by adding the KDE-unstable repo before testing, which should be activated as well. Especially new Qt versions can show a lot of bugs.

[kde-unstable]
Include = /etc/pacman.d/mirrorlist

Then you just have to upgrade and you will use the latest KDE and Qt testing versions (betas and release candidates):

pacman -Syu

Bug Reporting

What KDE should add is a proper bug reporting infrastructure. It is partially in place, but it requires user interaction. KDE should ask after a crash if it should be reported always automatically, only on confirmation or never. If a user confirms that bugs are automatically reported, then every crash will be submitted regardless of how good the bug reports are. For analytic purposes knowing if the same bug appears over and over again would allow KDE to properly assign developers for the most annoying common bugs. Today KDE makes the bug reporting overly complicated for new users, you need to answer several questions and only if you answer most of them with yes you will be allowed to send the bug report. But an automatically bug reporting infrastructure would allow KDE to really improve the general stability including reporting installed software versions. Take Firefox bug reporting as a good example, it works in the background as an opt-in feature.

Arch Linux users should enable debug symbol and recompile some packages if they want to provide useful bug reports, read Debugging.

KDE Development

To start development for one of the many KDE community projects, follow this guide: https://community.kde.org/Get_Involved/development

Critical Bugs

  1. 2020-05-14: Kwin doesn’t show OpenGL/Vulkan Xwayland windows. Plasma 5.19 Beta https://bugs.kde.org/show_bug.cgi?id=422254. Fixed in Plasma 5.19.
  2. Firefox Wayland works quite well, but copy & paste doesn’t work, see https://bugs.kde.org/show_bug.cgi?id=411682. Partially a bug of <= Plasma 5.18. 2020-05-13 There is a patch developed to fix this bug for Plasma 5.18 Beta 2. Resizing the windows works fine as well now.
  3. Multi monitor setups can crash kwin. Bug <= Plasma 5.16 Beta.

Bugs and new feature requests

  • 2020-05-14: ALT+Tab shows virtual keyboard in the background. Plasma 5.19 Beta + Qt 5.15 https://bugs.kde.org/show_bug.cgi?id=421520
  • 2018-06-24: Inaccurate mouse input in Nexuiz (XWayland) on Wayland. The open issue are mouse jumps or a blocked movement into one direction in borderless windows. Bug <= Plasma 5.19 Beta https://bugs.kde.org/show_bug.cgi?id=395818.
  • Notifications steel active window input on Wayland even if you switch to another window in the mean time, open e.g. Steam can 2 or 3 times steel the focus of another window like Konsole. If I open an application and it loads to slow, I will set it to the background by using another application and in this case I do not want to get over and over again disturbed by popping up windows, these should open in the background as I changed my focus already. Bug <= Plasma 5.17 beta
  • 2019-03-27: Adaptive Sync is missing on Plasma Wayland. Bug <= Plasma 5.18 Beta https://bugs.kde.org/show_bug.cgi?id=405912
  • 2019-05-11: Plasmashell crashes often when copying files from network locations (Wayland). Bug <= Plasma 5.17.5 https://bugs.kde.org/show_bug.cgi?id=407419
  • 2018-06-26: Mouse stuttering in games on XWayland especially in 4k. Could be related to the limited refresh rate of XWayland. Bug Plasma <= 5.14.2 https://bugs.kde.org/show_bug.cgi?id=398391. Maybe a Wine or XWayland bug as in 4k there is stuttering as well even though the game runs in high frame rates.
  • In applications like systemsettings or konsole or a lot of other applications the scrolling per touchscreen inside of the normal window is not recognized. KDE Frameworks 5.38..5.54 bug. Seems to be fixed in systemsettings, but not in konsole.

Bugs with Workarounds

  • The resolution is not perfect on HiDPI on Wayland, most fonts are too big. Gtk applications scale bad as well. Workaround: Can be fixed by adjusting the DPI in font settings.
    • In LibreOffice and Virt-Manager fonts are too small without scaling and e.g. DPI increased to 140 on a 4K screen on Wayland. Maybe an Gtk issue. Workaround: Use the Calligra Office suite instead. Bug <= Plasma 5.17 Beta https://bugs.kde.org/show_bug.cgi?id=396276
    • XWayland (probably Gtk) applications like Firefox or Steam look blurry and unsharp with a scaling factor of 2x. Bug <= Plasma 5.17 Beta. Workaround: Disable scaling and increase DPI in font settings.
  • Falkon installed via Flatpak doesn’t run on Wayland. Workaround: Use Falkon from distro repository

Minor Bugs with Workarounds

  • Changing the timezone in KDE requires root. It’s sounds strange, but if you do KDE will ask you to enter your password for this activity. Workaround: Enter the admin user password.
  • 2018-03-24: Pressing Kickoff’s “programs” should take you back to all programs. Bug <= Plasma 5.19 Beta https://bugs.kde.org/show_bug.cgi?id=369405. Workaround: Use kicker menu or the full-screen application dashboard menu.

Plasma 5.19 will fix the following Bugs

  • 2020-05-14: Turn off the monitor with the power button and on again will lead to a segfault of kwin, see https://bugs.kde.org/show_bug.cgi?id=402827. Bug <= Kwin 5.18
  • 2020-05-14: If you open in systemsettings the additional Breeze window configuration then the content is flickering and disappearing if it is placed over the systemsettings window. Kmail flickers as well a lot. Bug <= Kwin 5.12..5.18 https://bugs.kde.org/show_bug.cgi?id=387313
  • Top panel is over other windows when opening a new Plasma Wayland session or over the Krunner Kwin window (ALT + F2) on Wayland. Workaround: Use instead of all the Plasma panels the Latte dock. Bug <= Plasma 5.18 Beta https://bugs.kde.org/show_bug.cgi?id=389964
  • Screen rotation
  • 2018-03-09: If I open e.g. Kate as a non maximized window and I maximize it, I can always restore its previous window size. But when I close the maximized window it will open correctly maximized, but it looses the possibility to restore the not maximized window size. You need to drag the size manually again from maximized down to a smaller window. Bug <= Plasma 5.17 https://bugs.kde.org/show_bug.cgi?id=391621, probably a bug in <= Qt 5.18. Plasma 5.19 will restore at least to a very small window, which is ok but not the proper solution!
  • 2020-05-14: Widget Explorer doesn’t close when clicking to the desktop. Bug <= Plasma 5.17 Beta https://bugs.kde.org/show_bug.cgi?id=392259. Workaround: Use normal close button. Fixed in Plasma 5.19.
  • 2019-07-13: Video and game play stuttering in games on XWayland especially in 4k. Could be related to the limited refresh rate of XWayland, maybe related to bug https://bugs.archlinux.org/task/58657?project=1&string=xorg-server-xwayland. Fixed by XWayland 1.20.5 update.

Plasma 5.18 fixed the following Bugs

Arch Linux – Antergos Installation

***Antergos is not maintained anymore, but old images are still available until there is a replacement***

Possible alternatives: RebornOS

Arch Linux offers bleeding edge software and the configuration is kept simple and transparent. The Arch Linux wiki is one of the best documentations you can find, even if using another GNU/Linux distribution you are often referred to this excellent source of know-how. Installing Arch Linux via the command line is not too complicated but it enforces you to remember the commands and the order, doing all basic configurations by hand and read the manual. This process must be guided, as such it’s maybe not the Arch Linux way, but as of this Antergos is great for installing a base system. It is fully based on Arch Linux, it just adds a repository and provides reasonable defaults.

Prepare

To install Antergos download Antergos-minimal. It offers a graphical installer and a terminal, in case something goes wrong like e.g. with your wireless network or if you need a rescue system, this can be very helpful. Download Antergos with a web browser from  https://antergos.com/try-it or if you are on a terminal run the following command:

wget https://antergos.com/download/antergos-minimal-iso/

After the download you should compare if the checksum matches on the website matches to your copy. If you want to see the checksum on a terminal, you can use a command like this (replace USERNAME with your user, YY with the year and R with the downloaded release):

md5sum /home/USERNAME/antegos-minimal-YY.R-x86_64.iso

If you are unsure to which path your USB drive is connect, you can check it with the command:

fdisk -l

After this step, write the image to a USB stick with the command below, replace USERNAME with your user and sdX with the path to the USB drive. Be careful with selecting the correct drive!

dd if=/home/USERNAME/Downloads/antergos-minimal-YY.R-x86_64.iso of=/dev/sdX bs=4M status=progress && sync

Then reboot your computer and start from the USB drive, it is recommended to use UEFI mode. Sometime you first have to select in the Bios the boot drive or you can press during the boot logo a key like ESC. But this is sadly lacking any standard and therefore specific per mainboard and vendor.

Install

If Antergos is booted successful the installer will open automatically. If you are connected via LAN, the network should work already. If you need a wireless connection, setup and enter your wireless credentials. As soon as you are connected to the internet the Antergos installer will update, if required.

The Antergos installer is straight forward, recommended settings:

  1. Select your preferred desktop
    • None, just use Base and install it later
  2. Package Selection
    • Enable AUR user repository (show advanced features in the left bottom)
  3. On all laptop devices, enable encryption. On a desktop it is optional, for server turn it off (it must be able to auto start). You have two options for partitioning:
    • MANUAL partition:
      • Partition table for the whole disk GPT, if you can delete all data on the disk (mbr is the old method).
      • UEFI mode: boot partition with 384 MB (enough for 3 kernels) for /boot with fat32 if you started.
        • Legacy Bios boot: Boot partition with 384 MB for /boot with ext4 and install a small boot loader in the MBR of the disk
      • Root partition rest of the available disk space for / with btrfs. As of the built-in checksum calculation in btrfs it can show you if data is corrupted and additionally you can later expand it online with compression and/or RAID.
        • A separate /home partition is not required, some people prefer a separate home partition in case of easy re-installations, but it makes the layout just more complex especially if you want to work with disk encryption.
        • A swap partition is only required for system with less than 4GB of RAM or if you run programs that require more memory than physically available, so usually it can be skipped especially if you don’t want to deal with the drawbacks.
      • Systemd-boot as a bootloader. It is less complex then GRUB2 but requires that you have booted via UEFI and not via the compatibility mode.
  4.  Now enter your personal details and password. Then Antergos will download the newest packages and install a fully upgrades Arch Linux system.

After the installation you can reboot into your new Arch Linux system!

First boot activities

1.) Setup File System and Btrfs

2.) Enable SSH daemon, if you need remote terminal access

$ sudo systemctl enable sshd.service

3.) Make sure time synchronization is enabled.

$ timedatectl set-ntp true

4.) Install base packages that are useful on every system:

$ sudo pacman -Sy htop iotop tmux reflector lsb_release

5.) Remove not required packages including Antergos

$ sudo pacman -Rsc antergos-mirrorlist antergos-keyring antergos-alerts antergos-midnight-timers antergos-alpm-hooks

Then un-comment in pacman.conf the Antergos section

$ sudo nano /etc/pacman.conf
#[antergos]
#Include = /etc/pacman.d/antergos-mirrorlist

6.) If it is a installation on real hardware, additional steps are recommended.

6.a.) Install tools:

sudo pacman -Sy smartmontools fwupd powertop tlp hdparm dmidecode

6.b.) Install Hardware Health Checks tools

6.c.) Install Power Management

7.) If you use systemd-boot it will not auto update after the installation of a new systemd release, but you can install this package from AUR:

yay systemd-boot-pacman-hook

8.) Install additional an Linux-lts kernel and amd-ucode for cases where an upgrade might fail or upstream changes disallow a normal boot. See Linux.

9.) Set systemd-boot time out to 0 (or for grub /etc/default/grub, then run grub-mkconfig -o /boot/grub/grub.cfg)

sudo nano /boot/loader/loader.conf
default antergos
timeout 0

Desktop / Media Center

Setup a desktop/laptop environment:

  1. Install login manager SDDM (Wayland DEV).
  2. Install KDE Plasma
  3. Optionally read the Linux, OpenGL and Vulkan section for additional applications and setups like Kodi, LibreOffice, VLC, Firefox, …

Server

  1. Remove not required packages
$ pacman -Rsc man-db man-pages

Host

If you want to run a server e.g. for http, setup a virtual machine. To change the base install to a barebone server host, do the following:

  1. Install Qemu/KVM, libvirt and Virt-Manager
  2. Setup Bridge Network – Connect Host with VM

Virtual Machine

If this is a virtual machine install, there is no additional setup required.

Bugs

Arch Linux doesn’t split free and one source software repositories from non-free software and firmware blobs. As such it is not obvious to the user if the software is closed source and cannot be improved by the community, example are linux-firmware.

If you run a server, be careful with updating the following packages as they broke in the past or Arch didn’t provide automatic upgrade paths: libvirt, apache.