Updating icu/ncurses/whatever breaks a ton of packages

Make sure you have the correct repositories activated in /etc/pacman.conf. Testing [gremlins] repositories should be disabled by default. If you want to use them, you should also uncomment [testing] from Arch. These must be above all other repositories. Note: [gremlins] is Artix equivalent of Arch [testing]

 #[gremlins]
 #Include = /etc/pacman.d/mirrorlist
 #[galaxy-gremlins]
 #Include = /etc/pacman.d/mirrorlist
 #[lib32-gremlins]
 #Include = /etc/pacman.d/mirrorlist

 [system]
 Include = /etc/pacman.d/mirrorlist
 [world]
 Include = /etc/pacman.d/mirrorlist
 [galaxy]
 Include = /etc/pacman.d/mirrorlist
 # If you want to run 32 bit applications on your x86_64 system,
 # enable the multilib repositories as required here.
 [lib32]
 Include = /etc/pacman.d/mirrorlist

Since we still depend on some of Arch packages from [extra] and most of [community], some version mismatches during updates and until we fully sync may cause problems. In such case, enabling temporarily the testing repositories might just give you the right package to fix your situation.

The list below might not be updated, always check the Gitea repository.

 ## Artix Linux repository mirrorlist
 ## Generated on 2017-10-21
 ##
 # Artix mirrors
 Server = https://mirror.clarkson.edu/artix-linux/repos/$repo/os/$arch
 Server = https://ftp.sh.cvut.cz/artix-linux/$repo/os/$arch
 Server = https://ftp.cc.uoc.gr/mirrors/linux/artixlinux/$repo/os/$arch
 Server = https://artix.wheaton.edu/repos/$repo/os/$arch
 Server = http://mirror.strits.dk/artix-linux/repos/$repo/os/$arch
 Server = https://mirrors.dotsrc.org/artix-linux/repos/$repo/os/$arch
 Server = http://mirror1.artixlinux.org/repos/$repo/os/$arch

Invalid or corrupted packages (PGP signature)

If pacman warns you about invalid or corrupted packages, it may be due to obsolete PGP keys or Arch-signed packages in the repos. Make sure the Artix repos are above the Arch ones and:

1. Reinstall keyrings including the latest keys:

 sudo pacman -Sy gnupg archlinux-keyring artix-keyring --force

If you can't install the artix-keyring because of , perform step 2 and repeat 1, otherwise proceed to step 3.

2. Remove old and possibly expired, revoked or invalid keys by issuing this command:

 sudo rm -r /etc/pacman.d/gnupg

3. Initialize the pacman keyring:

 sudo pacman-key --init

4. Load the signature keys:

 sudo pacman-key --populate archlinux artix

5. Clear out the software packages downloaded during the aborted installation:

 sudo pacman -Scc
 sudo pacman -Syyu

6. In a pinch, install the package with the -U pacman switch:

 pacman -U /var/cache/pacman/pkg/package-1.3.9-1.x86_64.pkg.tar.xz

Can't play games, run Steam etc!

You must enable [lib32] from Artix and [multilib] from Arch in /etc/pacman.conf and install relevant packages for 32bit executables. Make sure [lib32] is above [multilib] (as a matter of fact all Artix repos must be above Arch's).

 [lib32]
 Include = /etc/pacman.d/mirrorlist
 [multilib]
 Include = /etc/pacman.d/mirrorlist-arch

Warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.

Install parted and execute:

 parted -s /dev/sdx set 1 bios_grub on

KDE/Plasma won't start, saying something bad about dbus!

See next section.

I'm having dbus-related problems and I keep seeing messages about /etc/machine-id

This file originated from dbus development and was adopted by systemd as a universally unique machine identifier. Ergo, it is a useless (for the end user) tag but apparently of some use to dbus because "The important properties of the machine UUID are that 1) it remains unchanged until the next reboot and 2) it is different for any two running instances of the OS kernel. That is, if two processes see the same UUID, they should also see the same shared memory, UNIX domain sockets, local X displays, localhost.localdomain resolution, process IDs, and so forth." Also, "The simple configuration file format of /etc/machine-id originates in the /var/lib/dbus/machine-id file introduced by D-Bus. In fact, this latter file might be a symlink to /etc/machine-id." and This ID uniquely identifies the host. It should be considered "confidential", and must not be exposed in untrusted environments, in particular on the network. Privacy-conscious people might want to regenerate their machine-ids frequently; a new ID can be generated with

 dbus-uuidgen  >| /etc/machine-id

or

 dbus-uuidgen  >| /var/lib/dbus/machine-id 

Btrfs can't boot from RAID

In some setus, Btrfs can't boot if the root filesystem is on RAID subvolumes, despite adding btrfs to /etc/mkinitcpio.conf hooks array (and re-creating a new initramfs) or using rootflags=device=/dev/sda2,device=/dev/sdb2 as a workaround in the kernel command line. The solution is to instruct the btrfs hook create the create the node manually; edit /usr/lib/initcpio/hooks/btrfs as follows:

 run_hook() {
    mknod /dev/btrfs-control c 10 234
    btrfs device scan
 }

and re-create the initramfs (mkinitcpio -P).