Journebian · Arch Linux 2023

J'utilise Arch Linux depuis 2010 sur un Intel Core i7 860. Mais une légère instabilité du PC, ainsi que l'Ethernet RTL8111D intégré à la carte mère Gigabyte P55-UD3R qui ne veut pas dépasser les 100 Mb/s et qui met une minute à établir la connexion me disent qu'il est temps de mettre à jour. Étant fibré, l'Ethernet à 100 Mb/s est d'ailleurs le goulot d'étranglement de ma connexion Internet.

Nouveau PC

Ordinateur
Microprocesseur AMD Ryzen 9 7900
Carte mère Asrock X670E PRO RS
Graphisme intégré au micropocesseur
2,5 Gb/s Ethernet intégré Dragon RTL8125BG
Wi-Fi 6E 802.11ax intégré Mediatek MT7922
4 slots DDR5 kit Crucial CP2K16G56C46U5 DDR5-5600 UDIMM 2×16 = 32 Go
1 port NVMe PCIe Gen5x4 lié au CPU -
1 port NVMe PCIe Gen4x4 lié au CPU Western Digital WD_Black SN850X 2 To
2 ports NVMe PCIe Gen4x4 lié au chipset -

Installation Arch Linux en 2023

Cette installation suit le guide d'installation en anglais. Je compte installer le système from scratch, seul, sur le nouvel SSD NVMe de 2 To.

Téléchargement

J'ai téléchargé en HTTP car je n'ai rien obtenu des torrents. J'ai vérifié la signature comme il se doit :

pacman-key -v archlinux-2023.09.01-x86_64.iso.sig
==> Checking archlinux-2023.09.01-x86_64.iso.sig... (detached)
gpg: Signature faite le ven 01 sep 2023 12:48:49 CEST
gpg:                avec la clef EDDSA 3E80CA1A8B89F69CBA57D98A76A5EF9054449A5C
gpg:                issuer "pierre@archlinux.org"
gpg: Remarque : la base de confiance n'est pas accessible en écriture
gpg: Bonne signature de « Pierre Schmitz <pierre@archlinux.org> » [totale]
gpg:                 alias « Pierre Schmitz <pierre@archlinux.de> » [inconnu]

J'installe le système live téléchargé sur une bonne clé USB avec dd if=/home/marc/Downloads/archlinux-2023.09.01-x86_64.iso of=/dev/sda bs=4M && sync.

Système live

Au démarrage du système sur la clé USB, je remarque que la police de caractères est bien dimensionnée malgré l'écran 4K. Cela me change de l'affichage sur même écran depuis ma vieille installation Arch Linux. Un avantage gratuit de repartir de zéro. Bien sûr, comme c'est Arch Linux, il faut lancer une commande pour passer au clavier suisse-romand :

loadkeys fr_CH-latin1

La commande cat /sys/firmware/efi/fw_platform_size retourne 64 me confirmant le démarrage en mode UEFI. La commande ip link retourne lo, enp14s0 et wlan0, donc a priori Ethernet et Wi-Fi sont automatiquement reconnus, même s'ils sont DOWN à ce moment.

Je suis la documentation iwd pour me connecter au Wi-Fi :

iwctl
NetworkConfigurationEnabled: disabled
StateDirectory: /var/lib/iwd
Version: 2.8
[iwd]# station wlan0 scan
[iwd]# station wlan0 get-networks
                               Available networks
-----------------------------------------------------------------------------
     Network name                     Security                    Signal
  >  My-SSID                          psk                         ****

[iwd]# station wlan0 connect My-SSID
Type the network passphrase for My-SSID psk.
Passphrase: ****
[iwd]# ^D

Le wlan0 est passé à l'état UP, et je peux pinguer, DHCP a fonctionné tout seul comme promis, c'est parfait.

Mon horloge est déjà l'heuren (UTC), mais à tout hasard je fixe la zone horaire avec :

timedatectl set-timezone Europe/Zurich.

Préparation du SSD

Optimisation de la taille des blocs

La commande fdisk -l m'apprend que mon SSD est connu sous /dev/nvme0n1. À ce moment, je peux vérifier la taille de secteur logique du SSD. Il y a tout un manuel Advanced Format pour cela, qui est cependant plein d'avertissements. Mais il existe une commande dédiée au protocole NVMe qui doit être fiable avec mon SSD récent : nvme id-ns -H /dev/nvme0n1. Je découvre par la même que le standard NVMe contient une notion d'espace de nom. Bref, la commande m'apprend que :

LBA Format  0 : Metadata Size: 0   bytes - Data Size: 512 bytes - Relative Performance: 0x2 Good (in use)
LBA Format  1 : Metadata Size: 0   bytes - Data Size: 4096 bytes - Relative Performance: 0x1 Better

Et pour obtenir une taille optimale de 4096 bytes la commande est nvme format --lbaf=1 /dev/nvme0n1. Naturellement cette commande s'exécute sur un SSD sans données à conserver.

Préparation au chiffrement

La documentation d'installation d'Arch Linux me dit que c'est le moment de s'occuper de LVM, de chiffrement, et de RAID. Je souhaite chiffrer mes données Linux ce que je n'ai encore jamais fait. La page dm-crypt est riche mais peu directive ; pas facile de choisir. La page FAQ cryptsetup/LUKS est riche en conseils, et indique par exemple que LVM ajoute beaucoup de complexité, et que dm-crypt utilisé seul (sans LUKS) et destiné aux experts. Je pars donc sur LUKS. Reste à savoir si je chiffre tout, ou seulement la partition /home. FAQ cryptsetup/LUKS indique qu'il est compliqué de chiffrer la racine du système de fichier. Toutefois, dm-crypt/Encrypting an entire system donne des explications assez complètes et une raison qui répond à une de mes craintes : éviter la fuite d'informations sensibles hors de /home, par exemple dans /var/log.

Si l'on veut ajouter une couche de sécurité, la page dm-crypt/Drive preparation conseille de préalablement remplir le disque de données aléatoires. Cela peut prendre beaucoup de temps ; ça me permettra d'observer la vitesse de mon matériel. La méthode la plus simple donnée par la FAQ cryptsetup/LUKS est : cat /dev/urandom > target-device. Toutefois la documentation Arch Linux ne présente que la méthode alternative, peut-être pour s'assurer de bonnes performances. J'essaie donc :

cryptsetup open --type plain -d /dev/urandom /dev/nvme0n1 to_be_wiped
dd if=/dev/zero of=/dev/mapper/to_be_wiped status=progress bs=1M
1999847292928 bytes (2.0 TB, 1.8 TiB) copied, 1631 s, 1.2 GB/s
dd: error writing '/dev/mapper/to_be_wiped': no space left on device
1907730+0 record in
1907729+0 record out
2000398934016 bytes (2.0 TB, 1.8 TiB) copied, 1643.93 s, 1.2 GB/s
dd if/dev/zero of=/dev/mapper/to_be_wiped status=progress bs=1M  0.89s user 920.11s system 56% cpu 27:23.94 total
cryptsetup close to_be_wiped

Les performances sont appréciables, les premiers 500 Go sont faits à plus de 2 Go/s, le rythme était encore de 1,5 Go/s vers 1 To. En revanche le ventilateur du processeur s'est rapidement mis en marche, et le ventilateur livré avec le Ryzen 9 7900 eput devenir assez bruyant. Rien à voir avec le gros Noctua de mon vieux PC.

Partitionnement

Selon le manuel il me faudra au moins une partition système EFI de 1 Go pour supporter plusieurs noyaux, et une partition racine / pour le reste. Je me passerai de swap comme d'habitude. J'ai donc partionné ainsi :

Device          Start       End  Size Type
/dev/nvme0n1p1    256    262399    1G EFI System
/dev/nvme0n1p2 262400 488378640  1.8T Linux filesystem

On remarque que fdisk propose par défaut de commencer la première partition après 1 Mo, soit 256 × 4096. Bizarrement, il ne proposait pas non plus d'étendre la dernière partition tout à fait jusqu'à la fin, mais jusqu'à 488378623.

Chiffrement et formatage de la partition racine

Cette partie suit le chapitre LUKS on a partition du manuel de chiffrement entier.

cryptsetup -y -v luksFormat /dev/nvme0n1p2
cryptsetup open /dev/nvme0n1p2 root
mkfs.ext4 /dev/mapper/root
mount /dev/mapper/root /mnt

La première commande demande la passphrase de la partition. Le formatage donne l'UUID du système de fichier. Il faut aussi formater la partition EFI avec mkfs.fat -F32 /dev/nvme0n1p1, puis la monter avec mount --mkdir /dev/sda1 /mnt/boot.

Installation initiale

La commande reflector trie rapidement la liste des mirroirs. La commande pacstrap -K /mnt base linux linux-firmware installe les premiers (122) paquets. Mais il manque probablement des paquets pour le wifi, les manuels, etc.

Configuration du système

/etc

Un script génère le fstab : genfstab -U /mnt >> /mnt/etc/fstab. Il me crée des entrée pour / et /boot identifiées par UUID (80... et C8...). Ensuite, je peux passer sur le système installé avec arch-chroot /mnt. Je configure la zone horaire : ln -sf /usr/share/zoneinfo/Europe/Zurich /etc/localtime. Je génère /etc/adjtime avec hwclock --systohc.

Pour localiser, je me rends compte qu'il me manque nano, donc je l'installe avec pacman -S nano. J'édite /etc/locale.gen et décommente en_US.UTF-8 UTF-8 et fr_CH.UTF-8 UTF-8. Je lance locale-gen. Je crée /etc/locale.conf avec LANG=fr_CH.UTF-8 UTF-8. Je crée /etc/vconsole.conf avec KEYMAP=fr_CH-latin1. Je crée /etc/hostname avec ryzen.

mkinitcpio.conf

J'ajoute encrypt aux HOOKS de mkinitcpio.conf ; keyboard, keymap et consolefont y sont déjà. Je lance mkinitcpio -P. Je choisis le mot de passe de root avec passwd.

Wifi

Pour la configuration du réseau, la documentation ne tient pas la main. D'après la page Network configuration l'image d'installation contient systemd-networkd et systemd-resolved. Avec iwd ça m'a semblé très bien fonctionner. J'essaie donc de configurer cela. La page dédiée à la configuration wifi est Network configuration/Wireless. Elle indique qu'il faut d'abord s'assurer que le bon module wifi est chargé par le noyau. C'est le cas d'après ce que me montre cet extrait de lspci -k :

0d:00.0 Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter
        Subsystem: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter
        Kernel driver in use: mt7921e

La documentation indique que la connexion wifi est gérée par un network manager qui utilise wpa_supplicant ou iwd. Ou bien je peux utiliser wpa_supplicant ou iwd directement. Mais je compte aussi utiliser Ethernet à l'avenir, je vais donc rester un niveau au-dessus d'iwd même si ça a donné pleine satisfaction durant l'installation. Un petit problème est que je suis chrooté et des commandes conseillées par la documentation comme systemctl --type=service ne passent pas :

systemctl --type=service
Running in chroot, ignoring command 'list-units'

Enfin, la commande ne sert qu'à s'assurer qu'il n'y a pas un autre service réseau qui fonctionne déjà. Je fais l'hyypothèse que non, et lance :

systemctl enable systemd-networkd.service
Created symlink /etc/systemd/system/dbus-org.freedesktop.network1.service systemd-networkd.service ➝ /usr/lib/systemd/system/systemd-networkd.service.
Created symlink /etc/systemd/system/multi-user.target.wants/systemd-networkd.service ➝ /usr/lib/systemd/system/systemd-networkd.service.
Created symlink /etc/systemd/system/sockets.target.wants/systemd-networkd.socket ➝ /usr/lib/systemd/system/systemd-networkd.socket.
Created symlink /etc/systemd/system/sysinit.target.wants/systemd-network-generator.service ➝ /usr/lib/systemd/system/systemd-network-generator.service.
Created symlink /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service ➝ /usr/lib/systemd/system/systemd-networkd-wait-online.service.

Je dois configurer systemd-resolved pour obtenir les adresses DNS d'un serveur DHCP ainsi que les IPv6 router advertisements.

systemctl enable systemd-resolved.service
Created symlink /etc/systemd/system/dbus-org.freedesktop.resolve1.service ➝ /usr/lib/systemd/system/systemd-resolved.service.
Created symlink /etc/systemd/system/sysinit.target.wants/systemd-resolved.service ➝ /usr/lib/systemd/system/systemd-resolved.service.

Je suis ensuite le conseil qui dit de remplacer /etc/resolv.conf par un lien symbolique sur /run/systemd/resolve/stub-resolv.conf. Mais étant dans arch-chroot, je dois créer le lien depuis l'extérieur du chroot, apparemment avec :

ln -sf ../run/systemd/resolve/stub-resolv.conf /mnt/etc/resolv.conf

Sauf que je dois apparemment remplacer mnt par qqch. Ou plutôt, sortir d'arch-chroot, lancer la commande, et revenir. Voilà. Apparemment il n'y a rien de plus à configurer pour systemd-resolved du moment qu'il y a un network manager.

Comme la commande iwctl n'est pas disponible dans arch-chroot je suppose que je dois installer iwd et refaire la configuration. Je lance pacman -S iwd et remarque qu'une dépendance est aussi installée : ell (Embedded Linux Library). Pour la configuration, je copie le fichier /var/lib/iwd/mon-ssid.psk du système live au système installé. Je prends garde aux droits drwx------ root root du répertoire /mnt/var/lib/iwd que je crée.

Boot loader

Je prends GRUB comme d'habitude, c'est aussi celui qui a le plus de fonctionnalités selon la page Arch boot process et peut-être de documentation. Selon la page GRUB j'installe les paquets grub et efibootmgr, avec lesquelles vient la dépendance efivar. Ensuite l'installation de GRUB dans la partition UEFI :

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
Installing for x86_64-efi platform.
Insallation finished. No error reported.

Je configure les paramètres du noyau dans /etc/default/grub afin de supporter la partition root chiffrée. Mais pour cela il faut que je retrouve les UUID de mes partitions. Il existe de nombreuses commandes pour lister cela, dont blkid :

blkid
/dev/nvme0n1p1: UUID="C871-B692" BLOCK_SIZE="4096" TYPE="vfat" PARTUUID="043f69c9-1ed3-4a03-83c6-1c6ccea3b7f8"
/dev/nvme0n1p2: UUID="2e46ba11-d79a-4727-ab60-abbba8ebbbbb" TYPE="crypto_LUKS" PARTUUID="5438de0d-e473-4b9d-bfe4-bd55e67925b5"
...
/dev/mapper/root: UUID="80b6d899-030a-4d29-8f37-473370b85abd" BLOCK_SIZE="4096" TYPE="ext4"
...

Je lis dans la page Persistent block device naming que l'UUID est dans l'en-tête LUKS, tandis que le PARTUUID dans dans la table des partitions GPT. Et donc comme la documentation indique qu'il faut l'UUID du superbloc LUKS dans /etc/default/grub j'utilise 2e46ba11-d79a-4727-ab60-abbba8ebbbbb. Je place cela dans GRUB_CMDLINE_LINUX car c'est la seule des deux utilisées pour les entrées de sauvetage. Et je commente GRUB_DISABLE_RECOVERY=true.

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX="cryptdevice=UUID=2e46ba11-d79a-4727-ab60-abbba8ebbbbb:root root=/dev/mapper/root"
#GRUB_DISABLE_RECOVERY=true

Après avoir mis à jour la configuration de GRUB, je lance :

grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file...
Found linux image: /boot/vmlinuz-linux
Found intird image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done

Microcode

Ayant un processeur récent et sans doute plein de bugs de sécurité, il faut mettre en place un système de mise à jour du microcode comme expliqué dans la page Microcode. J'installe amd-ucode, et je remarque que j'obtiens la version amd-ucode-20230804.7be2766d-2. Je lance à nouveau grub-mkconfig -o /boot/grub/grub.cfg mais rien n'indique que le microcode a été automatiquement détecté comme indiqué par la documenation. Mais un coup d'œil à /boot/grub/grub.cfg me montre que c'est bon :

menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-80b6d899-030a-4d29-8f37-473370b85abd' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod fat
	search --no-floppy --fs-uuid --set=root C871-B692
	echo	'Loading Linux linux ...'
	linux	/vmlinuz-linux root=UUID=80b6d899-030a-4d29-8f37-473370b85abd rw cryptdevice=UUID=2e46ba11-d79a-4727-ab60-abbba8ebbbbb:root root=/dev/mapper/root loglevel=3 quiet
	echo	'Loading initial ramdisk ...'
	initrd	/amd-ucode.img /initramfs-linux.img

Reboot post-installation

Poour rebooter, il faut quitter archchroot puis démonter /mnt. La documentation indique d'utiliser fuser pour analyser le cas où il serait impossible de démonter /mnt. Il est effectivement impossible de démonter à cause de l'erreur umount: /mnt: target is busy. Mais fuser -m /mnt ne retourne rien, car ce n'est pas un processus qui empêche le démontage ; c'est le montage sur /mnt/boot. Bref, il faut démonter /mnt/boot puis /mnt. Enfin reboot, et ça reboot bien jusqu'à demander le mot de passe de la partition chiffrée, puis jusqu'à l'écran de login :

Arch Linux 6.5.7-arch-1 (tty1)

ryzen login:

Réparation du réseau

J'ai sans doute manqué une étape dans la configuration du réseau, car ping archlinux.org répond ping: archlinux.org: Échec temporaire dans la résolution du nom. En lisant les logs de boot avec journalctl -r je vois que le wifi semble bien reconnu :

oct 14 23:43:59 ryzen kernel: mt7921e 000:0d:00.0: WM Firmware Version: ____000000, Build Time: 20230627143946
oct 14 23:43:59 ryzen kernel: mt7921e 000:0d:00.0: HW/SW Version: 0x8a108a10, Build Time: 20230627143702a
oct 14 23:43:59 ryzen kernel: mt7921e 000:0d:00.0: ASIC revision: 79220010
oct 14 23:43:59 ryzen kernel: mt7921e 000:0d:00.0: enabling device (0000 -> 0002)

En lançant iwctl s'affiche le message Waiting for IWD to start... Je lance donc systemctl enable iwd.service puis systemctl start iwd.service pour voir directement un résultat.

oct 15 02:19:45 ryzen systemd[1]: Starting Wireless service...
...
oct 15 02:19:45 ryzen iwd[1131]: Wireless daemon version 2.8
...
oct 15 02:19:45 ryzen systemd-networkd[758]: wlan0: Link UP
...
oct 15 02:19:45 ryzen systemd-networkd[758]: wlan0: Connected WiFi access point: my SSID (IPv6)

Et voilà, ping archlinux.org fonctionne. Je reboote.

Installation des logiciels

Un petit pacman -Syu pour commencer. Ensuite pacman -S man-db man-pages, qui tire perl-5.38.0 en dépendance. J'essaie Wayland au lieu de Xorg. pacman -S wayland ne tire que default-cursors-2-1-any en dépendance, pour une taille totale installée de 0,78 MiB ; très léger jusque là. Emsuite il me faut un gestionnaire d'affichage ; SDDM est le choix indiqué pour lancer KDE. pacman -S sddm me demande de choisir un paquet fournissant ttf-font parmi un choix de huit : gnu-free-fonts, noto-fonts, ttf-bitstream-vera ttf-croscore, ttf-dejavu, ttf-droid, ttf-ibm-plex, ttf-liberation. Ensuite, une 77 dépendances sont tirées dont avahi, fontconfig, freetype2, graphite, harfbuzz, libcups, lm-semsors, mesa, qt5-base, vulkan-icd-loader, xorg-server et toute une série de paquets Xorg et de bibliothèques. J'installe et je reboote. Le gestionnaire d'affichage ne se lance (pas encore) automatiquement.

Je crée d'abord un utilisateur pour ne pas utiliser l'interface graphique en root. useradd -m marc, passwd marc. Je lance à présent systemctl start display-manager.service puisque display-manager.service est listé par systemctl list-dependencies. Mais Failed to start display-manager.service: Unit display-manager.service not found. J'aurais dû lire le manuel et lancer systemctl start sddm.

SDDM fonctionne et l'affichage est joliment configuré par défaut. Et c'est en français. En revanche seule la disposition de clavier US est disponible. Et surtout, impossible de passer le login, il ne réagit pas à la touche retour. Peut-être est-ce en rapport au fait qu'aucune session n'est disponible dans le menu. Heureusement, le bouton d'extinction du PC fonctionne.

Je vais suivre Guide to Set up Full Wayland with Arch Linux pour continuer. pacman -S --needed xorg-xwayland xorg-xlsclients qt5-wayland glfw-wayland qui ne tire qu'une dépendance en plus (libxcomposite). pacman -S plasma kde-applications qui m'indique que plasma est un groupe contenant 51 membres, tous installés par défaut. Il s'agit surtout de paquets plasma-quelque-chose et de paquets de base de KDE comme kwin, kscreenlocker, etc. Il y a aussi quelques paquets dont le nom ne m'évoque rien : bluedevil, breeze, discover, drkonqi, milou, powerdevil. Dans le groupe kde-applications il y a 184 membres, je prends tout. Pour l'interface de son jack il y a 2 alternatives : jack2 et pipewire-jack. Sur ce coup, le second choix m'a l'air plus prometteur. Du coup je dois ensuite choisir entre pipewire-media-session et wireplumber pour fournir pipewire-session-manager. Le piège est que le choix par défaut est déconseillé par PipeWire. Ensuite je dois choisir un fournisseur de phonon-qt5-backend avec pour choix phonon-qt5-gstreamer et phonon-qt5-vlc. À nouveau seul le second choix est conseillé (par KDE) selon le manuel. Pour la question suivante, choisir entre pyside2 et python-pyqt5 pour fournir qt5-python-bindings, je n'ai pas trouvé de réponse dans le site Arch Linux. La page PyQt5 vs PySide2 me fait choisir pyside2, de peu. Pour le fournisseur de cron je prends cronie du dépôt core plutôt que fcron du dépôt extra. Pour le fournisseur de tessdata il y a 128 fournisseurs, apparemment un par langue. Je choisis donc tesseract-data-fra. Après tout ces choix, 1556,23 MiO à télécharger et 5179,75 MiO à installer.

Après avoir installé KDE, en lançant systemctl start sddm, j'ai Plasma (X11) en choix de session. Et je peux me connecter à KDE. Les réglages du clavier et de la souris sont parfaitement intuitifs. Malheureusement l'affichage ne s'est pas automatiquement adapté à l'écran 4K, c'est écrit tout petit. En cherchant résolution je trouve immédiatement les réglages voulus, dont Échelle globale que je passe à 150%, mais sans effet visible en appliquant ! Toutefois, en fermant et rouvrant la fenêtre de configuration, son contenu passe en 150%, mais pas ses décorations. Je sens que l'on est pas encore au niveau de Windows.

Le système a automatiquement détecté le modèle de ma souris et remarqué que les piles sont faibles, et elles le sont, j'ai vérifié avec un voltmètre. Bel automatisme, je n'étais pas habitué à ça sur Linux.

Configuration SDDM

SDDM ne me propose que la disposition de clavier US, il faut que je règle cela. Il y a l'outil graphique sddm-kcm qui a été installé dans le groupe plasma qui permet de configurer SDDM depuis KDE. La commande Appliquer la configuration de Plasma... devrait faire l'affaire, mais la disposition du clavier n'est pas présente dans la liste des paramètres de Plasma appliqués : thème de couleurs, thème de curseur, police, rendu de police, verrouillage pavé numérique, thème de Plasma, DPI, configuration de l'écran (uniquement Wayland). Il manque le clavier.

En fait, selon le chapitre SDDM loads only US keyboard layout la configuration du clavier doit venir de X Window, et la commande localectl set-x11-keymap permet de générer le fichier /etc/X11/xorg.conf.d/00-keyboard.conf. Plus précisément c'est localectl set-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]] avec localectl list-x11-keymap-layouts, localectl list-x11-keymap-models, localectl list-x11-keymap-variants et localectl list-x11-keymap-options en support. Il n'est cependant pas pratique de trouver des valeurs compatibles. Ainsi localectl set-x11-keymap ch pc105 french donne Failed to set keymap: Specified keymap cannot be compiled, refusing as invalid. Mais localectl set-x11-keymap ch pc105 fr passe. Le problème est que ça m'a réinitilialisé /etc/vconsole.conf avec KEYMAP=fr_CH. Je remets donc KEYMAP=fr_CH-latin1 avec nano pour récupérer la frappe des lettres accentuées en console. Tout fonctionne bien après cela, même si j'observe le bug bien documenté qui fait que US est toujours affiché dasn SDDM jusqu'à la frappe de la première touche.

SDDM Wayland

