J'ai cassé mon système, chef !

En dépit de tous les efforts des développeurs, votre OS peut parfois se retrouver dans des situations pas franchement agréables où rien de marche comme vous le souhaiter. Pour régler cela, le Comptoir vous propose une petite listes des problèmes déjà rencontrés (soit en commentaire, soit d'expérience) ainsi que leur solution.

 

J’ai une Radeon HD 7790/un SSD très rapide et ça ne marche ppaaaaassss

Si vous avez un GPU AMD d’ancienne génération (Sea Islands a.k.a. Radeon HD 8000 ou Southern Islands a.k.a Radeon HD 700), le support Vulkan est incomplet, ce qui se traduira par plus de bugs en jeu, mais surtout la nécessité d’activer la fonctionnalité par un argument du noyau, c’est-à-dire une indication donnée à Linux au moment de son démarrage.

 

De plus si vous avez une carte graphique dédiée et un SSD, il est possible que le chargement de Linux soit tellement rapide que le pilote graphique n’ait pas le temps de se lancer, résultant sur un écran noir. De manière assez étrange, la résolution de ce bug est identique au problème précédent : rajouter les pilotes requis dans l’environnement de pré-boot afin que l’initialisation se déroule au plus tôt possible.

 

Pour ce faire, il faudra sortir mousepad, l’éditeur de texte par défaut de Manjaro. Sortez la console, et tapez :

 

sudo mousepad /etc/mkinitcpio.conf

 

Ce qui signifie :

  • sudo : mot magique permettant d’exécuter la commande suivante en tant qu’administrateur.
  • mousepad : utilitaire d’édition de texte en fenestré sur Manjaro XFCE
  • /etc/mkinitcpio.conf : le fichier à éditer, en l’occurrence celui gérant la configuration de l’image de démarrage

 

La console vous demande alors votre mot de passe : rentrez-le ; un éditeur de texte s’ouvre alors, dans lequel vous pouvez enregistrer sans souci (cela n’aurait pas été le cas sans sudo !).

 

La console... mais un éditeur de texte classique ! [cliquer pour agrandir]

 

Éditez la ligne MODULES="", pour la remplacer par

  • MODULES=(amdgpu radeon), si vous avez une carte AMD série Radeon HD 7000 ou 8000
  • MODULES=(amdgpu), si vous avez une carte AMD plus récente
  • MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm), si vous avez une carte NVIDIA
  • MODULES=(i915), si vous avez un iGPU Intel

Une fois cette opération effectuée, sauvegardez. Il faut ensuite régénérer l’image de démarrage pour prendre en compte les modifications, une étape qui s’effectue, une fois encore, par la console.

 

sudo mkinitcpio -P

 

Pour la décomposition habituelle :

  • sudo : mot magique vous élevant au rang d’administrateur (superutilisateur)
  • mkinitcpio : mise à jour de l’image de boot
  • -P : reconstruit l'image de boot pour tous les Presets disponibles, c'est-à-dire pour votre version actuelle du noyau

 

Si vous avez une Radeon HD 7790, une ultime étape est nécessaire : éditer le fichier de configuration de grub, votre bootloader, pour activer le support Vulkan de ces cartes. Retour à la console (hé oui, le fichier est, une fois encore, accessible uniquement en administrateur), et tapez :

 

sudo mousepad /etc/default/grub

 

Bis repetita de l’opération précédente, l’éditeur de texte s’ouvre, cette fois-ci sur un fichier un peu plus long. Repérez la ligne GRUB_CMDLINE_LINUX_DEFAULT="quiet apparmor=1 security=apparmor udev.log_priority=3" (ligne 5). Il faut lui ajouter radeon.si_support=0 amdgpu.si_support=1  pour les Southern Islands, et radeon.cik_support=0 amdgpu.cik_support=1 pour les Sea Islands.

 

Après modification, la ligne doit ressembler à cela :

GRUB_CMDLINE_LINUX_DEFAULT="quiet apparmor=1 security=apparmor udev.log_priority=3 radeon.si_support=0 amdgpu.si_support=1".

 

Dernière étape, il faut régénérer la configuration de Grub, qui ne lit pas directement le fichier que vous avez modifié (ce serait trop simple !). Pour cela... hé oui, console !

 

