- Performance à attendre des Jeux selon votre Configuration Matérielle
- Discord Demande une Mise à Jour non Disponible dans le Répertoire
- Configuration du Multiboot avec grub
- Accéder à un disque secondaire avec une application FLATPAK
- Comment créer une clé bootable depuis Windows
- Problème de Performance avec les CPU Intel de 12ᵉ Génération et Plus
- Problème de Performance avec BAR ou SAM
- 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.
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.
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.
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.
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
Exécuter
os-prober
:Exécutez
os-prober
pour rechercher d’autres systèmes d’exploitation installés sur votre ordinateur :sudo os-prober
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 .
Et on ajoute le chemin ou vous montez vos disques durs / SSD secondaires. /media ou /mnt sont recommandés pour cet usage.
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 :
Créer un fichier de configuration :
echo "kernel.split_lock_mitigate=0" | sudo tee /etc/sysctl.d/99-split-lock.conf
Redémarrer le Système.
Vérifier la Désactivation :
sysctl -a | grep split
Vous devriez voir que
kernel.split_lock_mitigate
est défini sur0
.
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) :
- Exécuter la Commande :
sudo sysctl kernel.split_lock_mitigate=0
- 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 :
- Discussion sur GitHub - Problème de détection de verrouillage fractionné
- Article sur Phoronix - Impact du verrouillage fractionné sur les jeux Linux
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
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 -t
que 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.
Sur Lutris c’est une case à cocher.
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 :
/etc/gamemode.ini
pour la configuration système.$XDG_CONFIG_HOME/gamemode.ini
pour la configuration utilisateur locale../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