Pour que le choix de Wayland s'affiche dans SDDM, je suppose qu'il faut installer plasma-wayland-session. Il s'installe sans dépendance. Je me déconnecte de KDE, choisis une session Wayland, me reconnecte, et voilà. Mais l'échelle de l'écran a été réinitialisée à 100%. Je note qu'il est possible de forcer la mise à l'échelle des application X11. Avec Wayland, la mise à l'échelle semble plus cohérente, elle touche aussi les décorations de fenêtre.

Logiciels multimédias

Il est temps d'installer quelques gros logiciels. Le paquet firefox vient les dépendances dbus-glib et mailcap. Le paquet chromium vient avec les dépendances jsoncpp, re2, ttf-liberation et woff2.

Réparation de l'IPv4

L'IPv6 fonctionne bien, mais plus, ou pas, de connexion IPv4 ; le réseau n'est pas accessible. C'est la première fois que je tombe sur un tel problème. La commande networkctl status wlan0 me montre seulement deux adresses IPv6 sous Address et une adresse IPv6 sous Gateway. À l'inverse mon ancien PC me donne une adresse IPv4 et une IPv6 sous Address, et une adresse IPv4 sous Gateway. Je remarque aussi que networkctl liste wlan0 comme étant unmanaged. Pourtant je vois avec journalctl que systemd-networkd s'occupe de wlan0.

Le manuel de systemd-networkd indique qu'il gère les adresses réseau et les routes de tout lien pour lequel il trouve un fichier .network avec une section [Match] appropriée. Le répertoire /usr/lib/systemd/network contient des fichiers .network et .network.example ainsi que 99-default.link qui viennent du paquet systemd. Il y a en outre le fichier 80.iwd.link du paquet iwd. Selon le fichier /usr/lib/systemd/network/80-wifi-station.net.example, je fais un lien symbolique depuis /etc/systemd/network/ pour utiliser cette configuration.

Réparation des vidéos dans les navigateurs

L'intégration a de bons côtés, et de très mauvais. Dans les mauvais, quel que soit le navigateur Web utilisé (Konqueror, Firefox, Chromium), il est impossible de jouer une vidéo. Il y a qu'une notification dans la barre KDE (à quoi ça rime ?) qui ouvre un espèce de « lecteur multimédia » qui semble interférer avec le navigateur en bloquant la vidéo et en étant incapable de la lancer. On peut tout au plus avancer dedans en bougeant un curseur. Je ne sais pas quelle était l'idée à la base. Il s'agit sans doute du paquet plasma-browser-integration. Après quelques essais elle est tombée en marche avec Firefox, mais rien à faire dans Chromium, même en retirant des extensions du navigateur. Toutefois après déconnexion de Plasma et reconnexion, ça va dans Chromium.

J'ai activé le lancement de SDDM au démarrage avec systemctl enable sddm. Il faut à présent que je vire plasma-browser-integration pour voir si mes navigateurs peuvent à nouveau jouer des vidéos. Sauf que pacman -Rs plasma-browser-integration ne change rien, c'est encore tout pêté. Et il y a toujours une notification dans la barre de menu Plasma pour chaque vidéo jouée.

Je ne suis pas le premier à rencontrer le problème, mais je ne trouve aucune analyse aboutie. Le problème pourrait être lié au son, mais ça n'explique absolument pas quelle partie de Plasme continue de savoir quelle vidéo est dans quel navigateur. Sur mon système, je vois à la fois pulseaudio et pipewire installés, et il paraît que des interférences sont possibles entre les deux. Ce qui est bizarre est que je ne me souviens pas avoir vu pulseaudio dans des dépendances. En tout cas, pulseaudio est une dépendances de plasma-pa qui fait simplement partie du groupe plasma. Je lance pacman -S pipewire-pulse qui n'était pas installé, et est en conflit avec pulseaudio, afin d'avoir un seul composant pour le son. Et les vidéos se mettent immédiatement à être jouées. C'est bien.

Conclusion, je m'étais fourvoyé en soupçonnant l'intégration entre les vidéos et Plasma, c'était bêtement le son. Et donc l'intégration entre les navigateurs et Plasma n'a pas besoin d'un paquet intrusif. Il me semble qu'il s'agit en fait de la fonction de contrôle audio-vidéo par le clavier introduite par Firefox 81 et qui utilise possiblement le standard MPRIS (Media Player Remote Interfacing Specification) pour l'intégration sur Linux.

Réparation du son

Aucun son ne sort n'est encore sorti de mon PC. Apparemment le son n'était pas dirigé sur la sortie HDMI, mais sur S/PDIF. Sauf que passer sur HDMI avec Plasma bloque les vidéo. Et tous les périphériques audio sont perdus après une déconnexion et reconnexion à Plasma. Redémarrage pour voir. Après redémarrage, je retrouve deux icônes audio dans la barre des tâches, une HDMI et une S/PDIF. Par défaut ça sort sur S/PDIF, mais l'interface me laisse sélectionner HDMI, et c'est bon.

JOSM

Pour éditer OpenStreetMap j'utilise JOSM et c'est une application graphique Java, donc il me faut jre-openjdk, qui vient avec quelques dépendances Java, et libnet. Quelques autres informations intéressantes sont :
For the complete set of Java binariesto be available in your PATH, you need to re-login or source /etc/profile/jre.sh.
This package does not support forcing JAVA_HOME as former package java-common did.
When you use a non-reparenting window manager, set _JAVA_AWT_WM_NONREPARENTING=1 in /etc/profile/jre.sh.

Toute ouverture de fenêtre dans JOSM prend des secondes sans utilisation du processeur. C'est beaucoup trop lent, mais je n'ai pas trouvé pourquoi, car c'est tombé en marche le lendemain.

Impression

Lorsque j'essaie de configurer mon imprimante avec l'outil de configuration du système, je lis : Le service d'impression est indisponible Mauvais descripteur de fichier. Apparemment, CUPS n'est pas installé. Je n'ai pas envie d'installer de douteux pilotes propriétaires de Canon pour mon i-Sensys MF645cx. D'ailleurs, la documentation Arch Linux de CUPS indique que les pilotes sont abandonnés au profit d'IPP Everywhere. J'espère y arriver par un système sans pilote. D'après le manuel imageCLASS MF746Cx / MF645Cx / MF643Cdw / MF641Cw le protocole AirPrint est supporté, et pas seulement pour imprimer, aussi pour scanner. D'après Open Printing - Driverless Printing Standards And their PDLS, tous les protocoles d'impression sans pilote sont fondés sur DNS-SD et IPP, seul le langage de description de page change. Le principe de l'impression sans pilote est que l'imprimante se fasse connaître par DNS-SD, que le client la trouve et demande ses capacités par requête IPP. Ensuite CUPS génère des fichiers PPD et crée une queue. Lors d'une impression, le PDF de l'application est transformé dans le langage de description de page attendu. Apparemment, PDF est devenu le standard envoyé par IPP Everywhere.

Première difficulté, DNS-SD n'est supporté qu'avec Avahi car CUPS ne supporte pas systemd-resolved pour DNS-SD. La documentation d'Avahi conseille de désactiver tout ou partie (multicast DNS resolver/responder) de systemd-resolved avant d'utiliser Avahi. À noter que le multicast DNS est décrit dans la RFC 6762 tandis que le DNS-based service discovery (DNS-SD) est décrit dans la RFC 6763. Mais je me rends d'abord compte que la commande host n'est pas installée. Elle fait partie du paquet bind-tools qui fait venir tout le paquet bind avec lui. Tant que l'installation n'active pas le serveur DNS, c'est bon. Quelques essais avant de toucher au sac de nœuds qu'est la résolution de noms :

networkctl status wlan0
● 4: wlan0                                                                                      
                     Link File: /usr/lib/systemd/network/80-iwd.link
                  Network File: /etc/systemd/network/80-wifi-station.network
                         State: routable (configured)
                  Online state: online                                                          
                          Type: wlan
                          Path: pci-0000:0d:00.0
                        Driver: mt7921e
                        Vendor: MEDIATEK Corp.
                         Model: MT7922 802.11ax PCI Express Wireless Network Adapter
              Hardware Address: 74:xx:xx:xx:xx:xx (CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.)
                           MTU: 1500 (min: 256, max: 2304)
                         QDisc: noqueue
  IPv6 Address Generation Mode: eui64
             WiFi access point: Livebox-xxxx (c8:xx:xx:xx:xx:x)
      Number of Queues (Tx/Rx): 1/1
                       Address: 192.168.1.33 (DHCP4 via 192.168.1.1)
                                2a01:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
                                fe80::xxxx:xxxx:xxxx:xxxx
                       Gateway: 192.168.1.1
                                fe80::xxxx:xxxx:xxxx:xxxx
                           DNS: 192.168.1.1
                                2a01:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
             Activation Policy: up
           Required For Online: yes
               DHCP4 Client ID: IAID:0xxxxxxxxx/DUID
             DHCP6 Client IAID: 0xa6277f83
             DHCP6 Client DUID: DUID-EN/Vendor:0000xxxxxxxxxxxxxxxxxxxxxxxx
...
resolvectl status
lobal
           Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
    resolv.conf mode: stub
Fallback DNS Servers: 1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google
                      2606:4700:4700::1111#cloudflare-dns.com 2620:fe::9#dns.quad9.net
                      2001:4860:4860::8888#dns.google

