1. Performance à attendre des Jeux selon votre Configuration Matérielle
  2. Discord Demande une Mise à Jour non Disponible dans le Répertoire
  3. Configuration du Multiboot avec grub
  4. Accéder à un disque secondaire avec une application FLATPAK
  5. Comment créer une clé bootable depuis Windows
  6. Problème de Performance avec les CPU Intel de 12ᵉ Génération et Plus
  7. Problème de Performance avec BAR ou SAM
  8. Gamemode

Performance à Attendre des Jeux Selon Votre Configuration Matérielle

Si vous avez un CPU Intel de 12ᵉ génération ou plus, soyez attentif au problème du splitlock mitigate, abordé dans le chapitre 6 de cette page.

  1. PC avec GPU AMD ou Intel :

    • Avantage : La plupart des jeux fonctionnent généralement mieux sous Linux que sous Windows, y compris les jeux DirectX 12, excepté pour le Ray Tracing quand il est implémenté avec des technologies de chez Nvidia. Le driver est installé par défaut sur la plupart des distributions, ce qui permet un démarrage immédiat.
    • Exception : Le Ray Tracing est mal optimisé sous Linux, et tous les jeux avec cette fonctionnalité activée auront de meilleures performances sous Windows.
  2. PC avec GPU Nvidia RTX et 16xx :

    • Avantage : Les jeux natifs, utilisant Vulkan, DirectX 11 et les versions DirectX antérieures à DX11 fonctionnent souvent aussi bien, voire mieux, sous Linux que sous Windows.
    • Limitation : À l’heure actuelle, la majorité des jeux DirectX 12 obtiennent de largement meilleures performances en termes de FPS moyens sous Windows (Topic du forum Nvidia sur les performances “terribles” avec DX12), bien que les FPS minimums (1% low) soient parfois, pour certains jeux, plus stables sous Linux.
    • Incompatibilité : Le DLSS 3 n’est pas encore pris en charge sous Linux.
    • Difficulté : L’installation des drivers Nvidia sous Linux peut être complexe. Ils sont moins bien implémentés que les drivers AMD et Intel.

    Enfin, avec des cartes Nvidia plus anciennes (génération Pascal GTX 1000 et antérieures), ne vous attendez pas à de bonnes performances sous DirectX 12 sur Linux.

Conclusion : Le choix du GPU influence fortement l’expérience de jeu sous Linux. Pour les utilisateurs AMD ou Intel, le driver MESA qui les gèrent est préinstallé sur toutes les distributions,les performances sont généralement équivalentes ou meilleures qu’avec Windows au niveau des FPS moyens et très souvent supérieures au niveau des FPS mini, mais ceux qui utilisent des GPU Nvidia doivent s’attendre à des limitations avec DirectX 12, le DLSS 3, une implémentation aléatoires des drivers ainsi que de potentielle Difficulté d’installation et de maintenance.

Discord Demande une Mise à Jour non Disponible dans le Répertoire

Discord refusera de se lancer s’il détecte qu’une mise à jour est disponible, affichant le message suivant : “Must be your lucky day, there’s a new update !” (C’est votre jour de chance, une nouvelle mise à jour est disponible !). Si la version mise à jour n’est pas encore disponible dans les répertoires officiels de votre distribution vous pouvez soit utiliser les flatpak, soit désactiver la vérification de mise à jour.

Pour désactiver la vérification de mise à jour, ajoutez la ligne suivante à ~/.config/discord/settings.json :

nano ~/.config/discord/settings.json
"SKIP_HOST_UPDATE": true

Notez que vous devrez ajouter une virgule supplémentaire après } en raison des exigences du format JSON, par exemple :

{
  "IS_MAXIMIZED": true,
  "IS_MINIMIZED": false,
  "WINDOW_BOUNDS": {
    "x": 2240,
    "y": 219,
    "width": 1280,
    "height": 720
  },
  "SKIP_HOST_UPDATE": true
}

Configuration du Multiboot avec grub

Introduction

Le multiboot est un moyen de démarrer plusieurs systèmes d’exploitation sur un même ordinateur. Dans ce tutoriel, nous allons utiliser GRUB, le gestionnaire de démarrage standard pour de nombreuses distributions Linux, pour configurer un multiboot.

  1. Modifier la Configuration de GRUB :

    Ouvrez un terminal et exécutez la commande suivante pour ouvrir le fichier de configuration de GRUB :

    sudo nano /etc/default/grub
    

Recherchez la ligne contenant # GRUB_DISABLE_OS_PROBER=false et supprimez le caractère # au début de la ligne pour activer la détection automatique d’autres systèmes d’exploitation.

Si vous voulez également que votre grub mémorise le dernier OS lancé, remplacez la ligne GRUB_DEFAULT=0 par GRUB_DEFAULT=saved et ajoutez GRUB_SAVEDEFAULT="true"