sudo grub-mkconfig -o /boot/grub/grub.cfg

 

Qui signifie, en français :

  • sudo : mot magique déjà vu lors de la mise en place du mot de passe root.
  • grub-mkconfig : génère l’image de configuration de grub
  • -o : opération à effectuer, ici output, soit « fichier de sortie »
  • /boot/grub/grub.cfg : « vrai » fichier de configuration de grub, autogénéré

Notez que les changements (et ainsi, les éventuels problèmes) ne se verront qu’après reboot : croisez bien vos doigts !

 

Bibliothèques Vulkan

La dernière étape de la partie "installation" de ce tutoriel consitait simplement à installer les bibliothèques Vulkan nécessaires à DXVK, et donc à Proton dans sa configuration de base. Comment cela fonctionne-t-il en console ? Rien de bien différent :

 

sudo pacman -S PACKETS

 

Cassons-la ensemble mieux comprendre son utilité :

  • sudo : mot magique déjà vu lors de la mise en place du mot de passe root.
  • pacman : commande servant à la gestion des paquets. Pour mettre à jour, installer, désinstaller des bibliothèques, des packs de polices, des logiciels, ou n’importe quoi qui vient se greffer au système, ce sera pacman (Pacace Manager) qui tournera en arrière plan, même si vous ne le voyez pas directement.
  • -S : ordre donné à pacman, ici, installer un paquet
  • PACKETS : noms des paquets à installer, ici les bibliothèques Vulkan pour les architectures x86_64 (par défaut) et en 32-bit (i386), le driver et les utilitaires permettant de vérifier la présence et le support de l’API de Khronos par les pilotes. Selon votre GPU, cette partie sera à modifier : tapez
    • amdvlk lib32-amdvlk vulkan-mesa-layers vulkan-radeon vulkan-tools lib32-vulkan-radeon lib32-vulkan-mesa-layers dans le cas d’une carte AMD
    • vulkan-mesa-layers vulkan-intel vulkan-tools lib32-vulkan-intel lib32-vulkan-mesa-layers pour une carte Intel
    • vulkan-tools nvidia-utils lib32-nvidia-utils pour une carte NVIDIA

 

Redémarrez, puis vérifiez que Vulkan fonctionne correctement avec la commande suivante :

 

vulkaninfo

 

Si jamais vous obtenez :

 

===========
VULKAN INFO
===========

Vulkan Instance Version: 1.2.177

Instance Extensions:
====================
Instance Extensions count = 16
VK_KHR_device_group_creation : extension revision 1
VK_KHR_external_fence_capabilities : extension revision 1
VK_KHR_external_memory_capabilities : extension revision 1
VK_KHR_external_semaphore_capabilities: extension revision 1
...
...
...

 

Et que le message a complètement rempli votre console, félicitations : tout a bien fonctionné, vous pouvez passer à la section suivante. Par contre, si vous vous faites copieusement insulter par la console comme ceci :

 

==========
VULKANINFO
==========

Vulkan Instance Version: 1.2.177

Cannot create Vulkan instance.
/build/vulkan-UL09PJ/vulkan-1.2.177+dfsg1/demos/vulkaninfo.c:768: failed with VK_ERROR_INCOMPATIBLE_DRIVER

 

ou comme cela :

 

===========
VULKAN INFO
===========

Vulkan Instance Version:
1.2.177
ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_intel.so: wrong ELF class: ELFCLASS32
/build/vulkan-UL09PJ/vulkan-1.1.70+dfsg1/demos/vulkaninfo.c:2700: failed with VK_ERROR_INITIALIZATION_FAILED

 

Alors, il y a une couille dans le potage : soit le mauvais driver est installé, soit votre carte graphique n’est pas compatible Vulkan. Dans le premier cas, revérifiez bien que vous avez suivi la procédure d’installation du pilote, que la carte graphique actuellement active est bien la carte graphique avec laquelle vous souhaitez jouer et que vous avez bien redémarré. Dans le second cas, votre ordinateur est très probablement assez âgé... ce qui ne vous empêchera pas de lancer quelques titres !



Les 23 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !