Niveau: Moyen
Comment installer Arch Linux, avec mes recommendations et conseils, dans le but d’en faire une machine de gaming.
Introduction
Arch Linux (ou Arch) est une distribution GNU/Linux reposant sur le concept de rolling release, c’est-à-dire que les nouvelles versions des logiciels publiées par les développeurs sont toujours disponibles à l’installation (la plupart du temps quelques jours après leur publication originale). L’écriture de ce guide repose beaucoup sur le wiki Arch Linux. Ce guide n’a pas pour vocation de le remplacer, mais plutôt de le compléter en ajoutant mes recommendations et conseils.
J’utiliserai un Lenovo Ideapad 3 Gaming 15ARH05 pour ce tutoriel. La partie d’installation sera illustrée par des captures d’écran réalisées dans une VM mais suivant exactement toutes les étapes effectuées sur la machine physique.
En plus de votre machine, vous aurez besoin :
- configuration secure boot désactivée
- d’une clé USB d’une taille minimale de 2Go
- d’une connexion Ethernet (facultatif, peut être remplacé par une connexion Wi-Fi)
- un PC fonctionnel
- certaines connaissances sur le fonctionnement basique de Linux
Installation
Création de la clé USB d’installation
Vous devrez commencer par télécharger une image de Arch ici. Descendez à la catégorie HTTP Direct Download, puis sélectionnez un serveur dans la liste Worldwide ou celle correspondant à votre pays. Une liste de fichiers devrait apparaître. Cliquez sur archlinux-x86_64.iso.
La vérification de l’intégrité du téléchargement ne sera pas couverte ici, plus d’infos : wiki
Téléchargez Balena Etcher (logiciel compatible Windows, Linux et MacOS). Le logiciel se présente ainsi :
Cliquez sur Flash from file, sélectionnez le fichier ISO téléchargé. Cliquez sur Select target, sélectionnez votre clé USB. Cliquez sur Flash!.
Une fois l’écriture terminée, vous pouvez fermer Balena Etcher, démonter la clé USB, la retirer du PC fonctionnel et la brancher au PC à installer.
Installation de Arch
Boot sur le média d’installation
Démarrez le PC à installer et vous devriez arriver sur cet écran de sélection. Si vous n’arrivez pas là ou arrivez sur l’OS déjà installé, il faudra aller faire un tour dans le BIOS/UEFI et mettre la clé USB en priorité de boot.
Sélectionnez Arch Linux install medium (x86_64,UEFI).
Si vous ne voyez pas la mention UEFI, c’est peut-être que votre PC n’est pas configuré pour UEFI ou a mis l’option Legacy BIOS en premier. Vérifiez si votre PC est compatible, et si il l’est, mettez les options dans le bon ordre.
Arch vous accueille sur cet écran en ligne de commande :
Configurations préliminaires
Avant d’installer le système, il va falloir configurer le clavier et la connexion Internet. Il faut également être certain que les clés cryptographiques soient à jour.
Pour configurer le clavier, il faudra taper au clavier loqdkeys fr, puis appuyer sur entrée. Comme le clavier est configuré en QWERTY par défaut, taper cela affichera la commande loadkeys fr. Vous pouvez désormais tester que le clavier est correctement configuré en français.
Pour configurer la connexion Internet, si vous êtes en Wi-Fi, taper les commandes suivantes :
$ iwctl
[iwd]# device list
Notez le Name de votre interface Wi-Fi (généralement wlan0, j’utiliserai donc ce nom pour la suite des commandes).
[iwd]# device wlan0 set-property Powered on
Cette commande allume la carte Wi-Fi. En cas d’erreur, regarder à la commande précédente le champ Adapter (généralement phy0, donc j’utiliserai ce nom pour la suite des commandes) et taper la commande suivante :
[iwd]# adapter phy0 set-property Powered on
Si aucun message d’erreur n’apparaît, cela signifie que la commande a été effectuée avec succès.
[iwd]# station wlan0 scan
Cette commande scanne les réseaux Wi-Fi alentours.
[iwd]# station wlan0 get-networks
Notez le nom du réseau auquel vous voulez vous connecter. Il ne doit s’agir que d’un réseau à l’authentification simple, sans certificat.
[iwd]# station wlan0 connect network_ssid
Cette commande vous connectera au réseau et demandera le mot de passe requis.
[iwd]# exit
Plus d’informations : wiki
Pour configurer la connexion Internet, si vous êtes en Ethernet, la connexion devrait s’effectuer automatiquement.
Plus d’informations : wiki
Exécutez la commande suivante : pacman-key --refresh-keys
Cette commande permettra de mettre à jour toutes les clés cryptographiques. Si vous avez téléchargé l’image ISO de Arch juste avant de l’installer, cela ne sera jamais un problème. Cependant, si plusieurs jours, semaines ou mois se sont écoulés, il se peut que certaines clés soient arrivées à expiration et doivent être mises à jour.
Installateur interactif
Une fois les configuration préliminaires effectuées, lancez l’installateur interactif. Dans le cas où vous souhaitez effectuer un dual-boot, je vous conseille d’avoir effectué le partitionnement en amont. Tapez la commande suivante : archinstall
.
Dans ce menu, on se déplace avec les flèches directionnelles, on sélectionne les tickboxes avec la barre espace et on appuie sur entrée pour le reste des cas. Pour les grandes listes, on peut effectuer une recherche en appuyant sur /.
Language
Commencez par sélectionner la langue : Archinstall language. Dans ce menu, vous verrez la liste des langues et leur pourcentage de traduction. Dans mon cas, j’ai laissé anglais.
Locales
Si vous avez choisi votre langue, vous ne devriez pas avoir de soucis avec ce menu. Si vous avez choisi une autre langue, comme l’anglais par exemple, vous voudrez changer les options disponibles.
- Keyboard layout doit correspondre à votre configuration de clavier (pour la plupart des claviers AZERTY, il s’agira de fr).
- Locale language doit correspondre à la langue définie précédemment (par défaut, en_US).
- Locale encoding devrait toujours être UTF-8.
Mirrors
Sélectionnez Mirror region, puis votre pays.
Disk Configuration
Sélectionnez Partitioning, puis dans la plupart des cas, vous voudrez sélectionner Use a best-effort default partition layout. Sélectionnez ensuite votre disque d’installation, puis le système de fichiers à utiliser. Je recommande de rester en ext4 pour le système de fichiers, à moins que vous ayez une bonne raison d’utiliser autre chose.
Remarquez l’absence de partition de swap. Arch par défaut propose d’utiliser le swap on zram, qui est une méthode permettant d’éviter les lectures et écritures au disque d’installation à cause du swap. Pour définir une partition de swap manuellement, il faudra passer par le partitionnement manuel. Je conseille de laisser l’organisation des partitions proposée par l’installateur.
Disk Encryption
Cette étape ne sera pas décrite dans ce guide, cependant archinstall offre la possibilité de chiffrer toutes les partitions (excepté la partition de boot) avec LUKS.
Swap
Si vous avez opté pour la solution proposée par Arch (et que je recommande), c’est-à-dire le swap on zram, laissez cette option à Enabled, sinon passez-là à Disabled.
Bootloader
Le bootloader est le programme d’amorçage qui va charger l’image kernel de notre installation. Arch propose systemd-boot par défaut, et je conseille de conserver cette option, car elle est plus simple à utiliser et modifier à l’avenir. différentes solutions sont cependant disponibles, comme GRUB.
Unified Kernel Images
Je conseille de laisser cette option à Disabled, sauf si vous savez exactement ce que vous faites.
Plus d’informations : wiki
Hostname
Entrez le nom que vous voulez donner à votre machine.
Root Password
Ici, il s’agit de donner un mot de passe au compte root. Si aucun mot de passe n’est donné, l’accès à ce compte est désactivé. Je conseille de ne pas activer l’accès au compte root et à la place, de configurer votre utilisateur primaire comme sudoer.
User Account
Ici, il s’agit de créer le ou les comptes utilisateurs que vous voulez ajouter à la machine. Sélectoinnez Add a user, donnez-lui un nom, puis un mot de passe. Si vous avez suivi ma recommendation précédente concernant le mot de passe du compte root, autorisez votre utilisateur principal à être un superuser.
Profile
Sélectionnez Type, puis Desktop. Sélectionnez ensuite l’environnement de bureau de votre choix.
- Je conseille Gnome pour les nouveaux utilisateurs Linux, ainsi que pour les utilisateurs qui souhaitent un environnement de bureau simple et propre. C’est également le profil que je vais choisir pour ce guide.
- Je conseille KDE Plasma pour les utilisateurs qui aiment configurer chaque détail de leur environnement de bureau, bien que fortement modifiable grâce à des extensions.
- Je déconseille i3-wm, car il se repose sur une technologie obsolète, il est remplacé par sway.
Sélectionnez ensuite Graphics driver, puis All open-source, sauf si vous avez une bonne raison de choisir autre chose.
Un nouveau driver pour les cartes graphiques Nvidia, appelé NVK, est disponible dans Mesa, le package contenant tous les drivers graphiques open-source pour Linux. Vérifiez votre compatibilité : https://docs.mesa3d.org/drivers/nvk.html Plus d’informations : wiki
Ne changez pas le Greeter, sauf si vous avez une bonne raison de le faire.
Audio
Sélectionnez pipewire, il s’agit du nouveau serveur audio et multimédia de Linux.
Kernels
Le kernel proposé par défaut est linux, il s’agit du kernel de base, maintenu par Linux Torvalds, les développeurs du kernel et Arch.
- Je conseille cependant de le décocher et d’utilsier linux-zen à la place, qui est le kernel de base avec quelques améliorations et optimisations qui seront les bienvenues en jeu notamment.
- linux-hardened est une version du kernel avec un maximum de sécurisation et de renforcement ajouté, ce qui peut souvent empêcher un comportement normal.
- linux-lts contiendra uniquement les versions Long-Time Support du kernel, ce qui est un peu contraire au principe d’Arch à mon sens.
Network Configuration
La plupart des environnement de bureau préfèrent utiliser NetworkManager, je conseille donc de sélectionner cette option.
Timezone
Ignorez les entrées suivantes, vous y reviendrez à la fin.
Dans Timezone, sélectionnez votre emplacement.
Automatic Tyme Sync (NTP)
Cette option est activée par défaut. Si vous n’avez pas de réelle raison de la désactiver, laissez-là telle quelle.
Optional Repositories
Deux repositories sont disponibles :
- multilib contient les packages 32-bits qui peuvent être requis pour certains jeux, il ne fait donc aucun mal de l’activer.
- testing contient les packages en cours de test et qui n’ont pas encore été ajoutés au repo officiel, je déconseille donc de l’utiliser.
Additional Packages
Je conseille d’ajouter les packages suivants :
plymouth
pour un affichage propre au démarragefwupd
pour gérer la mise à jour des firmwaresflatpak
pour installer des applications, j’en parlerai plus en détails plus tardlib32-vulkan-radeon
si vous utilisez une carte graphique AMD et que vous avez choisi les drivers graphiques open-sourcevulkan-nouveau lib32-vulkan-nouveau
si vous utilisez une carte graphique Nvidia et que vous avez choisi les drivers graphiques open-sourcegit
sera nécessaire par la suiteamd-ucode
si vous utilisez un CPU AMDintel-ucode
si vous utilisez un CPU Intelreflector
pour mettre à jour la liste des repos de Arch Linux
Install
Sélectionnez enfin Install, puis Yes. Patientez pendant l’installation du système.
Une fois l’installation terminée, elle nous propose de chroot dans le système installé. Nous pouvons répondre Yes, cela montera le système installé en live et nous permettra de modifier quelques configurations avant le premier démarrage.
Configurations initiales
Zram-generator
Editez le fichier /etc/systemd/zram-generator.conf avec votre éditeur préféré (Vim et Nano sont installés par défaut). Par défaut, le fichier est quasiment vide :
1
[zram0]
On peut ajouter certaines options pour modifier le comportement par défaut. Je conseille cependant de laisser les options par défaut, qui sont suffisantes. Par défaut, la taille maximale allouée au bloc zram sera de 4Go ou 2Go si la quantité de RAM disponible est inférieure à 8Go (min(ram / 2, 4096)). Cette option peut être changée en spécifiant une valeur en ko dans zram-size. L’algorithme de compression est celui utilisé par défaut par le kernel. Dans la plupart des cas, il s’agit de zstd. Pour changer l’algorithme utilisé, on spécifie la valeur de compression-algorythm. On peut choisir de vider les fichiers incompressibles dans un autre appareil pour gagner de la place en changeant la valeur de writeback-device. Pour monter le bloc zram autrement qu’en swap, on peut spécifier mount-point et fs-type. On peut également ajouter d’autres blocs zram en ajoutant de nouvelles sections. Voici un exemple de configuration zram-generator :
1
2
3
4
5
6
7
8
[zram0]
zram-size=4096
compression-algorythm=lz4
writeback-device=/dev/sdb1
[zram1]
zram-size=2048
mount-point=/var/custom
fs-type=ext4
Configuration pacman et makepkg
L’objectif ici va être d’éviter les écritures inutiles à notre disque lors de l’installation de paquets. Nous allons donc monter un système de fichiers temporaire au niveau de ces emplacements. Pour cela, éditez le fichier /etc/fstab. Ajoutez-y les lignes suivante :
1
2
tmpfs /var/cache/pacman tmpfs rw,size=2G,nodev,nosuid 0 0
tmpfs /var/cache/makepkg tmpfs rw,size=2G,nodev,nosuid 0 0
Ces options peuvent être totalement modifiées
Plus d’informations : wiki
Supprimez ensuite le contenu du premier dossier, et créez le second :
1
2
rm -rf /var/cache/pacman/*
mkdir /var/cache/makepkg
Configuration sysctl
Sysctl permet de configurer des options kernel depuis des fichiers de configuration. Créez et éditez un fichier /etc/sysctl.d/. Ce fichier doit finir par l’extension .conf et être de préférence lu en dernier (les fichiers sysctl sont toujours ordonnés puis lus dan l’ordre alphabétique). J’appelle mon fichier 999-custom.conf.
1
2
3
4
5
6
7
8
9
10
# Paramètres relatifs à l'utilisation de zram.
vm.swappiness = 180
vm.watermark_boost_factor = 0
vm.watermark_scale_factor = 125
vm.page-cluster = 0
# Quelques options de sécurité
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
kernel.randomize_va_space = 2
Changer l’emplacement du kernel
Cette étape est optionnelle, elle s’adresse aux utilisateurs voulant installer plus d’un OS Linux sur leur machine.
Pour éviter les conflits lorsque chaque système installe son image kernel dans /boot, on peut spécifier un nouvel emplacement pour tous les fichiers de boot pour Arch. Editez le fichier /etc/mkinitcpio/linuxX.preset (remplacez “X” par votre kernel : “-zen”, “-lts”, “-hardened” ou rien pour le kernel standard). Changez les valeurs de ALL_kver, default_image et fallback_image. Ajoutez une nouvelle entrée MICROCODE_IMAGE pour spécifier le nouveau chemin du microcode.
Par exemple, voici les valeurs que j’ai changé :
1
2
3
4
ALL_kver="/boot/archlinux/vmlinuz-linux-zen"
default_image="/boot/archlinux/initramfs-linux-zen.img"
fallback_image="/boot/archlinux/initramfs-linux-zen-fallback.img"
MICROCODE_IMAGE="/boot/archlinux/amd-ucode.img"
Vous devrez également ajouter un hook à pacman afin de déplacer l’image du microcode. Pour cela, créez le dossier suivant :
1
mkdir /etc/pacman.d/hooks
Créez ensuite votre hook dans /etc/pacman.d/hooks/amd-ucode-move.hook
:
1
2
3
4
5
6
7
8
9
10
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = amd-ucode
[Action]
Description = Déplacement de l'image amd-ucode vers /boot/archlinux...
When = PostTransaction
Exec = /usr/bin/mv -f /boot/amd-ucode.img /boot/archlinux/amd-ucode.img
Pour appliquer le changement, réinstallez votre image kernel et votre microcode. Dans mon cas :
1
pacman -S linux-zen amd-ucode
Ensuite, supprimez les anciens fichiers encore présents dans /boot :
1
rm /boot/initramfs-linux-zen.img /boot/initramfs-linux-zen-fallback.img /boot/vmlinuz-linux-zen /boot/amd-ucode.img
Configuration systemd-boot
systemd-boot créée des configurations par défaut que nous allons modifier. Déplacez-vous dans /boot/loader/entries. Copiez la configuration qui ne contient pas “fallback” dans un nouveau fichier, intitulé arch.conf, par exemple. Dans ce fichier, vous vouvez changer le titre après l’instruction title. Si vous avez changé vos chemins à l’étape précédente, il faut les répercuter ici après linux et initrd. Si vous avez installé un microcode, il faut ajouter une nouvelle ligne initrd.
Dans mon cas, j’ai fait la configuration suivante :
1
2
3
4
5
title Arch Linux
linux /archlinux/vmlinuz-linux-zen
initrd /archlinux/initramfs-linux-zen.img
initrd /archlinux/amd-ucode.img
options root=PARTUUID=f37ce6dd-fb99-494b-bacd-4f44c1306a1c zswap.enabled=0 rw rootfstype=ext4
Copiez ensuite ce fichier dans un nouveau fichier, par exemple arch-fallback.conf. Editez ce fichier et ajoutez “-fallback” à l’initramfs et retirez le microcode, comme selon ma configuration :
1
2
3
4
title Arch Linux (fallback)
linux /archlinux/vmlinuz-linux-zen
initrd /archlinux/initramfs-linux-zen-fallback.img
options root=PARTUUID=f37ce6dd-fb99-494b-bacd-4f44c1306a1c zswap.enabled=0 rw rootfstype=ext4
Cette configuration génèrera votre option de secours en cas de problème avec votre option principale. Ensuite, supprimez les configurations générées automatiquement par systemd-boot.
Configuration mkinitcpio
Lorsque vous avez installé ou réinstallé votre kernel, vous avez du remarquer ces lignes dans le terminal :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
==> Building image from preset: /etc/mkinitcpio.d/linux-zen.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
-> -k /boot/archlinux/vmlinuz-linux-zen -g /boot/archlinux/initramfs-linux-zen.img
==> Starting build: '6.13.2-zen1-1-zen'
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [microcode]
-> Running build hook: [modconf]
-> Running build hook: [kms]
-> Running build hook: [keyboard]
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
-> Running build hook: [block]
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
-> Running build hook: [plymouth]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/archlinux/initramfs-linux-zen.img'
-> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-zen.preset: 'fallback'
==> Using default configuration file: '/etc/mkinitcpio.conf'
-> -k /boot/archlinux/vmlinuz-linux-zen -g /boot/archlinux/initramfs-linux-zen-fallback.img -S autodetect
==> Starting build: '6.13.2-zen1-1-zen'
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [microcode]
-> Running build hook: [modconf]
-> Running build hook: [kms]
==> WARNING: Possibly missing firmware for module: 'ast'
-> Running build hook: [keyboard]
==> WARNING: Possibly missing firmware for module: 'xhci_pci_renesas'
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'qla2xxx'
==> WARNING: Possibly missing firmware for module: 'bfa'
==> WARNING: Possibly missing firmware for module: 'qla1280'
==> WARNING: Possibly missing firmware for module: 'aic94xx'
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'wd719x'
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
-> Running build hook: [plymouth]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/archlinux/initramfs-linux-zen-fallback.img'
-> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
Ici, on voit que mkinitcpio construit les deux environnements sur lesquels nous pouvons démarrer, à savoir l’environnement normal et l’environnement de secours. L’environnement de secours est générique, il va essayer d’utiliser tous les drivers possibles, ce qui produit donc des avertissements dans la deuxième partie du message. Mais l’environnement principal ne doit pas produire d’avertissements, car les drivers chargés sont spécifiques au matériel installé.
Normalement, un seul avertissement est visible pour la première partie :
1
==> WARNING: consolefont: no font found in configuration
Cet avertissement indique qu’aucune police de console n’a été sélectionnée, on peut le faire disparaître avec une manipulation rapide.
Editez le fichier /etc/vconsole.conf. Ajoutez une entrée FONT. Pour les langues latines européennes, il est conseillé d’utiliser la police eurlatgr.
1
FONT=eurlatgr
Le changement peut être testé avec la commande mkinitcpio -P
.
En cas d’autres avertissements de type “Possibly missing firmware”, se renseigner sur le wiki. Certains avertissements peuvent être ignorés en toute sécurité, il faut donc voir au cas par cas.
Première utilisation
Vous pouvez désormais reboot votre machine en sortant du chroot en tapant exit
(ou raccourci clavier CTRL+D), puis en tapant shutdown now
. Retirez la clé d’installation et rallumez la machine. Connectez-vous à votre session.
Mises à jour des firmwares
Les mises à jour de microcode ne s’effectuent pas pendant l’installation du système.
- Sous Gnome, ouvrir Software, aller dans Updates et vérifier que tout le système est à jour.
- Sous Plasma, ouvrir Discover, aller dans Updates et vérifier que tout le système est à jour.
Applications et gestionnaires de paquets
Formats d’applications
Pour installer une application sur Linux, il y a plusieures méthodes possibles :
- Télécharger les sources et compiler : méthode coûteuse en ressources selon le projet, nécessite souvent un grand nombre de dépendances uniquement pour la compilation, il est également difficile de savoir quand une mise à jour est possible. Je ne recommande jamais d’installer une application de cette manière.
- Télécharger une AppImage : une AppImage est un fichier particulier contenant l’application et toutes ses dépendances, c’est un fichier qui est portable et exécutable sur tous les Linux. Le fichier est monté au moment de son exécution grâce à fuse2. Dû aux différents problèmes de sécurités qu’apporte fuse2, je déconseille d’installer une application de cette manière, sauf si il n’y a pas d’autre alternative viable.
- Installer un paquet natif : il s’agit des paquets installables avec le gestionnaire de paquet de sa distribution. Ces paquets ont l’avantage d’être disponibles, gêrables et installables facilement, mais ont le désavantage d’être tous installés ensemble dans le système. Je conseille de n’installer des paquets natifs que pour des fonctions système.
- Installer une application conteneurisée : le principe est d’avoir une application isolée du système, avec une installation standardisée et identique sur tous les Linux. Un système de permissions existe pour donner à l’application le droit d’accéder à différentes ressources en-dehors de son environnement d’exécution isolé. Il existe deux moteurs d’applications conteneurisées : Flatpak et Snap. Flatpak a été créé à l’origine par le groupe Gnome et est un projet entièrement open-source, ouvert à l’extension via l’ajout de repos. Snap au contraire a été créé par Canonical et une grande partie de son code source est propriétaire, on ne peut pas y ajouter de repos et le seul disponible est donc controlé par Canonical. Au fil du temps, il a été observé que les snaps étaient plus lents, plus lourds que leur contrepartie flatpak, sont forcés à la place de paquets natifs sur toutes les versions d’Ubuntu, sont écrits et maintenus uniquement par Canonical et non par les développeurs du logiciel en question dans flatpak (ce qui a mené a de nombreux soucis dont certains non résolus à la date d’écriture de ce guide). En additionnant cela, je conseille fortement de ne jamais utiliser Snap et toujours privilégier Flatpak pour une application graphique.
- Installer un projet de l’AUR : l’Arch User Repository est un dépôt où les utilisateurs peuvent mettre à disposition des scripts standardisés d’installation de paquets. C’est très utile pour installer un paquet qui n’est pas dans les repos officiels, mais ces paquets ne viennent pas de Arch, sont écrits par des individus indépendants, n’ont aucune garantie et peuvent potentiellement modifier le système. Une grade précaution est à prendre avant d’en installer.
Arch, Gnome et KDE recommendent de ne pas dépendre au possible de packages venant de l’AUR. Il est déconseillé de les gérer sans surveillance.
Gestionnaires de paquets
Installation de yay
Yay est wrapper pour pacman et un gestionnaire de mise à jour et d’installation pour les paquets venant de l’AUR. C’est un projet lui-même hébergé sur AUR, nous allons donc l’installer et ses mises à jour seront gérées par lui-même. Ouvrez un terminal et tapez les commandes suivantes :
1
2
3
4
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si
Une fois yay installé, vous devriez pouvoir immédiatement commencer à l’utiliser. Ci-dessous quelques commandes importantes à connaitre :
- yay : met à jour tous les paquets Arch puis AUR
- yay -Ss texte : recherche dans les paquets Arch et AUR le texte spécifié
- yay -S paquet : installe le paquet spécifié
- yay -R paquet : désinstalle le paquet spécifié, peut être couplé avec -s pour désinstaller les dépendances inutiles et -n pour supprimer les configurations inutiles.
- yay -Sc : vide le cache de yay et de pacman, pratique si ils ont par exemple remplis leurs partitions temporaires
- yay -Yc : désinstalle tous les paquets inutiles du système
Plus d’informations : Github
Taper la commande yay --editmenu --save
pour générer le fichier de configuration par défaut. La transaction de paquets ainsi lancée peut être anullée avec CTRL+C. Editer ensuite le fichier ~/.config/yay/config.json. Changer la valeur de :
- buildDir pour /var/cache/makepkg (en accord avec le dossier défini à cette étape)
- cleanmenu pour false
- diffmenu pour false
- editmenu pour false
Gestionnaires de paquets graphiques
Pour gérer la mise à jour et l’installation de paquets avec une interface graphique, il existe plusieurs solutions :
Sous Gnome, gnome-software est installé par défaut et ne supporte que Flatpak, Snap et les packages Arch. Un seul gestionnaire graphique supporte en plus AUR : pamac. Pamac est un projet créé et maintenu par l’équipe de développement de Manjaro. Manjaro est une distribution Linux basée sur Arch, qui a connu quelques soucis, mais ce projet est intéressant car il nous permet d’avoir modulairement un gestionnaire graphique pour nos paquets Arch, Flatpak, Snap et AUR :
- pamac-flatpak : supporte Flatpak et AUR
- pamac-aur : supporte AUR
- pamac-all : supporte Flatpak, Snap et AUR
La version qui m’intéresse est donc pamac-flatpak, je l’installe avec la commande yay -S pamac-flatpak
. Et je désinstalle gnome-software avec la commande yay -Rsn gnome-software
.
Sous KDE Plasma, discover est installé par défaut et supporte Flatpak, Snap et les packages Arch. Il n’y a pas d’équivalent à pamac dans l’environnement KDE Plasma, mais il peut tout de même être installé.
Configuration de Secure Boot
Secure Boot est une fonction de sécurité de UEFI permettant de signer chaque élément du démarrage à l’arrivée sur l’OS, afin de garantir son intégrité.
La première chose à faire consiste à redémarrer la machine pour aller dans son firmware. Il faudra chercher les paramètres de Secure Boot. Il faudra ensuite passer en setup mode. Selon le fabriquant de la carte mère, cette option peut avoir plusieurs noms plus ou moins évidents.
une fois le Secure Boot passé en setup mode, vous pouvez le vérifier avec la commande bootctl
qui affichera à la ligne Secure Boot :
enabled (user)
: si le Secure Boot est encore configuré avec les clés d’origine ou si il a été configuré précédemmentdisabled (setup)
: si les clés ont bien été réinitialisées, c’est ce qu’on cherchedisabled (disabled)
: si le Secure Boot est totalement désactivédisabled (unsupported)
: si l’UEFI ne dispose pas de Secure Boot
Installez sbctl : yay -S sbctl
. Vérifiez l’état du Secure Boot avec : sbctl status
; vous devriez voir que sbctl n’est pas installé et que Secure Boot est désactivé.
1
2
3
4
Installed: ✗ sbctl is not installed
Setup Mode: ✗ Enabled
Secure Boot: ✗ Disabled
Vendor Keys: none
Créez les clés : sudo sbctl create-keys
Enrollez les clés avec : sudo sbctl enroll-keys -m
; ici l’option -m ajoute également les clés de Microsoft, car certains firmwares sont signés avec les clés de Microsoft, elles sont donc nécessaire. Vérifiez que tout s’est bien passé avec : sbctl status
; ici, vous devriez voir que sbctl est installé mais Secure Boot désactivé.
1
2
3
4
5
Installed: ✓ sbctl is installed
Owner GUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Setup Mode: ✓ Disabled
Secure Boot: ✗ Disabled
Vendor Keys: microsoft
Vérifiez la liste des fichiers à signer avec : sudo sbctl verify
1
2
3
4
Verifying file database and EFI images in /boot...
✗ /boot/EFI/BOOT/BOOTX64.EFI is not signed
✗ /boot/EFI/systemd/systemd-bootx64.efi is not signed
✗ /boot/archlinux/vmlinuz-linux-zen is not signed
Signez les fichiers :
1
2
3
4
sudo sbctl sign -s /boot/EFI/BOOT/BOOTX64.EFI
sudo sbctl sign -s /boot/EFI/systemd/systemd-bootx64.efi
sudo sbctl sign -s /boot/archlinux/vmlinuz-linux-zen
sudo sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efi
Plus d’informations : wiki
Installation des lanceurs de jeux et utilitaires
Gamemode
Gamemode est un utilitaire permettant d’optimiser les performances CPU lors de l’exécution d’une têche gourmande, par exemple l’exécution d’un jeu.
Pour l’installer, il suffit de taper la commande : yay -S gamemode
. Pour l’utiliser, il suffit de préfixer la commande avec gamemoderun
. Par exemple : gamemoderun glxgears
.
Plus d’informations : Github Gamemode
Mangohud
MangoHud est un utilitaire permettant d’afficher de nombreuses métriques concernant l’utilisation de votre machine lors de l’exécution d’une tâche, par exemple un jeu. Il permet de monitorer par exemple, l’utilisation CPU, GPU, RAM, swap, VRAM, el nompre d’images par secondes, etc.
Pour l’installer, il suffit de taper la commande : yay -S mangohud
.
MangoHud peut lire plusieurs emplacements pour trouver sa configuration. Vous pouvez placer votre configuration personnelle dans ~/.config/MangoHud/MangoHud.conf
.
Ci-dessous, vous trouverez ma configuration, que vous pouvez copier et adapter à vos envies :
1
# TODO config mangohud
Pour l’utiliser, il suffit de préfixer la commande avec mangohud
. Par exemple : mangohud glxgears
.
Plus d’informations : Github Mahgohud
Steam
Je ne vais pas vous faire l’affront de vous présenter le launcher Steam. Cependant, Steam permet de télécharger les différentes versions de Proton.
Proton est la version gaming de Wine. Il embarque plusieurs utilitaires qui permettent d’obtenir dde bonnes performances et la compatibilité avec les API graphiques DirectX.
Pour installer Steam, il suffit de taper la commande : yay -S steam
.
Contrairement à ce que j’ai indiqué précédemment, je n’installe pas Steam avec son application Flatpak. En règle générale, je n’installe pas les launchers avec Flatpak. Suite à de nombreux problèmes qui sont, à l’heure de l’écriture de cet article, pas corrigés, je préfère recommander l’application native.
Une fois dans Steam, rendez-vous dans Steam, Settings. De là, descendez dans Compatibility et cochez Enable Steam Play for all other titles, puis redémarrez Steam. Revenez dans le même menu et dans la liste déroulante, sélectionnez Proton Experimental. Redémarrez à nouveau Steam.
Contrairement à ce que son nom indique, Proton Experimental n’est que la version rolling release stable de Proton (contrairement aux versions numérées de Proton qui reçoivent des mises à jour ponctuelles, ou Proton Hotfix qui peut parfois régler rapidement des soucis de compatibilité mais n’est pas très stable). C’est donc la version de Proton qui va avoir le meilleur taux de compatibilité avec les jeux. C’est pourquoi je conseille de sélectionner cette version pour tous les jeux n’ayant pas une version de Proton définie pour Steam Play.
Une fois Steam lancé sur Linux une fois, vous découvrirez toutes les versions de protons dans votre liste de logiciels Steam. Installez donc Proton Expérimental. Les autres versions s’installeront au besoin avec les jeux.