Link 2 (enp14s0)
    Current Scopes: none
         Protocols: -DefaultRoute +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 4 (wlan0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.1.1
       DNS Servers: 192.168.1.1 2a01:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
host -t SOA local
Host local not found: 2(SERVFAIL)

Je note aussi que mtr fonctionne bien ; ce qui pourrait ne plus être le cas si je ne désactive pas totalement systemd-resolved. Je configure (dans un premier temps) selon les conseils de la documentation Avahi en lançant mkdir /etc/systemd/resolved.conf.d et echo "MulticastDNS=false" > /etc/systemd/resolved.conf.d/mdns.conf, ce qui conserve systemd-resolved. Avant même de recharger la configuration de systemd-resolved je fais quelques essais exploratoires :

systemctl start avahi-daemon.service
avahi-browse --all --ignore-local --resolve --terminate
+  wlan0 IPv4 mysmartwifi                                   Web Site             local
+  wlan0 IPv4 mss_ssw_xx:xx:xx:xx:xx:xx on mysmartwifi      _ssw._tcp            local
+  wlan0 IPv4 mss_mqtt_xx:xx:xx:xx:xx:xx on mysmartwifi     _mqtt._tcp           local
=  wlan0 IPv4 mysmartwifi                                   Web Site             local
   hostname = [mysmartwifi.local]
   address = [192.168.1.1]
   port = [80]
   txt = []
=  wlan0 IPv4 mss_ssw_xx:xx:xx:xx:xx:xx on mysmartwifi      _ssw._tcp            local
   hostname = [mysmartwifi.local]
   address = [192.168.1.1]
   port = [8883]
   txt = ["networkid=xx:xx:xx:xx:xx:xx" "capabilities=master" "mode=master"]
=  wlan0 IPv4 mss_mqtt_xx:xx:xx:xx:xx:xx on mysmartwifi     _mqtt._tcp           local
   hostname = [mysmartwifi.local]
   address = [192.168.1.1]
   port = [8883]
   txt = ["topics=sah/from/$CN/pair-device"]
host mysmartwifi
mysmartwifi has address 192.168.1.1
Host mysmartwifi not found: 2(SERVFAIL)
Host mysmartwifi not found: 3(NXDOMAIN)
resolvectl status
Global
           Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
    resolv.conf mode: stub
Fallback DNS Servers: 1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google
                      2606:4700:4700::1111#cloudflare-dns.com 2620:fe::9#dns.quad9.net
                      2001:4860:4860::8888#dns.google

Link 2 (enp14s0)
    Current Scopes: none
         Protocols: -DefaultRoute +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 4 (wlan0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.1.1
       DNS Servers: 192.168.1.1 2a01:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
[root@ryzen marc]# resolvectl query mysmartwifi
mysmartwifi: 192.168.1.1                       -- link: wlan0

-- Information acquired via protocol LLMNR/IPv4 in 322.2ms.
-- Data is authenticated: no; Data was acquired via local or encrypted transport: no
-- Data from: network

Il faut encore que j'installe CUPS, qui tire quelques dépendances dont qpdf. D'après la documentation, cups-browsed n'est pas nécessaire si Avahi est configuré pour la résolution des noms d'hôte de .local. J'installe donc nss-mdns. J'édite /etc/nsswitch.conf de :

hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns

à :

hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns

Cela permet effectivement de trouver plus de matériel connecté :

avahi-browse --all --ignore-local --resolve --terminate
+  wlan0 IPv4 mss_mqtt_xx:xx:xx:xx:xx:xx on mysmartwifi     _mqtt._tcp           local
+  wlan0 IPv4 mysmartwifi                                   Web Site             local
+  wlan0 IPv4 mss_ssw_xx:xx:xx:xx:xx:x on mysmartwifi      _ssw._tcp            local
=  wlan0 IPv4 mss_mqtt_xx:xx:xx:xx:xx:xx on mysmartwifi     _mqtt._tcp           local
   hostname = [mysmartwifi.local]
   address = [192.168.1.1]
   port = [8883]
   txt = ["topics=sah/from/$CN/pair-device"]
=  wlan0 IPv4 mysmartwifi                                   Web Site             local
   hostname = [mysmartwifi.local]
   address = [192.168.1.1]
   port = [80]
   txt = []
=  wlan0 IPv4 mss_ssw_xx:xx:xx:xx:xx:xx on mysmartwifi      _ssw._tcp            local
   hostname = [mysmartwifi.local]
   address = [192.168.1.1]
   port = [8883]
   txt = ["networkid=xx:xx:xx:xx:xx:xx" "capabilities=master" "mode=master"]
+  wlan0 IPv4 Canon MF645C (dc:10:c6) (dc:10:c6) (2) (dc:10:c  (dc (dc:10:c6) Web Site             local
=  wlan0 IPv4 Canon MF645C (dc:10:c6) (dc:10:c6) (2) (dc:10:c  (dc (dc:10:c6) Web Site             local
   hostname = [Canonc8aa47.local]
   address = [192.168.1.19]
   port = [80]
   txt = ["path=/"]

Concernant CUPS, imprimant peu, je me contente d'activer son socket :

systemctl enable cups.socket
Created symlink /etc/systemd/system/sockets.target.wants/cups.socket → /usr/lib/systemd/system/cups.socket.

Plasma continue de m'indiquer que le service d'impression est indisponible, alors je redémarre le PC... Je re-redémarre le PC car j'avais oublié d'activer avahi-daemon.service.

Le résultat est mitigé. Plasma a gagné l'accès au service d'imprimante, mais incapable de la trouver. La connexion à CUPS par http://localhost:631/ fonctionne, et CUPS a trouvé l'imprimante, et proposé du driverless. Mais l'essai d'impression a sorti quelques caractères illisibles sur la première page, et des pages blanches. Cela dit, une fois l'imprimante connue de CUPS, Plasma la voit aussi, sous le type CNMF645C CNMF645C, driverless, 2.0.0. J'ai essayé d'autres choix dans CUPS, et finalement j'ai pu imprimer en noir et blanc avec le type que Plasma appelle CNMF645C - IPP Everywhere. Plasma est capable d'afficher l'état des cartouches. J'ai essayé un peu tous les règlages de CUPS, j'ai même essayer d'utiliser des PPD pris dans le fichier cque-fr-4.0-11.x86_64.tar.gz de Canon.

Finalement, j'ai obtenu une impression couleur avec ce réglage CUPS :

Pilote
CNMF645C CNMF645C, driverless, 2.0.0 (color, 2-sided printing)
Connexion 
ipps://Canon%20MF645C%20(dc%3A10%3Ac6)%20(dc%3A10%3Ac6)%20(2)%20(dc%3A10%3Ac%20%20(dc%20(dc%3A10%3Ac6)._ipps._tcp.local/
Par défaut
job-sheets=none, none media=iso_a4_210x297mm sides=two-sided-long-edge

Disparition de l'audio par HDMI

Aujourd'hui, plus d'audio par HDMI. Il se peut que cela soit causé par la dernière mise à jour. Si je regarde l'audio dans le panneau de configuration, je vois Rembrandt Radeon High Definition Audio Controller dans les Cartes inatives ; et aucun profil dans le menu à côté. Dans le log donné par journalctl -r je vois bien le problème profiles inconsistent lorsque j'affiche le panel audio :

oct 20 21:55:08 ryzen systemsettings[3717]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_17_00.6.iec958-stereo.monitor"
oct 20 21:55:08 ryzen pipewire-pulse[1448]: mod.protocol-pulse: 0x563f399c7010: card 43 port 3 profiles inconsistent (0 < 3)
oct 20 21:55:08 ryzen pipewire-pulse[1448]: mod.protocol-pulse: 0x563f399c7010: card 43 port 2 profiles inconsistent (0 < 3)
oct 20 21:55:08 ryzen pipewire-pulse[1448]: mod.protocol-pulse: 0x563f399c7010: card 43 port 1 profiles inconsistent (0 < 3)
oct 20 21:55:08 ryzen pipewire-pulse[1448]: mod.protocol-pulse: 0x563f399c7010: card 43 port 0 profiles inconsistent (0 < 1)
oct 20 21:55:08 ryzen systemsettings[3717]: QQmlEngine::setContextForObject(): Object already has a QQmlContext
oct 20 21:55:08 ryzen systemsettings[3717]: org.kde.plasma.pulseaudio: Settings schema org.freedesktop.pulseaudio.module-group is not installed
oct 20 21:55:08 ryzen systemsettings[3717]: org.kde.plasma.pulseaudio: Settings schema org.freedesktop.pulseaudio.module-group is not installed
oct 20 21:55:08 ryzen systemsettings[3717]: org.kde.plasma.pulseaudio: Settings schema org.freedesktop.pulseaudio.module-group is not installed

Si je regarde plus tôt dans les logs, je trouve un énorme pavé de kmix qui ressemble à :

oct 20 21:27:13 ryzen kmix[1436]: org.kde.kmix: no mix devices and not dynamic
...
oct 20 21:27:13 ryzen kmix[1436]: org.kde.kmix: Cannot load profile "PulseAudio.Périphériques_de_lecture.1.default"
oct 20 21:27:13 ryzen kmixctrl[1440]: org.kde.kmix: no mix devices and not dynamic
...
oct 20 21:27:13 ryzen wireplumber[1367]: <WpSiAudioAdapter:0x5620ee947720> Object activation aborted: proxy destroyed
oct 20 21:27:13 ryzen wireplumber[1367]: <WpSiAudioAdapter:0x5620ee947720> failed to activate item: Object activation aborted: proxy destroyed
oct 20 21:27:13 ryzen kmix[1436]: org.kde.kmix: Cannot load profile "PulseAudio.Périphériques_de_capture.1.default"
oct 20 21:27:13 ryzen kmix[1436]: org.kde.kmix: Cannot load profile "PulseAudio.Flux_de_lecture.1.default"
oct 20 21:27:13 ryzen kmix[1436]: org.kde.kmix: Cannot load profile "PulseAudio.Flux_de_capture.1.default"
oct 20 21:27:13 ryzen kmix[1436]: adding 4 mixers
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 1 devices
oct 20 21:27:13 ryzen kmix[1436]: adding "auto_null" "Dummy Output"
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 0 devices
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 0 devices
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 0 devices
oct 20 21:27:13 ryzen kded5[1212]: Registering ":1.47/StatusNotifierItem" to system tray
oct 20 21:27:13 ryzen kmix[1436]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 20 21:27:13 ryzen kmix[1436]: adding 4 mixers
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 2 devices
oct 20 21:27:13 ryzen kmix[1436]: adding "auto_null" "Dummy Output"
oct 20 21:27:13 ryzen kmix[1436]: adding "alsa_output.pci-0000_17_00.6.iec958-stereo" "Family 17h/19h HD Audio Controller Stéréo numérique (IEC958)"
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 0 devices
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 0 devices
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 0 devices
oct 20 21:27:13 ryzen kmix[1436]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 20 21:27:13 ryzen kmix[1436]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 20 21:27:13 ryzen kmix[1436]: adding 4 mixers
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 2 devices
oct 20 21:27:13 ryzen kmix[1436]: adding "auto_null" "Dummy Output"
oct 20 21:27:13 ryzen kmix[1436]: adding "alsa_output.pci-0000_17_00.6.iec958-stereo" "Family 17h/19h HD Audio Controller Stéréo numérique (IEC958)"
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 1 devices
oct 20 21:27:13 ryzen kmix[1436]: adding "alsa_input.pci-0000_17_00.6.analog-stereo" "Family 17h/19h HD Audio Controller Stéréo analogique"
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 0 devices
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 0 devices
oct 20 21:27:13 ryzen kmix[1436]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 20 21:27:13 ryzen kmix[1436]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 20 21:27:13 ryzen kcminit[1596]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
oct 20 21:27:13 ryzen kmix[1436]: adding 4 mixers
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 2 devices
oct 20 21:27:13 ryzen kmix[1436]: adding "auto_null" "Dummy Output"
oct 20 21:27:13 ryzen kmix[1436]: adding "alsa_output.pci-0000_17_00.6.iec958-stereo" "Family 17h/19h HD Audio Controller Stéréo numérique (IEC958)"
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 1 devices
oct 20 21:27:13 ryzen kmix[1436]: adding "alsa_input.pci-0000_17_00.6.analog-stereo" "Family 17h/19h HD Audio Controller Stéréo analogique"
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 1 devices
oct 20 21:27:13 ryzen kmix[1436]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 20 21:27:13 ryzen kmix[1436]: PulseAudio adding 0 devices
oct 20 21:27:13 ryzen kmix[1436]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 20 21:27:13 ryzen kmix[1436]: org.kde.kmix: No such icon "audio-card-analog-pci"

Pour comparaison, le log quand l'audio HDMI fonctionnait encore :

oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: no mix devices and not dynamic
...
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: Cannot load profile "PulseAudio.Périphériques_de_lecture.1.default"
oct 19 20:03:04 ryzen kmixctrl[1447]: org.kde.kmix: no mix devices and not dynamic
...
oct 19 20:03:04 ryzen wireplumber[1366]: <WpSiAudioAdapter:0x56030fefd890> Object activation aborted: proxy destroyed
oct 19 20:03:04 ryzen wireplumber[1366]: <WpSiAudioAdapter:0x56030fefd890> failed to activate item: Object activation aborted: proxy destroyed
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: Cannot load profile "PulseAudio.Périphériques_de_capture.1.default"
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: Cannot load profile "PulseAudio.Flux_de_lecture.1.default"
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: Cannot load profile "PulseAudio.Flux_de_capture.1.default"
oct 19 20:03:04 ryzen kmix[1443]: adding 4 mixers
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 1 devices
oct 19 20:03:04 ryzen kmix[1443]: adding "auto_null" "Dummy Output"
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 0 devices
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 0 devices
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 0 devices
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: adding 4 mixers
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 3 devices
oct 19 20:03:04 ryzen kmix[1443]: adding "auto_null" "Dummy Output"
oct 19 20:03:04 ryzen kmix[1443]: adding "alsa_output.pci-0000_17_00.1.hdmi-stereo" "Rembrandt Radeon High Definition Audio Controller Stéréo numérique (HDMI)"
oct 19 20:03:04 ryzen kmix[1443]: adding "alsa_output.pci-0000_17_00.6.iec958-stereo" "Family 17h/19h HD Audio Controller Stéréo numérique (IEC958)"
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 0 devices
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 0 devices
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 0 devices
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: adding 4 mixers
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 3 devices
oct 19 20:03:04 ryzen kmix[1443]: adding "auto_null" "Dummy Output"
oct 19 20:03:04 ryzen kmix[1443]: adding "alsa_output.pci-0000_17_00.1.hdmi-stereo" "Rembrandt Radeon High Definition Audio Controller Stéréo numérique (HDMI)"
oct 19 20:03:04 ryzen kmix[1443]: adding "alsa_output.pci-0000_17_00.6.iec958-stereo" "Family 17h/19h HD Audio Controller Stéréo numérique (IEC958)"
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 0 devices
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 0 devices
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 0 devices
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen systemd[1056]: Starting Bluetooth OBEX service...
oct 19 20:03:04 ryzen kmix[1443]: adding 4 mixers
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 3 devices
oct 19 20:03:04 ryzen kmix[1443]: adding "auto_null" "Dummy Output"
oct 19 20:03:04 ryzen kmix[1443]: adding "alsa_output.pci-0000_17_00.1.hdmi-stereo" "Rembrandt Radeon High Definition Audio Controller Stéréo numérique (HDMI)"
oct 19 20:03:04 ryzen kmix[1443]: adding "alsa_output.pci-0000_17_00.6.iec958-stereo" "Family 17h/19h HD Audio Controller Stéréo numérique (IEC958)"
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 1 devices
oct 19 20:03:04 ryzen kmix[1443]: adding "alsa_input.pci-0000_17_00.6.analog-stereo" "Family 17h/19h HD Audio Controller Stéréo analogique"
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 0 devices
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 0 devices
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: adding 4 mixers
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 3 devices
oct 19 20:03:04 ryzen kmix[1443]: adding "auto_null" "Dummy Output"
oct 19 20:03:04 ryzen kmix[1443]: adding "alsa_output.pci-0000_17_00.1.hdmi-stereo" "Rembrandt Radeon High Definition Audio Controller Stéréo numérique (HDMI)"
oct 19 20:03:04 ryzen kmix[1443]: adding "alsa_output.pci-0000_17_00.6.iec958-stereo" "Family 17h/19h HD Audio Controller Stéréo numérique (IEC958)"
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 1 devices
oct 19 20:03:04 ryzen kmix[1443]: adding "alsa_input.pci-0000_17_00.6.analog-stereo" "Family 17h/19h HD Audio Controller Stéréo analogique"
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 1 devices
oct 19 20:03:04 ryzen kmix[1443]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 19 20:03:04 ryzen kmix[1443]: PulseAudio adding 0 devices
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 19 20:03:04 ryzen kmix[1443]: org.kde.kmix: No such icon "audio-card-analog-pci"

La seule différence que je vois c'est que kmix n'ajoute plus "alsa_output.pci-0000_17_00.1.hdmi-stereo" "Rembrandt Radeon High Definition Audio Controller Stéréo numérique (HDMI)" Voyons plus haut dans les logs ; le noyau écrit ceci à propos de l'audio :

oct 14 23:43:59 ryzen kernel: snd_hda_intel 0000:17:00.1: enabling device (0000 -> 0002)
oct 14 23:43:59 ryzen kernel: snd_hda_intel 0000:17:00.1: Handle vga_switcheroo audio client
oct 14 23:43:59 ryzen kernel: snd_hda_intel 0000:17:00.6: enabling device (0000 -> 0002)
oct 14 23:43:59 ryzen kernel: snd_hda_intel 0000:17:00.1: bound 0000:17:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
oct 14 23:43:59 ryzen kernel: mt7921e 0000:0d:00.0: enabling device (0000 -> 0002)
oct 14 23:43:59 ryzen kernel: input: HD-Audio Generic HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:08.1/0000:17:00.1/sound/card0/input19
oct 14 23:43:59 ryzen kernel: input: HD-Audio Generic HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:08.1/0000:17:00.1/sound/card0/input20
oct 14 23:43:59 ryzen kernel: input: HD-Audio Generic HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:08.1/0000:17:00.1/sound/card0/input21
oct 14 23:43:59 ryzen kernel: input: HD-Audio Generic HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:08.1/0000:17:00.1/sound/card0/input22
oct 14 23:43:59 ryzen kernel: mt7921e 0000:0d:00.0: ASIC revision: 79220010
oct 14 23:43:59 ryzen kernel: snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC897: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line
oct 14 23:43:59 ryzen kernel: snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
oct 14 23:43:59 ryzen kernel: snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
oct 14 23:43:59 ryzen kernel: snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
oct 14 23:43:59 ryzen kernel: snd_hda_codec_realtek hdaudioC1D0:    dig-out=0x1e/0x0
oct 14 23:43:59 ryzen kernel: snd_hda_codec_realtek hdaudioC1D0:    inputs:
oct 14 23:43:59 ryzen kernel: snd_hda_codec_realtek hdaudioC1D0:      Front Mic=0x19
oct 14 23:43:59 ryzen kernel: snd_hda_codec_realtek hdaudioC1D0:      Rear Mic=0x18
oct 14 23:43:59 ryzen kernel: input: HD-Audio Generic Front Mic as /devices/pci0000:00/0000:00:08.1/0000:17:00.6/sound/card1/input23
oct 14 23:43:59 ryzen kernel: input: HD-Audio Generic Rear Mic as /devices/pci0000:00/0000:00:08.1/0000:17:00.6/sound/card1/input24
oct 14 23:43:59 ryzen kernel: input: HD-Audio Generic Line Out as /devices/pci0000:00/0000:00:08.1/0000:17:00.6/sound/card1/input25
oct 14 23:43:59 ryzen kernel: input: HD-Audio Generic Front Headphone as /devices/pci0000:00/0000:00:08.1/0000:17:00.6/sound/card1/input26

Rien n'a changé au niveau du noyau. C'est dans /var/log/pacman.log que je trouve une piste prometteuse :

[2023-10-20T03:44:47+0200] [ALPM] upgraded alsa-card-profiles (1:0.3.82-1 -> 1:0.3.83-1)

Je reprends après une suspension du système, et c'est tombé en marche. Quelques logs notables :

oct 20 23:16:09 ryzen kernel: PM: suspend entry (deep)
oct 20 23:16:09 ryzen kernel: Filesystems sync: 0.002 seconds
oct 21 08:21:24 ryzen kernel: Freezing user space processes
...
oct 21 08:21:24 ryzen kernel: PM: suspend exit
...
oct 21 08:21:24 ryzen plasmashell[1229]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_17_00.6.iec958-stereo.2.monitor"
oct 21 08:21:24 ryzen systemsettings[3717]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_17_00.6.iec958-stereo.2.monitor"
oct 21 08:21:24 ryzen kmix[1436]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 21 08:21:24 ryzen plasmashell[1229]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_17_00.6.iec958-stereo.2.monitor"
oct 21 08:21:24 ryzen systemsettings[3717]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_17_00.6.iec958-stereo.2.monitor"
oct 21 08:21:24 ryzen kmix[1436]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 21 08:21:24 ryzen kmix[1436]: adding 4 mixers
oct 21 08:21:24 ryzen kmix[1436]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 21 08:21:24 ryzen kmix[1436]: PulseAudio adding 3 devices
oct 21 08:21:24 ryzen kmix[1436]: adding "auto_null" "Dummy Output"
oct 21 08:21:24 ryzen kmix[1436]: adding "alsa_output.pci-0000_17_00.6.iec958-stereo.2" "Family 17h/19h HD Audio Controller Stéréo numérique (IEC958)"
oct 21 08:21:24 ryzen kmix[1436]: adding "alsa_output.pci-0000_17_00.1.hdmi-stereo" "Rembrandt Radeon High Definition Audio Controller Stéréo numérique (HDMI)"
oct 21 08:21:24 ryzen kmix[1436]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 21 08:21:24 ryzen kmix[1436]: PulseAudio adding 0 devices
oct 21 08:21:24 ryzen kmix[1436]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 21 08:21:24 ryzen kmix[1436]: PulseAudio adding 1 devices
oct 21 08:21:24 ryzen kmix[1436]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 21 08:21:24 ryzen kmix[1436]: PulseAudio adding 0 devices
oct 21 08:21:24 ryzen kmix[1436]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 21 08:21:24 ryzen kmix[1436]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 21 08:21:24 ryzen systemsettings[3717]: file:///usr/share/kpackage/kcms/kcm_pulseaudio/contents/ui/CardListItem.qml:16: TypeError: Cannot read property 'width' of null

Je sens que ce n'est pas définitivement réglé, mais je verrai plus tard. Accessoirement, je découvre quelques commandes intéressante pour observer le système audio, comme pw-top qui montre la charge audio en temps réel, wpctl status qui montre les clients, les sources et les puits, et pactl list cards qui me montre que la carte qui n'est pas ajoutée par kmix dans les logs se retrouve sans aucun profil :

pactl list cards
Card #43
        Name: alsa_card.pci-0000_17_00.1
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "0"
                api.alsa.card.longname = "HD-Audio Generic at 0xfcd88000 irq 125"
                api.alsa.card.name = "HD-Audio Generic"
                api.alsa.path = "hw:0"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio0"
                device.api = "alsa"
                device.bus = "pci"
                device.bus_path = "pci-0000:17:00.1"
                device.description = "Rembrandt Radeon High Definition Audio Controller"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-pci"
                device.name = "alsa_card.pci-0000_17_00.1"
                device.nick = "HD-Audio Generic"
                device.plugged.usec = "109111367"
                device.product.id = "0x1640"
                device.product.name = "Rembrandt Radeon High Definition Audio Controller"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:17:00.1/sound/card0"
                device.vendor.id = "0x1002"
                device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
                media.class = "Audio/Device"
                factory.id = "14"
                client.id = "33"
                object.id = "43"
                object.serial = "43"
                object.path = "alsa:pcm:0"
                alsa.card = "0"
                alsa.card_name = "HD-Audio Generic"
                alsa.long_card_name = "HD-Audio Generic at 0xfcd88000 irq 125"
                alsa.driver_name = "snd_hda_intel"
                device.string = "0"
        Ports:
                hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 1, available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 1"
                                device.icon_name = "video-display"
                                card.profile.port = "0"
                                device.product.name = "LG HDR 4K"
                hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 2, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 2"
                                device.icon_name = "video-display"
                                card.profile.port = "1"
                hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, availability group: Legacy 3, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 3"
                                device.icon_name = "video-display"
                                card.profile.port = "2"
                hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, availability group: Legacy 4, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 4"
                                device.icon_name = "video-display"
                                card.profile.port = "3"

Card #44
        Name: alsa_card.pci-0000_17_00.6
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "1"
                api.alsa.card.longname = "HD-Audio Generic at 0xfcd80000 irq 126"
                api.alsa.card.name = "HD-Audio Generic"
                api.alsa.path = "hw:1"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio1"
                device.api = "alsa"
                device.bus = "pci"
                device.bus_path = "pci-0000:17:00.6"
                device.description = "Family 17h/19h HD Audio Controller"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-pci"
                device.name = "alsa_card.pci-0000_17_00.6"
                device.nick = "HD-Audio Generic"
                device.plugged.usec = "109132948"
                device.product.id = "0x15e3"
                device.product.name = "Family 17h/19h HD Audio Controller"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:17:00.6/sound/card1"
                device.vendor.id = "0x1022"
                device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
                media.class = "Audio/Device"
                factory.id = "14"
                client.id = "33"
                object.id = "44"
                object.serial = "44"
                object.path = "alsa:pcm:1"
                alsa.card = "1"
                alsa.card_name = "HD-Audio Generic"
                alsa.long_card_name = "HD-Audio Generic at 0xfcd80000 irq 126"
                alsa.driver_name = "snd_hda_intel"
                device.string = "1"
        Profiles:
                off: Éteint (sinks: 0, sources: 0, priority: 0, available: yes)
                output:analog-stereo+input:analog-stereo: Duplex stéréo analogique (sinks: 1, sources: 1, priority: 6565, available: no)
                output:analog-stereo: Sortie Stéréo analogique (sinks: 1, sources: 0, priority: 6500, available: no)
                output:iec958-stereo+input:analog-stereo: Sortie Stéréo numérique (IEC958) + Entrée Stéréo analogique (sinks: 1, sources: 1, priority: 5565, available: yes)
                output:iec958-stereo: Sortie Stéréo numérique (IEC958) (sinks: 1, sources: 0, priority: 5500, available: yes)
                input:analog-stereo: Entrée Stéréo analogique (sinks: 0, sources: 1, priority: 65, available: no)
                pro-audio: Pro Audio (sinks: 2, sources: 1, priority: 1, available: yes)
        Active Profile: output:iec958-stereo
        Ports:
                analog-input-front-mic: Microphone avant (type: Mic, priority: 8500, latency offset: 0 usec, availability group: Legacy 1, not available)
                        Properties:
                                port.type = "mic"
                                port.availability-group = "Legacy 1"
                                device.icon_name = "audio-input-microphone"
                                card.profile.port = "0"
                        Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:iec958-stereo+input:analog-stereo
                analog-input-rear-mic: Microphone arrière (type: Mic, priority: 8200, latency offset: 0 usec, availability group: Legacy 2, not available)
                        Properties:
                                port.type = "mic"
                                port.availability-group = "Legacy 2"
                                device.icon_name = "audio-input-microphone"
                                card.profile.port = "1"
                        Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:iec958-stereo+input:analog-stereo
                analog-output-lineout: Sortie ligne (type: Line, priority: 9000, latency offset: 0 usec, availability group: Legacy 3, not available)
                        Properties:
                                port.type = "line"
                                port.availability-group = "Legacy 3"
                                card.profile.port = "2"
                        Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
                analog-output-headphones: Casque audio (type: Headphones, priority: 9900, latency offset: 0 usec, availability group: Legacy 4, not available)
                        Properties:
                                port.type = "headphones"
                                port.availability-group = "Legacy 4"
                                device.icon_name = "audio-headphones"
                                card.profile.port = "3"
                        Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
                iec958-stereo-output: Sortie numérique (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
                        Properties:
                                port.type = "spdif"
                                card.profile.port = "4"
                        Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:analog-stereo

Il me manque les outils ALSA pour inspecter plus profondemment. Il a suffit que je les installe avec pacman -S --needed alsa-utils (qui n'a tiré aucun dépendance) pour que la sortie son HDMI soit configurée. Cela s'est donc fait quelque-part dans :

(1/3) Reloading system manager configuration...
(2/3) Reloading device manager configuration...
(3/3) Arming ConditionNeedsUpdate...

Je vois dans les logs que ça a déclenché :

oct 24 02:34:21 ryzen systemd[1]: Reloading requested from client PID 33367 ('systemctl') (unit user@1000.service)...
oct 24 02:34:21 ryzen systemd[1]: Reloading...
oct 24 02:34:21 ryzen systemd[1]: Reloading finished in 157 ms.
oct 24 02:34:22 ryzen kwin_wayland[1093]: kwin_core: Failed to open /dev/dri/renderD128 device (No such device)
oct 24 02:34:22 ryzen kwin_wayland[1093]: kwin_wayland_drm: failed to open drm device at "/dev/dri/renderD128"
oct 24 02:34:22 ryzen systemd[1051]: Reached target Bluetooth.
oct 24 02:34:22 ryzen systemd[1051]: Reached target Sound Card.
oct 24 02:34:22 ryzen kwin_wayland[1093]: kwin_wayland_drm: failed to open drm device at ""
oct 24 02:34:22 ryzen kwin_wayland[1093]: kwin_wayland_drm: failed to open drm device at ""
oct 24 02:34:22 ryzen kwin_wayland[1093]: kwin_wayland_drm: failed to open drm device at ""
oct 24 02:34:22 ryzen kwin_wayland[1093]: kwin_wayland_drm: failed to open drm device at ""
oct 24 02:34:22 ryzen systemd-logind[901]: Watching system buttons on /dev/input/event1 (Power Button)
oct 24 02:34:22 ryzen systemd-logind[901]: Watching system buttons on /dev/input/event0 (Power Button)
oct 24 02:34:22 ryzen systemd-logind[901]: Watching system buttons on /dev/input/event4 (CHERRY CHERRY Keyboard)
oct 24 02:34:22 ryzen systemd-logind[901]: Watching system buttons on /dev/input/event5 (CHERRY CHERRY Keyboard)
oct 24 02:34:22 ryzen systemd-logind[901]: Watching system buttons on /dev/input/event3 (ASRock LED Controller)
oct 24 02:34:22 ryzen plasmashell[1232]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_17_00.6.iec958-stereo"
oct 24 02:34:22 ryzen plasmashell[1232]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_17_00.6.iec958-stereo.monitor"
oct 24 02:34:22 ryzen kmix[1440]: adding 4 mixers
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 1 devices
oct 24 02:34:22 ryzen kmix[1440]: adding "auto_null" "Dummy Output"
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 0 devices
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 1 devices
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 0 devices
oct 24 02:34:22 ryzen kmix[1440]: adding 4 mixers
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 2 devices
oct 24 02:34:22 ryzen kmix[1440]: adding "auto_null" "Dummy Output"
oct 24 02:34:22 ryzen kmix[1440]: adding "auto_null" "Dummy Output"
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 0 devices
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 1 devices
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 0 devices
oct 24 02:34:22 ryzen plasmashell[1232]: org.kde.plasma.pulseaudio: No object for name "@DEFAULT_SINK@"
oct 24 02:34:22 ryzen plasmashell[1232]: org.kde.plasma.pulseaudio: No object for name "@DEFAULT_SOURCE@"
oct 24 02:34:22 ryzen plasmashell[1232]: org.kde.plasma.pulseaudio: No object for name "@DEFAULT_SINK@"
oct 24 02:34:22 ryzen plasmashell[1232]: org.kde.plasma.pulseaudio: No object for name "@DEFAULT_SOURCE@"
oct 24 02:34:22 ryzen plasmashell[1232]: org.kde.plasma.pulseaudio: No object for name "@DEFAULT_SINK@"
oct 24 02:34:22 ryzen plasmashell[1232]: org.kde.plasma.pulseaudio: No object for name "@DEFAULT_SOURCE@"
oct 24 02:34:22 ryzen wireplumber[1365]: <WpSiAudioAdapter:0x558eff62d420> Object activation aborted: proxy destroyed
oct 24 02:34:22 ryzen wireplumber[1365]: <WpSiAudioAdapter:0x558eff62d420> failed to activate item: Object activation aborted: proxy destroyed
oct 24 02:34:22 ryzen kmix[1440]: adding 4 mixers
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 1 devices
oct 24 02:34:22 ryzen kmix[1440]: adding "auto_null" "Dummy Output"
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 0 devices
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 1 devices
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 0 devices
oct 24 02:34:22 ryzen plasmashell[1232]: org.kde.plasma.pulseaudio: No object for name "@DEFAULT_SINK@"
oct 24 02:34:22 ryzen plasmashell[1232]: org.kde.plasma.pulseaudio: No object for name "@DEFAULT_SOURCE@"
oct 24 02:34:22 ryzen kmix[1440]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 24 02:34:22 ryzen kmix[1440]: adding 4 mixers
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 2 devices
oct 24 02:34:22 ryzen kmix[1440]: adding "auto_null" "Dummy Output"
oct 24 02:34:22 ryzen kmix[1440]: adding "alsa_output.pci-0000_17_00.6.3.iec958-stereo" "Family 17h/19h HD Audio Controller Stéréo numérique (IEC958)"
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 0 devices
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 1 devices
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 0 devices
oct 24 02:34:22 ryzen kmix[1440]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 24 02:34:22 ryzen kmix[1440]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 24 02:34:22 ryzen kmix[1440]: adding 4 mixers
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 2 devices
oct 24 02:34:22 ryzen kmix[1440]: adding "auto_null" "Dummy Output"
oct 24 02:34:22 ryzen kmix[1440]: adding "alsa_output.pci-0000_17_00.6.3.iec958-stereo" "Family 17h/19h HD Audio Controller Stéréo numérique (IEC958)"
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 1 devices
oct 24 02:34:22 ryzen kmix[1440]: adding "alsa_input.pci-0000_17_00.6.3.analog-stereo" "Family 17h/19h HD Audio Controller Stéréo analogique"
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 1 devices
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 0 devices
oct 24 02:34:22 ryzen kmix[1440]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 24 02:34:22 ryzen kmix[1440]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 24 02:34:22 ryzen kmix[1440]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 24 02:34:22 ryzen kmix[1440]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 24 02:34:22 ryzen kmix[1440]: adding 4 mixers
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Playback_Devices:1" "Périphériques de lecture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 3 devices
oct 24 02:34:22 ryzen kmix[1440]: adding "auto_null" "Dummy Output"
oct 24 02:34:22 ryzen kmix[1440]: adding "alsa_output.pci-0000_17_00.6.3.iec958-stereo" "Family 17h/19h HD Audio Controller Stéréo numérique (IEC958)"
oct 24 02:34:22 ryzen kmix[1440]: adding "alsa_output.pci-0000_17_00.1.3.hdmi-stereo" "Rembrandt Radeon High Definition Audio Controller Stéréo numérique (HDMI)"
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Capture_Devices:1" "Périphériques de capture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 1 devices
oct 24 02:34:22 ryzen kmix[1440]: adding "alsa_input.pci-0000_17_00.6.3.analog-stereo" "Family 17h/19h HD Audio Controller Stéréo analogique"
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Playback_Streams:1" "Flux de lecture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 1 devices
oct 24 02:34:22 ryzen kmix[1440]: mixer "PulseAudio::Capture_Streams:1" "Flux de capture"
oct 24 02:34:22 ryzen kmix[1440]: PulseAudio adding 0 devices
oct 24 02:34:22 ryzen kmix[1440]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 24 02:34:22 ryzen kmix[1440]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 24 02:34:22 ryzen kmix[1440]: org.kde.kmix: No such icon "audio-card-analog-pci"
oct 24 02:34:22 ryzen plasmashell[1232]: org.kde.plasma.pulseaudio: No object for name "alsa_input.pci-0000_17_00.6.3.analog-stereo"
oct 24 02:34:22 ryzen plasmashell[1232]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_17_00.6.3.iec958-stereo.monitor"

Après quelques recherches assistées de Chat GPT j'ai réussi à rétablir le son avec une commande : systemctl --user restart pipewire. Je aussi trouvé un rapport de bug PipeWire qui ressemble un peu à mon problème : Devices and profiles sometimes not being detected. Et selon un commentaire, une commande plus légère pourrait suffire : systemctl --user restart wireplumber. Après test, oui elle suffit.

Tant qu'à faire et comme conseillé dans la documentation PipeWire de Debian, j'installe pipewire-alsa et pipewire-jack. J'ai aussi mis à jour le reste de KDE en même temps.

Konsole

Konsole ne conserve par défaut que 1000 lignes en mémoire. Pour changer cette taille, il faut apparemment créer un nouveau profile. C'est fait.

Konsole permet de transformer les mouvements de molette de souris en déplacement de curseur. Mais cela entraine de nombreux mouvements involontaires lors des collages par clic du milieu avec la molette. C'est l'option Activer le défilement sur le tampon de l'écran alternatif qui fait partie du profil, dans les divers de la souris.

KMail

La configuration de KMail pour accéder à ma boîte email en IMAP sur TLS, et envoyer en SMTP avec authentification et STARTTLS s'est faite assez naturellement. En revanche, impossible de déplacer les messages par glisser-déposer. Et je vois qu'un bug similaire est ouvert depuis 2017 (Bug 376156). C'est dommage, car la recherche est rapide, alors qu'elle a toujours été inefficace dans Claws Mail. Après avoir fermé et rouvert KMail, j'arrive à glisser de la Boîte de reception des Boîtes aux lettres unifiées à mes dossiers IMAP ; mais ça m'a dupliqué l'email au lieu de le déplacer. Bref, KMail n'est pas fiable avec IMAP.

Thunderbird

Cela faisait longtemps que je n'avais utilisé Thunderbird. Il est toujours aussi gros (55,9 MiO). Comme hunspell-en_us est listé en dépendance optionnelle, j'installe hunspell-en_gb et hunspell-fr. Thunderbird marche vite et bien, pas comme KMail que je retire donc, et gagne tout de même 22,45 MiO.

Imprimante fantome

Un problème récurrent que j'ai observé sur plusieurs distributions et jamais compris est celui de l'apparaition d'imprimantes fantomes dans le dialogue d'impression. Ainsi, dans CUPS, j'ai une imprimante : queue Canon_MF645C, description Canon MF645C, emplacement Chalet, type CNMF645C CNMF645C, driverless, 2.0.0. Mais dans le dialogue système (de Chromium) j'ai deux imprimantes : Canon_MF645C et Canon_MF645C_dc_10_c6_dc_10_c6_dc_10_c_dc_10_c6_13, emplacement chalet. Et (aujourd'hui) seule Canon_MF645C_dc_10_c6_dc_10_c6_dc_10_c_dc_10_c6_13 fonctionne.

Le nom Canon_MF645C_dc_10_c6_dc_10_c6_dc_10_c_dc_10_c6_13 semble automatiquement déduit des résultats d'Avahi. C'est presque le nom défini comme nom mDNS dans la configuration de l'imprimante. J'en profite pour le renommer Canon MF645Cx dans l'imprimante. La configuration de l'imprimante contient aussi l'emplacement chalet.

J'efface l'imprimante Canon_MF645C configurée manuellement de CUPS puisqu'elle semble ne servir à rien. CUPS détecte automatiquement les imprimantes sur le réseau, car les valeurs suivantes sont pré-configurées dans le cupsd.conf d'Arch Linux :

# Show shared printers on the local network.
Browsing Yes
BrowseLocalProtocols dnssd

Après avoir relancé CUPS, j'obtiens bien Canon_MF645Cx comme imprimante automatiquement configurée.

Comme en plus mon réseau est géré par une Livebox 5 qui n'est pas connue pour sa stabilité, je suppose que ça explique des re-détections. L'instabilité réseau est tout cas la première piste d'exploration donnée par Chat GPT.

Scanner

L'application Skanlite trouve automatiquement deux scanners et je décrouvre :

CANON : Canon i-SENSYS MF645C
pixma:MF645C_canon8aa47
Possiblement à travers sane-pixma qui supporte les MFC Canon PIXMA / i-SENSYS / imageCLASS / imageRUNNER à travers les protocoles Canon BJNP et MFNP. Je découvre accessoirement que CUPS-BJNP permet d'obtenir les niveaux d'encre de l'imprimante.
Canon : MF645Cx
escl:http://192.168.1.19:80
eSCL, protocole de scanner sans pilote publié par Mopria.

L'application subit des blocages en mode pixma, mais elle est bien réactive en mode escl. Toutefois, impossible de scanner en recto-verso quel que soit le mode, même si l'option est bien proposée.

Après une petite recherche, c'est l'application Skanpage qui convient aux documents, tandis que Skanlite est destinée aux images. Avec Skanpage, le recto-verso fonctionne du premier coup.

Configuration fine

Après quelques semaines, mon PC est globalement configuré. Réseau OK, image OK, son OK, imprimante OK, scanner OK.

Scrolling saccadé avec la molette de la souris

Quelle que soit le logiciel utilisé (Firefox, Chromium, JOSM, Okular), la molette de la souris (Logitech M705) produit un résultat très saccadé. Lorsque j'utilise la molette crantée, ça ne défile la fenêtre qu'un cran sur quatre. Et bien sûr, impossible de défiler finement avec la molette libre. Ça rend les interactions pénibles.

IMWheel pourrait résoudre le problème, mais il sert à créer des comportement dépendant du logiciel, et mon problème est général. Les réglages de la Configuration du système n'y changent rien : si je rends la vitesse de défilement plus rapide, ça donne simplement de plus grands sauts dans le défilement sur le cran sur 4 (au mieux) qui est pris en compte. Si je choisis une vitesse de défilement vraiment lente, ça devient précis, mais bien trop lent le reste du temps. J'essaie de Re-faire une association pour les boutons suplémentaires de souris..., mais ça ne détecte pas la molette.

Dans /var/log/Xorg.0.log je vois des lignes concernant ma souris :

[  5153.039] (II) config/udev: removing device Logitech M705
[  5153.039] (II) UnloadModule: "libinput"
[  5153.040] (II) config/udev: Adding input device Logitech M705 (/dev/input/event8)
[  5153.040] (**) Logitech M705: Applying InputClass "libinput pointer catchall"
[  5153.040] (II) Using input driver 'libinput' for 'Logitech M705'
[  5153.040] (**) Logitech M705: always reports core events
[  5153.040] (**) Option "Device" "/dev/input/event8"
[  5153.041] (II) event8  - Logitech M705: is tagged by udev as: Mouse
[  5153.041] (II) event8  - Logitech M705: device set to 1000 DPI
[  5153.041] (II) event8  - Logitech M705: device is a pointer
[  5153.041] (II) event8  - Logitech M705: device removed
[  5153.066] (II) libinput: Logitech M705: Step value 0 was provided, libinput Fallback acceleration function is used.
[  5153.066] (II) libinput: Logitech M705: Step value 0 was provided, libinput Fallback acceleration function is used.
[  5153.066] (II) libinput: Logitech M705: Step value 0 was provided, libinput Fallback acceleration function is used.
[  5153.066] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:02.1/0000:02:00.0/0000:03:0c.0/0000:15:00.0/usb3/3-10/3-10:1.2/0003:046D:C52B.0006/0003:046D:406D.0007/input/input17/event8"
[  5153.066] (II) XINPUT: Adding extended input device "Logitech M705" (type: MOUSE, id 9)
[  5153.066] (**) Option "AccelerationScheme" "none"
[  5153.066] (**) Logitech M705: (accel) selected scheme none/0
[  5153.066] (**) Logitech M705: (accel) acceleration factor: 2.000
[  5153.066] (**) Logitech M705: (accel) acceleration threshold: 4
[  5153.066] (II) config/udev: removing device ASRock LED Controller
[  5153.066] (II) UnloadModule: "libinput"

Je ne sais pas pourquoi il y a un fichier /var/log/Xorg.0.log alors que ma plateforme graphqiue est Wayland. Cela, la commande ps auxf me montre à la fois Xorg et Wayland :

root        1023  0.0  0.0 152764 23320 ?        Ssl  21:48   0:00 /usr/bin/sddm
root        1025  0.0  0.2 783500 79000 tty2     Ssl+ 21:48   0:00  \_ /usr/lib/Xorg -dpi 144 -background none -seat seat0 vt2 -auth /run/sddm/xauth_HKZyee -noreset -displayfd 16
root        1087  0.0  0.0  76524 21576 ?        S    21:48   0:00  \_ /usr/lib/sddm/sddm-helper --socket /tmp/sddm-auth-332f93b8-686f-4db5-bb5c-f3d5aed5a183 --id 1 --start /usr/lib/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland --user marc
marc        1107  0.0  0.1 200392 42616 tty1     Ssl+ 21:48   0:00      \_ /usr/bin/startplasma-wayland
marc        1090  0.0  0.0  21648 13508 ?        Ss   21:48   0:00 /usr/lib/systemd/systemd --user
marc        1091  0.0  0.0  25060  5320 ?        S    21:48   0:00  \_ (sd-pam)
marc        1119  0.0  0.0   9676  5780 ?        Ss   21:48   0:01  \_ /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
marc        1128  0.0  0.0 161360 24052 ?        Ssl  21:48   0:00  \_ /usr/bin/kwin_wayland_wrapper --xwayland
marc        1133  1.0  1.6 2073284 514092 ?      Sl   21:48   1:11  |   \_ /usr/bin/kwin_wayland --wayland-fd 7 --socket wayland-0 --xwayland-fd 8 --xwayland-fd 9 --xwayland-display :1 --xwayland-xauthority /run/user/1000/xauth_HmcyUf --xwayland
marc        1210  0.2  0.5 884932 166656 ?       Sl   21:48   0:14  |       \_ /usr/bin/Xwayland :1 -auth /run/user/1000/xauth_HmcyUf -listen 49 -listen 50 -displayfd 41 -rootless -wm 44

J'ai relancé une session avec X11 à la place de Wayland, et j'observe le même problème. Comme je sais que sur mon système X11 + FVWM ça fonctionnait impeccablement, je porte mes soupçons sur Plasma. Mais d'abord, un peu de debug avec libinput record en choisissant la souris dans la liste proposée (numéro 8), puis 2 mouvements d'un cran de molette en mode cranté, suivi de 2 mouvements de molette en mode haute résolution :

Available devices:
/dev/input/event0:      Power Button
/dev/input/event1:      Power Button
/dev/input/event2:      Video Bus
/dev/input/event3:      ASRock LED Controller
/dev/input/event4:      CHERRY CHERRY Keyboard
/dev/input/event5:      CHERRY CHERRY Keyboard
/dev/input/event6:      CHERRY CHERRY Keyboard
/dev/input/event7:      CHERRY CHERRY Keyboard Mouse
/dev/input/event8:      Logitech M705
/dev/input/event9:      PC Speaker
/dev/input/event10:     HD-Audio Generic HDMI/DP,pcm=3
/dev/input/event11:     HD-Audio Generic HDMI/DP,pcm=7
/dev/input/event12:     HD-Audio Generic HDMI/DP,pcm=8
/dev/input/event13:     HD-Audio Generic HDMI/DP,pcm=9
/dev/input/event14:     HD-Audio Generic Front Mic
/dev/input/event15:     HD-Audio Generic Rear Mic
/dev/input/event16:     HD-Audio Generic Line Out
/dev/input/event17:     HD-Audio Generic Front Headphone
Select the device event number: 8
Recording to 'stdout'.
# libinput record
version: 1
ndevices: 1
libinput:
  version: "1.24.0"
  git: "unknown"
system:
  kernel: "6.6.1-arch1-1"
  dmi: "dmi:bvnAmericanMegatrendsInternational,LLC.:bvr1.21:bd04/26/2023:br5.26:svnASRock:pnX670EProRS:pvrDefaultstring:rvnASRock:rnX670EProRS:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:skuDefaultstring:"
devices:
- node: /dev/input/event8
  evdev:
    # Name: Logitech M705
    # ID: bus 0x3 vendor 0x46d product 0x406d version 0x111
    # Supported Events:
    # Event type 0 (EV_SYN)
    # Event type 1 (EV_KEY)
    #   Event code 272 (BTN_LEFT)
    #   Event code 273 (BTN_RIGHT)
    #   Event code 274 (BTN_MIDDLE)
    #   Event code 275 (BTN_SIDE)
    #   Event code 276 (BTN_EXTRA)
    #   Event code 277 (BTN_FORWARD)
    #   Event code 278 (BTN_BACK)
    #   Event code 279 (BTN_TASK)
    #   Event code 280 ((null))
    #   Event code 281 ((null))
    #   Event code 282 ((null))
    #   Event code 283 ((null))
    #   Event code 284 ((null))
    #   Event code 285 ((null))
    #   Event code 286 ((null))
    #   Event code 287 ((null))
    # Event type 2 (EV_REL)
    #   Event code 0 (REL_X)
    #   Event code 1 (REL_Y)
    #   Event code 6 (REL_HWHEEL)
    #   Event code 8 (REL_WHEEL)
    #   Event code 11 (REL_WHEEL_HI_RES)
    #   Event code 12 (REL_HWHEEL_HI_RES)
    # Event type 4 (EV_MSC)
    #   Event code 4 (MSC_SCAN)
    # Properties:
    name: "Logitech M705"
    id: [3, 1133, 16493, 273]
    codes:
      0: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] # EV_SYN
      1: [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287] # EV_KEY
      2: [0, 1, 6, 8, 11, 12] # EV_REL
      4: [4] # EV_MSC
    properties: []
  hid: [
    0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 
    0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x95, 0x10, 0x75, 0x01, 0x81, 0x02, 0x05, 0x01, 0x16, 0x01, 
    0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x09, 0x30, 0x09, 0x31, 0x81, 0x06, 0x15, 0x81, 
    0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x09, 0x38, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x95, 
    0x01, 0x81, 0x06, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x75, 0x08, 
    0x95, 0x06, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x01, 0x81, 0x00, 0x09, 0x01, 0x91, 0x00, 0xc0, 
    0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x75, 0x08, 0x95, 0x13, 0x15, 0x00, 0x26, 
    0xff, 0x00, 0x09, 0x02, 0x81, 0x00, 0x09, 0x02, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x04, 
    0xa1, 0x01, 0x85, 0x20, 0x75, 0x08, 0x95, 0x0e, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x41, 0x81, 
    0x00, 0x09, 0x41, 0x91, 0x00, 0x85, 0x21, 0x95, 0x1f, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x42, 
    0x81, 0x00, 0x09, 0x42, 0x91, 0x00, 0xc0
  ]
  udev:
    properties:
    - ID_INPUT=1
    - ID_INPUT_MOUSE=1
    - LIBINPUT_DEVICE_GROUP=3/46d/406d:usb-0000:15:00.0-10
    - MOUSE_DPI=1000@167
  quirks:
  events:
  # Current time is 00:26:51
  # Current time is 00:27:07
  - evdev:
    - [  0,      0,   2,  11,     -15] # EV_REL / REL_WHEEL_HI_RES        -15
    - [  0,      0,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +0ms
  # Current time is 00:27:10
  - evdev:
    - [  4, 207845,   2,  11,     -15] # EV_REL / REL_WHEEL_HI_RES        -15
    - [  4, 207845,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +4207ms
  # Current time is 00:27:15
  # Current time is 00:27:20
  - evdev:
    - [ 12, 822245,   2,  11,     -15] # EV_REL / REL_WHEEL_HI_RES        -15
    - [ 12, 822245,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +8615ms
  # Current time is 00:27:25
  - evdev:
    - [ 19, 278141,   2,  11,     -15] # EV_REL / REL_WHEEL_HI_RES        -15
    - [ 19, 278141,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +6456ms
  # Current time is 00:27:30

Le premier étonnement est que je ne vois que des évènements REL_WHEEL_HI_RES alors que les deux premiers évènements n'étaient pas haute résolution. Un évènement REL_WHEEL semblerait plus logique. Le choses sont beaucoup plus claires quand j'utilise la molette plus rapidement :

  events:
  # Current time is 00:36:24
  # Current time is 00:36:26
  - evdev:
    - [  0,      0,   2,  11,      15] # EV_REL / REL_WHEEL_HI_RES         15
    - [  0,      0,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +0ms
  - evdev:
    - [  0,  49779,   2,  11,      15] # EV_REL / REL_WHEEL_HI_RES         15
    - [  0,  49779,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +49ms
  - evdev:
    - [  0,  97775,   2,  11,      15] # EV_REL / REL_WHEEL_HI_RES         15
    - [  0,  97775,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +48ms
  - evdev:
    - [  0, 154006,   2,  11,      15] # EV_REL / REL_WHEEL_HI_RES         15
    - [  0, 154006,   2,   8,       1] # EV_REL / REL_WHEEL                 1
    - [  0, 154006,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +57ms
  - evdev:
    - [  0, 218001,   2,  11,      15] # EV_REL / REL_WHEEL_HI_RES         15
    - [  0, 218001,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +64ms
  - evdev:
    - [  1, 398030,   2,  11,      15] # EV_REL / REL_WHEEL_HI_RES         15
    - [  1, 398030,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +1180ms
  - evdev:
    - [  1, 429787,   2,  11,      15] # EV_REL / REL_WHEEL_HI_RES         15
    - [  1, 429787,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +31ms
  - evdev:
    - [  1, 461789,   2,  11,      15] # EV_REL / REL_WHEEL_HI_RES         15
    - [  1, 461789,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +32ms
  - evdev:
    - [  1, 494106,   2,  11,      15] # EV_REL / REL_WHEEL_HI_RES         15
    - [  1, 494106,   2,   8,       1] # EV_REL / REL_WHEEL                 1
    - [  1, 494106,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +33ms

Là je vois les EV_REL / REL_WHEEL environ une fois sur quatre. Et j'observe le même comportement en mode cranté comme en mode haute résolution. D'après ce que je lis dans un rapport de bug de libinput il est normal d'observer la même chose en mode cranté ou non. Bizarre. En tout cas, la commande libinput debug-events me permet de voir ce qui est envoyé par libinput aux applications, et j'observe tous les 4 crans un évènement, avec une valeur positive ou négative selon le sens de défilement :

-event8   POINTER_SCROLL_WHEEL    +98.077s      vert 7.50/60.0* horiz 0.00/0.0 (wheel)
 event8   POINTER_SCROLL_WHEEL    +102.869s     vert 7.50/60.0* horiz 0.00/0.0 (wheel)
 event8   POINTER_SCROLL_WHEEL    +106.010s     vert 7.50/60.0* horiz 0.00/0.0 (wheel)
 event8   POINTER_SCROLL_WHEEL    +108.806s     vert 7.50/60.0* horiz 0.00/0.0 (wheel)
 event8   POINTER_SCROLL_WHEEL    +111.472s     vert 7.50/60.0* horiz 0.00/0.0 (wheel)
 event8   POINTER_SCROLL_WHEEL    +114.320s     vert -7.50/-60.0* horiz 0.00/0.0 (wheel)
 event8   POINTER_SCROLL_WHEEL    +116.926s     vert -7.50/-60.0* horiz 0.00/0.0 (wheel)
 event8   POINTER_SCROLL_WHEEL    +119.738s     vert -7.50/-60.0* horiz 0.00/0.0 (wheel)

Du coup, plutôt que Plasma, ce pourrait être la faute de libinput. Il me reste à comprendre pourquoi libinput ignore les événements REL_WHEEL_HI_RES. Il n'y a rien d'évident dans le code source que j'ai trouvé.

J'ai rebranché la souris sur mon ancien PC pour comparer le comportement. Et libinput record retournait bien plus d'évènements. Plus étonnant encore, en re-rebranchant la souris sur le nouveau PC (mais sur un port USB frontal plus accessible), j'observe à présent le même comportement que sur mon ancien PC. Ainsi, un défilement d'un cran donne :

  events:
  # Current time is 01:56:26
  - evdev:
    - [  0,      0,   2,  11,     -15] # EV_REL / REL_WHEEL_HI_RES        -15
    - [  0,      0,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +0ms
  - evdev:
    - [  0, 317765,   2,  11,     -15] # EV_REL / REL_WHEEL_HI_RES        -15
    - [  0, 317765,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +317ms
  - evdev:
    - [  0, 499653,   2,  11,     -15] # EV_REL / REL_WHEEL_HI_RES        -15
    - [  0, 499653,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +182ms
  - evdev:
    - [  0, 607667,   2,  11,     -15] # EV_REL / REL_WHEEL_HI_RES        -15
    - [  0, 607667,   2,   8,      -1] # EV_REL / REL_WHEEL                -1
    - [  0, 607667,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +108ms
  - evdev:
    - [  0, 643880,   2,  11,     -15] # EV_REL / REL_WHEEL_HI_RES        -15
    - [  0, 643880,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +36ms
  - evdev:
    - [  0, 667656,   2,  11,     -15] # EV_REL / REL_WHEEL_HI_RES        -15
    - [  0, 667656,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +24ms
  - evdev:
    - [  0, 691647,   2,  11,     -15] # EV_REL / REL_WHEEL_HI_RES        -15
    - [  0, 691647,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +24ms
  # Current time is 01:56:30

Ainsi, chaque cran donne exactement un REL_WHEEL plus ou moins entouré d'une demi-douzaine de REL_WHEEL_HI_RES. Reste à voir si c'est stable.

Pour l'instant, la solution la plus simple que j'ai trouvé pour rétablir un défilement normal, c'est d'éteindre et rallumer la souris quand ça arrive. Pour une meilleure solution, il faut que j'explore les articles sur le sujet :

DNS non trafiqué

Jusqu'à présent j'utilisais le DNS fourni par DHCP, donc le DNS de mon fournisseur Internet. Mais je souhaite utiliser un DNS non trafiqué. Dans /etc/systemd/resolved.conf.d je lis :

# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file (or a copy of it placed in
# /etc/ if the original file is shipped in /usr/), or by creating "drop-ins" in
# the /etc/systemd/resolved.conf.d/ directory. The latter is generally
# recommended.

et

[Resolve]
# Some examples of DNS servers which may be used for DNS= and FallbackDNS=:
# Cloudflare: 1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com 2606:4700:4700::1111#cloudflare-dns.com 2606:4700:4700::1001#cloudflare-dns.com
# Google:     8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.google 2001:4860:4860::8844#dns.google
# Quad9:      9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net
#DNS=
#FallbackDNS=1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google 2606:4700:4700::1111#cloudflare-dns.com 2620:fe::9#dns.quad9.net 2001:4860:4860::8888#dns.google

En lançant la commande journalctl -u systemd-resolved -f je me rends compte que mon système est mal configuré car :

mar 29 19:27:12 ryzen systemd-resolved[922]: /etc/systemd/resolved.conf.d/mdns.conf:1: Assignment outside of section. Ignoring.

J'ajoute donc une section [Resolve] à /etc/systemd/resolved.conf.d/mdns.conf. En outre, je crée /etc/systemd/resolved.conf.d/dns.conf :

[Resolve]
# Some examples of DNS servers which may be used for DNS= and FallbackDNS=:
# Cloudflare: 1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com 2606:4700:4700::1111#cloudflare-dns.com 2606:4700:4700::1001#cloudflare-dns.com
# Google:     8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.google 2001:4860:4860::8844#dns.google
# Quad9:      9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net
DNS=1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google 2606:4700:4700::1111#cloudflare-dns.com 2620:fe::9#dns.quad9.net 2001:4860:4860::8888#dns.google

Je remarque qu'avant même mon changement, 1.1.1.1 était déjà utilisé en fallback :

mar 29 20:44:27 ryzen systemd-resolved[922]: Switching to fallback DNS server 1.1.1.1#cloudflare-dns.com.

Toutefois je souhaite à présent utiliser ce serveur DNS en premier. Après ystemctl restart systemd-resolved je n'obtiens cependant pas la même résolution avec ping et dig. Je ne sais pas si mon changement est suffisant :

# systemd-resolve --status
Global
           Protocols: +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
    resolv.conf mode: stub
  Current DNS Server: 1.1.1.1#cloudflare-dns.com
         DNS Servers: 1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google 2606:4700:4700::1111#cloudflare-dns.com
                      2620:fe::9#dns.quad9.net 2001:4860:4860::8888#dns.google
Fallback DNS Servers: 1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google 2606:4700:4700::1111#cloudflare-dns.com
                      2620:fe::9#dns.quad9.net 2001:4860:4860::8888#dns.google

Link 2 (enp14s0)
    Current Scopes: none
         Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 4 (wlan0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.1.1
       DNS Servers: 192.168.1.1 2a01:cb15:a0:e100:ca99:b2ff:fe37:cba0 fe80::82cc:9cff:fee5:274b

Je ressaie en ajoutant un UseDNS=false dans /etc/systemd/network/80-wifi-station.network :

[Match]
Type=wlan
WLANInterfaceType=station

[Network]
DHCP=yes

[DHCP]
UseDNS=false

Un simple systemctl restart systemd-networkd ne résoud pas le problème de résolution. Le status est pourtant changé mais si l'adresse IPv4 du serveur DNS a disparu, il n'en est rien de l'IPv6 :

# resolvectl
Global
           Protocols: +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
    resolv.conf mode: stub
  Current DNS Server: 1.1.1.1#cloudflare-dns.com
         DNS Servers: 1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google 2606:4700:4700::1111#cloudflare-dns.com 2620:fe::9#dns.quad9.net
                      2001:4860:4860::8888#dns.google
Fallback DNS Servers: 1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google 2606:4700:4700::1111#cloudflare-dns.com 2620:fe::9#dns.quad9.net
                      2001:4860:4860::8888#dns.google

Link 2 (enp14s0)
    Current Scopes: none
         Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 4 (wlan0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 2a01:cb15:a0:e100:ca99:b2ff:fe37:cba0
       DNS Servers: fe80::82cc:9cff:fee5:274b 2a01:cb15:a0:e100:ca99:b2ff:fe37:cba0

Pour me débarasser du DNS IPv6 j'ajoute :

[DHCPv6]
UseDNS=false

Mais il reste encore un serveur DNS qui ne vient pas de moi ! Selon la documentation Arch Linux de systemd-resolved des problèmes pourraient pourraient être causés par le manque de Domains=~. dans /etc/systemd/resolved.conf.d/dns_servers.conf (je renomme le fichier pour suivre la documentation). Mais ce n'est pas suffisant, il faut que je me débarasse du DNS en IPv6. C'est faisable par la commande en ligne resolvectl dns wlan0 1.1.1.1, mais il faut que je trouve comment le faire automatiquement. Comme j'ai indiqué de ne pas utilisé ce qui vient par DHCP, je suppose que ça vient par une autre voie, c'est-à-dire IPv6 Router Advertisement.

Je crois que j'ai finalement trouvé comment totalement ignorer le DNS de mon FAI :

[Match]
Type=wlan
WLANInterfaceType=station

[Network]
DHCP=yes

[DHCPv4]
UseDNS=false

[DHCPv6]
UseDNS=false

[IPv6AcceptRA]
UseDNS=false

Enfin des petites commandes intéressantes pour gérer les caches :

# resolvectl flush-caches
# resolvectl statistics
Transactions                                     
                       Current Transactions:    0
                         Total Transactions: 1553
                                                 
Cache                                            
                         Current Cache Size:    0
                                 Cache Hits:  491
                               Cache Misses:  346
                                                 
Failure Transactions                             
                             Total Timeouts:   10
         Total Timeouts (Stale Data Served):    0
                    Total Failure Responses:    0
Total Failure Responses (Stale Data Served):    0
                                                 
DNSSEC Verdicts                                  
                                     Secure:    0
                                   Insecure:    0
                                      Bogus:    0
                              Indeterminate:    0
# resolvectl query archlinux.org
archlinux.org: 2a01:4f9:c010:6b1f::1           -- link: wlan0
               95.217.163.246                  -- link: wlan0

-- Information acquired via protocol DNS in 28.7ms.
-- Data is authenticated: no; Data was acquired via local or encrypted transport: no
-- Data from: network
# resolvectl statistics
Transactions                                     
                       Current Transactions:    0
                         Total Transactions: 1555
                                                 
Cache                                            
                         Current Cache Size:    2
                                 Cache Hits:  491
                               Cache Misses:  348
                                                 
Failure Transactions                             
                             Total Timeouts:   10
         Total Timeouts (Stale Data Served):    0
                    Total Failure Responses:    0
Total Failure Responses (Stale Data Served):    0
                                                 
DNSSEC Verdicts                                  
                                     Secure:    0
                                   Insecure:    0
                                      Bogus:    0
                              Indeterminate:    0

© 2023 Marc Mongenet
Ce document est disponible sous licence CC BY-SA 4.0.
Dernière mise à jour et validation le 30 mars 2024.