Enregistrez les modifications et quittez l’éditeur de texte.

  1. Installer os-prober :

    Utilisez votre gestionnaire de paquets pour installer os-prober, un utilitaire qui permet à GRUB de détecter d’autres systèmes d’exploitation :

    Base Arch :

    sudo pacman -S os-prober
    

    Base Fedora :

    sudo dnf install os-prober
    

    Base Debian/Ubuntu :

    sudo apt install os-prober
    
  2. Exécuter os-prober :

    Exécutez os-prober pour rechercher d’autres systèmes d’exploitation installés sur votre ordinateur :

    sudo os-prober
    
  3. Générer la Configuration de GRUB :

    Utilisez la commande suivante pour générer la configuration de GRUB basée sur les résultats de os-prober :

    Sur base Arch :

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

Sur base Fedora :

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

Sur base Ubuntu :

sudo update-grub

Accéder à un disque secondaire avec une application flatpak

Attention ! Certains Flatpak comme celui de Steam refusent de se lancer si on leur donne accès à tous les dossiers. Il faut donc uniquement donner à Steam Flatpak l’accès aux bibliothèques de jeu.

Le plus simple et d’utiliser Flatseal, on selectionne le flatapk on clique sur image .

Et on ajoute le chemin ou vous montez vos disques durs / SSD secondaires. /media ou /mnt sont recommandés pour cet usage.

image

Il faut fermer Flatseal et redémarrer le Flatpak concerné pour appliquer la modification.


Comment créer une clé bootable depuis Windows

Tuto côté Emmabuntüs : https://emmabuntus.org/installer-emmabuntus-de5/#Avec_loutil_Etcher


Problème de Performance avec les CPU Intel de 12ᵉ Génération et Plus

Contexte

En 2020, le noyau Linux a introduit un détecteur de split-locks (verrous fractionnés). Un split-lock se produit lorsqu’une instruction atomique s’étend sur plusieurs lignes de cache, nécessitant un verrou global du bus. Ces opérations sont coûteuses, prenant au moins mille fois plus de cycles qu’une opération atomique normale. Pour informer les utilisateurs, le détecteur rapportait ces incidents dans les journaux du noyau.

Cependant, à partir de Linux 5.19, les développeurs du noyau ont décidé de ralentir intentionnellement les applications mal conçues qui abusent des split-locks. L’objectif était de “rendre la vie misérable” à ces applications en forçant un accès séquentiel, tout en maintenant la réactivité du reste du système. Bien que cette approche puisse encourager les développeurs open-source à améliorer leur code, elle pose des problèmes pour les logiciels propriétaires ou non maintenus, notamment certains jeux Windows exécutés via Steam Play.

Cas Pratique : God of War

Un exemple notable est le jeu God of War. Les utilisateurs ont signalé des performances extrêmement faibles lors de son exécution sur Linux 5.19 et plus. En investiguant, il a été découvert que le jeu abusait des split-locks, entraînant le ralentissement intentionnel par le noyau. En désactivant la détection des split-locks au démarrage du noyau avec l’option split_lock_detect=off, les performances du jeu s’amélioraient considérablement.

Solution Apportée dans Linux 6.2+

Pour remédier à ces problèmes, Linux 6.2 a introduit un nouveau paramètre split_lock_mitigate via sysctl. Ce paramètre permet aux utilisateurs de contrôler plus facilement le comportement du noyau vis-à-vis des split-locks sans nécessiter de redémarrage.

  • split_lock_mitigate=1 (par défaut) : Active le mode “misère”, ralentissant les applications utilisant des split-locks.
  • split_lock_mitigate=0 : Désactive le ralentissement, ne laissant qu’un avertissement dans le journal du noyau.

Cette flexibilité permet, par exemple, à des outils comme Feral’s GameMode ou des distributions spécifiques au gaming (comme Bazzite ou Nobara) d’ajuster ce paramètre.

Options pour Désactiver la Détection des Split-Locks

Option (a) : Modification Permanente des Paramètres au Démarrage

Si vous souhaitez désactiver la détection des split-locks de manière permanente :

  1. Créer un fichier de configuration :

    echo "kernel.split_lock_mitigate=0" | sudo tee /etc/sysctl.d/99-split-lock.conf
    
  2. Redémarrer le Système.

  3. Vérifier la Désactivation :

    sysctl -a | grep split
    

    Vous devriez voir que kernel.split_lock_mitigate est défini sur 0.

Option (b) : Désactivation Temporaire avec sysctl

Pour une désactivation temporaire (effective immédiatement mais nécessitant une réapplication après chaque redémarrage) :

  1. Exécuter la Commande :
    sudo sysctl kernel.split_lock_mitigate=0
    
  2. Vérifier la Désactivation :
    sysctl -a | grep split
    

Option (c) : Utiliser GameMode

