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.
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 | - |
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.
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
.
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
.
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.
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.
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.
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
.
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.
/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
.
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.
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
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
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:
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.
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.
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.
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.
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
.
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.
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.
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.
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.
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 :
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 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.
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.
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.
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.
L'application Skanlite trouve automatiquement deux scanners et je décrouvre :
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.
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.
Après quelques semaines, mon PC est globalement configuré. Réseau OK, image OK, son OK, imprimante OK, scanner OK.
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 :
Depuis que ma souris est sur le port USB à l'avant de mon PC, plus de problème.
Je me dis qu'une différence de ce port peut être la version USB.
J'installe lshw
pour analyser tout cela en détail :
*-pci:6 description: PCI bridge produit: 600 Series Chipset PCIe Switch Downstream Port fabriquant: Advanced Micro Devices, Inc. [AMD] identifiant matériel: c information bus: pci@0000:03:0c.0 version: 01 bits: 32 bits horloge: 33MHz fonctionnalités: pci msi pm pciexpress normal_decode bus_master cap_list configuration: driver=pcieport ressources: irq:24 mémoire:80400000-804fffff *-usb description: USB controller produit: 600 Series Chipset USB 3.2 Controller fabriquant: Advanced Micro Devices, Inc. [AMD] identifiant matériel: 0 information bus: pci@0000:15:00.0 version: 01 bits: 64 bits horloge: 33MHz fonctionnalités: msi msix pm pciexpress xhci bus_master cap_list configuration: driver=xhci_hcd latency=0 ressources: irq:24 mémoire:80400000-80407fff *-usbhost:0 produit: xHCI Host Controller fabriquant: Linux 6.9.3-arch1-1 xhci-hcd identifiant matériel: 0 information bus: usb@3 nom logique: usb3 version: 6.09 fonctionnalités: usb-2.00 configuration: driver=hub slots=12 speed=480Mbit/s *-usb:2 description: Clavier produit: USB Receiver fabriquant: Logitech identifiant matériel: 6 information bus: usb@3:6 version: 12.09 fonctionnalités: usb-2.00 configuration: driver=usbhid maxpower=98mA speed=12Mbit/s *-input produit: Logitech M705 identifiant matériel: 0 nom logique: input13 nom logique: /dev/input/event4 nom logique: /dev/input/mouse0 fonctionnalités: usb
Après avoir déplacé le récepteur sur un port USB à l'arrière du PC, la souris n'apparaît plus sous le récepteur dans la hiérarchie. Elle apparaît seule en fin de liste :
*-input:4 produit: Logitech M705 identifiant matériel: 8 nom logique: input27 nom logique: /dev/input/event4 nom logique: /dev/input/mouse0 fonctionnalités: usb
Rien de concluant. Une autre commande est usb-devices
,
qui liste notamment :
T: Bus=03 Lev=01 Prnt=03 Port=05 Cnt=01 Dev#= 8 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c52b Rev=12.09 S: Manufacturer=Logitech S: Product=USB Receiver C: #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=98mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=8ms I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=2ms I: If#= 2 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid E: Ad=83(I) Atr=03(Int.) MxPS= 32 Ivl=2ms
Plus simplement, le Centre d'informations de KDE liste aussi les périphériques USB. Et comme il se rafraîchit automatiquement, il m'a permis de vérifier facilement qu'un périphérique USB 2 ou USB 3 dans le même port n'apparaît pas sous le même xHCI Host Controller.
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
Je me demande si mon processeur est réglé pour donner un maximum de performances.
J'installe turbostat
pour voir. Il m'apprend ceci :
turbostat version 2024.04.08 - Len Brown <lenb@kernel.org> Kernel command line: BOOT_IMAGE=/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 CPUID(0): AuthenticAMD 0x10 CPUID levels CPUID(1): family:model:stepping 0x19:61:2 (25:97:2) microcode 0x0 CPUID(0x80000000): max_extended_levels: 0x80000028 CPUID(1): SSE3 MONITOR - - - TSC MSR - HT - CPUID(6): APERF, No-TURBO, No-DTS, No-PTM, No-HWP, No-HWPnotify, No-HWPwindow, No-HWPepp, No-HWPpkg, No-EPB CPUID(7): No-SGX No-Hybrid cpu0: cpufreq driver: amd-pstate-epp cpu0: cpufreq governor: powersave /dev/cpu_dma_latency: 2000000000 usec (default) current_driver: acpi_idle current_governor: menu current_governor_ro: menu cpu0: POLL: CPUIDLE CORE POLL IDLE cpu0: C1: ACPI FFH MWAIT 0x0 cpu0: C2: ACPI IOPORT 0x414 cpu0: C3: ACPI IOPORT 0x415 RAPL: 234 sec. Joule Counter Range, at 280 Watts cpu0: MSR_RAPL_PWR_UNIT: 0x000a1000 (1.000000 Watts, 0.000015 Joules, 0.000977 sec.)
Comme je l'avais déjà remarqué je ne sais plus où, le gouverneur de fréquence
powersave est appliqué. Après, une façon plus simple de voir les gouverneurs
et fréquences est de consulter les fichiers du répertoires
/sys/devices/system/cpu/cpu*/cpufreq/
.
Je ne comprends toutefois pas vraiment les résultats qui donnent
me donnent powersave dans scaling_governor
et performance dans energy_performance_preference
.
J'ai essayé les commandes
echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
et
watch cat /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_cur_freq
données par la documentation Arch Linux
CPU frequency scaling
mais sans effet.
La configuration par défaut de /etc/security/faillock.conf
est
deny = 3
avec fail_interval = 900
et unlock_time = 600
et root_unlock_time = 900
. C'est-à-dire que
n'importe qui ayant accès à la console peut causer un deni de service de 10 minutes...
Sans que j'ai le souvenir de l'avoir configuré, KDE accède à mes emails. Cela me déplait, je veux que seul mon client Thunderbird le fasse, et seulement quand il est en marche. Peut-être est-ce un reste de mon essai avec le catastrophique KMail. Je n'ai pourtant aucun compte en ligne dans la configuration système. Je lis qu'Akonadi est utilisé par KMail pour enregistrer des informations personnelles. Je pense pouvoir me passer d'Akonadi. Pour commencer, il n'a pas l'air de bien fonctionner :
# akonadictl status QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' D-Bus session bus is not available! KCrash: Application 'akonadictl' crashing... crashRecursionCounter = 2 Abandon (core dumped) #
À tout hasasrd, j'ai désinstallé kde-pim
qui a entrainé 18 paquets avec lui :
# pacman -R kde-pim vérification des dépendances… :: plasma-workspace peut nécessiter kdepim-addons: displaying PIM events in the calendar Paquets (19) akonadi-calendar-tools-24.05.1-1 akonadi-import-wizard-24.05.1-1 akonadiconsole-24.05.1-1 akregator-24.05.1-1 grantlee-editor-24.05.1-1 itinerary-24.05.1-1 kaddressbook-24.05.1-1 kalarm-24.05.1-1 kdepim-addons-24.05.1-1 kleopatra-24.05.1-1 kmail-account-wizard-24.05.1-1 knotes-24.05.1-1 kontact-24.05.1-1 korganizer-24.05.1-1 mbox-importer-24.05.1-1 merkuro-24.05.1-1 pim-data-exporter-24.05.1-1 pim-sieve-editor-24.05.1-1 zanshin-24.05.1-1 Taille totale supprimée : 104.35 MiB
Ensuite je peux supprimer kdepim-runtime
et akonadi
.
# pacman -R kdepim-runtime vérification des dépendances… Paquets (1) kdepim-runtime-24.05.1-1 Taille totale supprimée : 16.24 MiB ... # pacman -R akonadi vérification des dépendances… Paquets (1) akonadi-24.05.1-1 Taille totale supprimée : 4.89 MiB ...
Pour utiliser mon PC Arch Linux comme destination de backup de mon NAS, j'ai d'abord cru devoir configurer rsync en mode démon. Mais finalement j'ai trouvé dans Synology Hyper Backup – Sauvegarde vers FreeNAS comment faire simplement : après avoir (logiquement) choisi le type de serveur serveur compatible rsync et le chiffrement du transfert, il faut directement taper le chemin de destination dans le menu déroulant Module de sauvegarde.
J'ai depuis longtemps des fichiers vidéo que j'aimerais
convertir sans perte dans un format plus courant.
Il s'agit notamment de fichiers
AVCHD
d'extension de nom de fichier *.MTS
.
Accessoirement, quelques vidéos devront en plus subir une rotation de 90 degrés.
Il est donc temps que je me plonge un peu sérieusement dans le manuel FFMPEG.
Dans mon cas, j'aurai toujours un fichier en entrée (option -i
)
et un fichier en sortie (toute URL qui ne correspond pas à une option).
Il se peut cependant que je veuille manipuler les flux des fichiers (option
-map
). Les règles de sélection des flux sont complexes. En gros,
soit l'on n'utilise pas -map
et FFMPEG choisit, pour chaque
type de flux en sortie, le flux en entrée de même type de meilleure qualité
(débit, nombre de canaux). L'option -map
doit se trouver dans la
ligne de commande avant l'URL de sortie à laquelle elle s'applique.
Les abréviations des flux sont v
pour vidéo,
a
pour l'audio, et s
pour les sous-titres.
Enfin, avec -vn
, -an
et -sn
,
le flux concerné est ignoré.
Une fois les flux sélectionnés, FFMPEG choisi
pour chaque stream le codec enregistré pour le muxer de sortie, ou le
codec donné par l'option -codec
abrégée -c
.
Le paramêtre copy
permet de sauter les étapes de décodage
et d'encodage. Exactement ce qu'il me faut.
En pratique, des options comme -map 1:a -c:a copy
signifient
que seuls les flux audio de la seconde entrée (index 1) sont sélectionnés
et il n'y a pas de décodage-encodage de l'audio.
Mon premier fichier à convertir a une extension de nom en .mpg
et les propriétés suivantes :
$ file v.mpg v.mpg: MPEG sequence, v2, program multiplex $ ffprobe v.mpg ffprobe version n6.1.1 Copyright (c) 2007-2023 the FFmpeg developers built with gcc 13.2.1 (GCC) 20230801 configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-frei0r --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libharfbuzz --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librsvg --enable-librubberband --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-vapoursynth --enable-version3 --enable-vulkan libavutil 58. 29.100 / 58. 29.100 libavcodec 60. 31.102 / 60. 31.102 libavformat 60. 16.100 / 60. 16.100 libavdevice 60. 3.100 / 60. 3.100 libavfilter 9. 12.100 / 9. 12.100 libswscale 7. 5.100 / 7. 5.100 libswresample 4. 12.100 / 4. 12.100 libpostproc 57. 3.100 / 57. 3.100 Input #0, mpeg, from 'v.mpg': Duration: 00:09:10.26, start: 0.794867, bitrate: 5746 kb/s Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg, top first), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 12.50 tbr, 90k tbn Side data: cpb: bitrate max/min/avg: 6000000/0/0 buffer size: 1835008 vbv_delay: N/A Stream #0:1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 224 kb/s
Ma première tentative de conversion donne des avertissements :
$ ffmpeg -i v.mpg -c:v copy -an v.mp4 ffmpeg version n6.1.1 Copyright (c) 2000-2023 the FFmpeg developers built with gcc 13.2.1 (GCC) 20230801 configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-frei0r --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libharfbuzz --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librsvg --enable-librubberband --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-vapoursynth --enable-version3 --enable-vulkan libavutil 58. 29.100 / 58. 29.100 libavcodec 60. 31.102 / 60. 31.102 libavformat 60. 16.100 / 60. 16.100 libavdevice 60. 3.100 / 60. 3.100 libavfilter 9. 12.100 / 9. 12.100 libswscale 7. 5.100 / 7. 5.100 libswresample 4. 12.100 / 4. 12.100 libpostproc 57. 3.100 / 57. 3.100 Input #0, mpeg, from 'v.mpg': Duration: 00:09:10.26, start: 0.794867, bitrate: 5746 kb/s Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg, top first), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 12.50 tbr, 90k tbn Side data: cpb: bitrate max/min/avg: 6000000/0/0 buffer size: 1835008 vbv_delay: N/A Stream #0:1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 224 kb/s Output #0, mp4, to 'v.mp4': Metadata: encoder : Lavf60.16.100 Stream #0:0: Video: mpeg2video (Main) (mp4v / 0x7634706D), yuv420p(tv, bt470bg, top first), 720x576 [SAR 16:15 DAR 4:3], q=2-31, 25 fps, 12.50 tbr, 90k tbn Side data: cpb: bitrate max/min/avg: 6000000/0/0 buffer size: 1835008 vbv_delay: N/A Stream mapping: Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help [mp4 @ 0x618de0173940] Non-monotonic DTS in output stream 0:0; previous: 3600, current: 3600; changing to 3601. This may result in incorrect timestamps in the output file. [mp4 @ 0x618de0173940] Non-monotonic DTS in output stream 0:0; previous: 10800, current: 10800; changing to 10801. This may result in incorrect timestamps in the output file. [mp4 @ 0x618de0173940] Non-monotonic DTS in output stream 0:0; previous: 18000, current: 18000; changing to 18001. This may result in incorrect timestamps in the output file. ... [mp4 @ 0x618de0173940] Non-monotonic DTS in output stream 0:0; previous: 49496400, current: 49496400; changing to 49496401. This may result in incorrect timestamps in the output file. [mp4 @ 0x618de0173940] Non-monotonic DTS in output stream 0:0; previous: 49503600, current: 49503600; changing to 49503601. This may result in incorrect timestamps in the output file. [out#0/mp4 @ 0x618de0171340] video:364122kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.076391% size= 364400kB time=00:09:10.12 bitrate=5426.4kbits/s speed=2.03e+03x
Il faut savoir que DTS signifie Decoding Time Stamp, et ça indique dans quel ordre les images doivent décodées (les P avant les B pour faire simple). D'après ChatGPT, c'est le standard ISO/IEC 13818-1:2000 qui correspond à MPEG sequence, v2, program multiplex. Et toujours d'après ChatGPT, la section 2.4.2.3 précise que les valeurs consécutives des DTS doivent être plus grandes ou égales. Dans MPEG-4 c'est plus compliqué, avec une Decoding Time to Sample Box (stts) et une Composition Time to Sample Box (ctts), mais selon ChatGPT il serait aussi permis d'avoir des DTS égaux. Ce n'est cependant pas l'avis de FFMPEG.
Accessoirement, je remarque aussi que le fichier original débute à 0.794867 au lieu de 0 comme le fichier converti. Selon des réponses détaillées sur Stack Overflow ce n'est pas inquiétant.
La commande ffprobe
simple ne le montre pas clairement, mais cette
vidéo est entrelacée. L'option -show_streams
permet de le voir
et affiche pour cette vidéo field_order=tt qui signifie selon
la documentation de ffprobe
en ligne : Interlaced video, top field coded and displayed first.
Mis à part les avertissements, la conversion en conteneur MP4 fonctionne bien. Les avertissements peuvent donc être ignorés pour ce que j'en ai vu. En revanche la simple conversion de conteneur ne suffit pas à rendre le fichier vidéo compatible avec les navigateurs ; c'est le codec MPEG-2 qui pose problème.
Il est possible de trivialement convertir le fichier avec
ffmpeg -i v.mpg v.mp4
, mais l'entrelacement devient très visible.
La commande ffmpeg -i input.mpg -c:v libx264 -x264opts tff=1 -flags +ilme+ildct -an output.mp4
donne
En affichant les ports TCP ouverts en écoute de mon système, j'ai vu kdeconnectd :
# ss --numeric --tcp --listen -p State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 4096 127.0.0.54:53 0.0.0.0:* users:(("systemd-resolve",pid=1032,fd=21)) LISTEN 0 4096 0.0.0.0:5355 0.0.0.0:* users:(("systemd-resolve",pid=1032,fd=12)) LISTEN 0 4096 127.0.0.1:631 0.0.0.0:* users:(("cupsd",pid=1792,fd=8)) LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=1032,fd=19)) LISTEN 0 4096 [::1]:631 [::]:* users:(("cupsd",pid=1792,fd=7)) LISTEN 0 4096 [::]:5355 [::]:* users:(("systemd-resolve",pid=1032,fd=14)) LISTEN 0 50 *:1716 *:* users:(("kdeconnectd",pid=1772,fd=24))
Je me suis dit que kdeconnectd
vient du paquet kdeconnect
qui a été installé avec le groupe de paquets
kde-applications
ou kde-network
.
Peu importe, d'après ce que je lis des différences entre
groupe de paquets et métapaquet,
les groupes ne servent qu'à donner un raccourci pour (dé)installer un groupe de paquets,
mais ils n'ont pas d'existence autrement. Alors qu'un métapaquet installé surveille ses dépendances.
Bref, j'ai supprimé le paquet kdeconnect
, mais ça n'a pas supprimé kdeconnectd
de la liste des ports ouverts. Après un redémarrage, c'est cependant réglé.
© 2023, 2024 Marc Mongenet
Ce document est disponible sous licence CC BY-SA 4.0.
Dernière mise à jour et
validation le 26 juin 2024.