Dans ce petit billet, quelques notes concernant la post-installation de Arcolinux B (variante GNOME) sur un PC portable un petit peu âgé (Dell XPS 15 L501X).
Il a retrouvé une nouvelle jeunesse grâce au remplacement du disque dur par un SSD, à la mise à jour de la RAM (2 x 2Go par 2 x 4Go) et au remplacement de la carte Wi-Fi Intel Wireless-N 1000 par une Intel 7260AC (pour avoir de meilleurs débit et le support du Bluetooth low energy).
Contenus de la page
Installation des paquets firmware manquants
Lors de la génération des images avec mkinitcpio
, on constate des erreurs spécifiant des paquets manquants.
Cela concerne principalement le contrôleur USB 3.0 Renesas et j’avoue ne pas trop comprendre l’utilité des deux autres (visiblement liés au RAID/SAS … mais sur un ordinateur portable à une baie de stockage …)
Les paquets sont disponibles dans les dépôts utilisateur Arch User Repository (AUR).
yay -S upd72020x-fw wd719x-firmware aic94xx-firmware
Installation des pilotes Nvidia
L’un des problèmes sur cet ordinateur portable et notamment pour une utilisation sur GNU/Linux est la technologie Optimus (excellente idée sur le papier mais mise en oeuvre complètement catastrophique) qui permet – en gros – l’utilisation d’un processeur graphique Intel intégré et d’un processeur graphique dédié Nvidia en parallèle en fonction du besoin graphique et de l’autonomie souhaitée.
Il faut savoir que le GPU de ce portable est un GeForce GT 420M et que donc, il est trop ancien pour être compatible avec les nouveaux pilotes Nvidia (455). Il faut donc installer les pilotes 390 disponibles dans les dépôts AUR.
Attention ! Il y a actuellement un bug qui empêche la construction du module nvidia via dkms sur le noyau GNU/Linux > 5.10.1
Si vous êtes à jour de votre noyau, il faudra donc rétrograder vers la version 5.10.1 ; c’est possible via la commande
pacman -U https://archive.archlinux.org/packages/l/linux/linux-5.10.1.arch1-1-x86_64.pkg.tar.zst
pacman -U https://archive.archlinux.org/packages/l/linux-headers/linux-headers-5.10.1.arch1-1-x86_64.pkg.tar.zst
Une fois que le noyau est bien en version 5.10.1 maximum, on peut installer le pilote nvidia.
yay -S nvidia-390xx-dkms nvidia-390xx-utils nvidia-390xx-settings
On force ensuite l’utilisation de la carte Nvidia par défaut en créant le fichier /etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
Section "OutputClass"
Identifier "intel"
MatchDriver "i915"
Driver "modesetting"
EndSection
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
Option "PrimaryGPU" "yes"
ModulePath "/usr/lib/nvidia/xorg"
ModulePath "/usr/lib/xorg/modules"
EndSection
Depuis la version 364.16 du pilote, il est possible d’activer le DRM (Direct Rendering Manager) kernel mode setting.
On édite donc le fichier de configuration du bootloader GRUB /etc/default/grub
pour ajouter le paramètre noyau nvidia-drm.modeset=1
à la ligne GRUB_CMDLINE_LINUX_DEFAULT
.
Pour ma part, je retire également le paramètre quiet
afin de voir le démarrage du système. Toujours plus pratique pour le débogage 😉
Une fois ceci fait, on peut re-générer le menu GRUB pour prendre en compte nos modifications :
update-grub
Configuration de GNOME Display Manager (GDM)
Utilisation de X.Org à la place de Wayland
Par défaut, le gestionnaire d’affichage de GNOME (GDM) est affiché en utilisant le nouveau serveur graphique Wayland. Il faut donc désactiver Wayland pour forcer l’utilisation de X.Org, le pilote nvidia ne fonctionnant que sur X.Org …
On édite donc le fichier /etc/gdm/custom.conf
et on dé-commente la ligne WaylandEnable=false
en retirant le #
en début de ligne.
Utilisation des paramètres d’affichage de GNOME pour GDM
Par défaut, GDM ne réutilisera pas les paramètres d’affichage définis dans GNOME, ce qui posera problème dans le cas précis de cette configuration car le premier écran détecté en tant qu’écran principal pour GDM (le CRT-0) n’existe pas (il doit s’agir d’un écran virtuel utilisé par la technologie Optimus).
GDM n’affichant par défaut la boîte de connexion que sur l’écran principal, on se retrouvera donc à saisir « à l’aveugle » son mot de passe (ça fonctionne cela dit, c’est juste pas très agréable).
Pour réutiliser la configuration définie dans les paramètres système de résolution, on peu donc copier le fichier de configuration :
# cp ~/.config/monitors.xml /var/lib/gdm/.config/
# chown gdm:gdm /var/lib/gdm/.config/monitors.xml
Utilisation de GPG (GNU Privacy Guard) sur une YubiKey
Il faut installer quelques paquets supplémentaires :
sudo pacman -Syu gnupg pcsclite ccid hopenpgp-tools yubikey-personalization
Configurer le gpg-agent
en tant qu’agent d’authentification SSH
Cela nous permet d’utiliser la sous clé d’authentification GPG pour l’authentification sur des serveurs.
On commence par désactiver le démarrage automatique du gpg-agent
avec systemctl
:
systemctl --user disable gpg-agent
Ajouter dans le fichier .bashrc
ou .zshrc
selon votre shell les deux lignes suivantes :
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
gpgconf --launch gpg-agent
Ensuite, on peut rapatrier le bouchon de la clé privée stockée sur la YubiKey en suivant la procédure exposée dans le billet Ajouter sa clé PGP depuis une Smart Card sur un nouvel ordinateur.