GameMode peut automatiser la désactivation des split-locks pendant les sessions de jeu. Par défaut, il est configuré pour gérer cette option.

  • Configuration de GameMode : Le fichier de configuration par défaut de GameMode (ligne 42) peut être modifié si nécessaire. Voir le dépôt officiel : gamemode.ini.

  • Pour en savoir plus, consultez le chapitre sur GameMode.

Liens utiles :

Résultats :

Après avoir désactivé la détection de verrouillage fractionné, vous devriez remarquer une amélioration significative des performances de votre jeu. Si vous avez suivi ces étapes correctement, votre jeu devrait maintenant fonctionner de manière fluide et sans les chutes de FPS précédentes. Sur ma machine, dans par exemple dans God Of War je passe de 40 fps à 150fps.

Problème de performance avec BAR ou SAM :

Certains jeux perdent énormément de performances si on ne désactive pas SAM / BAR avec l’option de lancement VKD3D_CONFIG=no_upload_hvv. Voici le lien vers l’issue pour suivre l’évolution du bug et voir les jeux concernés, entre autres :

  • World of Warcraft
  • Uncharted 4
  • Spider-Man / Spider-Man Miles Morales
  • Resident Evil 2 Remake, Resident Evil Village, Dragon’s Dogma 2 et autres jeux capcom récents
  • AoE 4
  • Death Stranding

Gamemode

Vidéo de présentation

Traduction de la présentation du github :

GameMode est une combinaison démon/bibliothèque pour Linux qui permet aux jeux de demander qu’un ensemble d’optimisations soit temporairement appliqué au système d’exploitation hôte et/ou à un processus de jeu.

GameMode a été conçu principalement comme une solution temporaire aux problèmes avec les gouverneurs d’économie d’énergie ou à la demande des processeurs Intel et AMD, mais il héberge désormais une gamme de fonctionnalités et de configurations d’optimisation.

Actuellement, GameMode inclut la prise en charge des optimisations suivantes :

  • Gouverneur CPU
  • Priorité d’E/S
  • Optimisation des processus
  • Planificateur de noyau (SCHED_ISO)
  • Inhibition de l’économiseur d’écran (désactive la mise en veille)
  • Mode de performance GPU (NVIDIA et AMD), overclocking GPU (NVIDIA)
  • Affectation ou mise en veille des cœurs CPU
  • Scripts personnalisés

Les paquets GameMode sont disponibles pour Ubuntu, Debian, Solus, Arch, Gentoo, Fedora, OpenSUSE, Mageia et peut-être plus.

On l’installe par exemple en faisant : sudo apt install gamemode sur base Debian/Ubuntu. Il faut ensuite s’ajouter au groupe en faisant sudo usermod -aG gamemode $(whoami) puis on peut vérifier avec gamemoded -tque tout c’est bien passsé.

[!WARNING] GameMode est très utile sur les distributions non orientées gaming. Cependant, sur des distributions comme Bazzite ou CachyOS, il est déconseillé car il peut entrer en conflit avec les optimisations déjà présentes.

gamemode

Sur Lutris c’est une case à cocher.

gamemode1

Pensez bien à sauvegarder !

Installation de GameMode sur ArchLinux

[!WARNING] La plupart des distributions configurent le gamemode automatiquement. Cependant, sur Arch, les distributions basées sur Arch, et peut-être d’autres distributions DIY (Do It Yourself), vous devrez le configurer vous-même. Consultez le wiki.archlinux.org/title/Gamemode : Installez les paquets, ajoutez-vous au groupe gamemode, et créez le fichier de configuration. Sinon, GameMode ne fera rien.

Étape 1 : Installation des paquets

Pour commencer, installez les paquets nécessaires gamemode et lib32-gamemode en utilisant pacman :

sudo pacman -S gamemode lib32-gamemode

Étape 2 : Ajout de l’utilisateur au groupe gamemode

Ajoutez votre utilisateur au groupe gamemode pour permettre au démon de GameMode de modifier le gouverneur du CPU et la priorité des processus :

sudo usermod -aG gamemode $(whoami)

Étape 3 : Configuration de GameMode

GameMode est configuré à l’aide de fichiers gamemode.ini. Ceux-ci sont lus et fusionnés dans l’ordre suivant :

  1. /etc/gamemode.ini pour la configuration système.
  2. $XDG_CONFIG_HOME/gamemode.ini pour la configuration utilisateur locale.
  3. ./gamemode.ini pour la configuration locale au répertoire.

Exemple de configuration

Pour créer un fichier de configuration, par exemple dans /etc/gamemode.ini, utilisez l’exemple fourni par Feral Interactive :

sudo nano /etc/gamemode.ini

Copiez et collez l’exemple de configuration disponible sur le GitHub de Feral Interactive. N’oubliez pas de sauvegarder le fichier une fois les modifications terminées.


Dernier import depuis glf-astuces le 11/10/2024 par Darkone Linux