Dans

CachyOS

Présentation de CachyOS

  1. Post-installation et maintenance
  2. Installer des applications
  3. Gaming
  4. Utilisation de sched-ext pour les Schedulers sur Linux

Présentation de CachyOS

CachyOS est une distribution Linux cutting edge (avant-gardiste) basée sur Arch Linux, conçue pour offrir des performances maximales et tester les nouveautés de Linux en avant-première.

Warning

Même si CachyOS gère l’installation et la configuration du système, cela reste une base Arch Linux « cutting edge », c’est-à-dire avant-gardiste. En plus de la base Arch Linux, CachyOS inclut des paquets expérimentaux et bêta pour découvrir des fonctionnalités avant tout le monde. Je la recommande donc plutôt à des utilisateurs familiers de Linux, du terminal, et capables de se débrouiller un minimum seuls. Il est également conseillé de ne pas être réfractaire à l’anglais pour lire leur wiki et de rejoindre leur Discord. C’est une distribution communautaire par excellence, et pour en profiter pleinement, il faut lire, comprendre, et participer aux discussions de la communauté. Peter et Vlad, les développeurs principaux, sont très présents, compétents et sympathiques.

Pour contrebalancer ce warning, je tiens à dire que CachyOS est la meilleure distribution de sa catégorie, vu qu’elle est la seule. Il n’y a pas longtemps, j’ai demandé à Peter ce qu’il pensait d’un patch d’Intel pour les performances inclus dans le noyau 6.12 prévu dans plusieurs mois au moment de la question. Il m’a répondu qu’il avait déjà intégré le patch depuis des semaines sur le noyau de CachyOS. Entre les patches en avance, la compilation des paquets optimisée, etc., aucune distribution ne propose autant d’optimisations que CachyOS et n’est aussi avant-gardiste.

Je vous conseille grandement cette vidéo tournée avec Antiz, DevOps et mainteneur de l’équipe officielle d’Arch Linux. Bien qu’étant une base Arch, CachyOS abandonne le côté DIY (Do It Yourself) en prenant en charge la configuration initiale du système et son évolution à votre place, néanmoins savoir se servir correctement de pacman et comprendre un minimum le fonctionnement de Arch reste nécessaire.

Principaux avantages de CachyOS :

  • Performance : Basée sur Arch Linux, CachyOS utilise le noyau linux-cachyos optimisé avec le scheduler CPU BORE (Burst-Oriented Response Enhancer) pour de bonnes performances et une latence basse. La distribution la plus performante selon les tests de Phoronix
  • Paquets optimisés : Les paquets sont compilés avec les jeux d’instructions x86-64-v3, x86-64-v4 et Zen4, ainsi qu’avec LTO pour améliorer les performances. Les paquets principaux bénéficient également d’optimisations PGO ou BOLT.
  • Plein d’autres optimisations : Profile-sync-daemon, systemd-oomd, bpftune, Ananicy-cpp-rules
  • Choix de l’environnement de bureau : Vous pouvez choisir parmi une variété d’environnements de bureau populaires tels que KDE, GNOME, XFCE, i3WM, Wayfire, LXQT, OpenBox, Cinnamon, UKUI, LXDE, Mate, Budgie, Qtile, Hyprland, et Sway lors du processus d’installation. KDE Plasma reste ma recommandation et le flagship de CachyOS.
  • Installation personnalisable : CachyOS propose deux options d’installation : une version avec interface graphique basée sur Calamares, et une option en ligne de commande pour ceux qui préfèrent une installation sans interface graphique.
  • Navigateur par défaut : Cachy-Browser, basé sur Firefox, inclut des fonctionnalités de sécurité supplémentaires et des performances optimisées, intégrant des patchs du navigateur LibreWolf.
  • CachyOS Hello : Application de gestion des réglages, correctifs, installation de paquets et informations sur CachyOS.

Post-installation et maintenance

  • Faire un tour sur leur wiki : Wiki CachyOS Particulièrement les pages Gaming et General system Tweaks Certains tweaks de ce wiki sont très importants comme la partie Disabling Split Lock Mitigate de general_system_tweaks, indispensable pour jouer dans de bonnes conditions avec un CPU Intel à partir de la génération 12 et plus. Je traite le problème ici en français.
  • Comme vous pouvez le voir, CachyOS Hello fournit tout ce qu’il faut pour mettre à jour et maintenir son système.
cachyoshello1
cachyoshello2

Installer des applications

L’installation d’applications sur CachyOS peut se faire de plusieurs manières, mais il est recommandé d’utiliser les méthodes qui respectent les bonnes pratiques d’Arch Linux pour éviter des problèmes potentiels. Voici les méthodes recommandées :

Utilisation de CachyOS Package Installer

CachyOS fournit une interface graphique dédiée pour faciliter l’installation des applications les plus courantes. CachyOS Package Installer est accessible via CachyOS Hello et permet d’installer rapidement et simplement les logiciels dont vous avez besoin sans avoir à utiliser la ligne de commande.

cachyospkg

Utilisation de Pacman

Pour les utilisateurs plus expérimentés ou ceux qui préfèrent la ligne de commande, Pacman est le gestionnaire de paquets par défaut d’Arch Linux et donc de CachyOS. Vous pouvez installer des applications en utilisant la commande suivante :

sudo pacman -S nom_du_paquet

Remplacez nom_du_paquet par le nom du paquet que vous souhaitez installer. Vous pouvez rechercher des paquets disponibles avec :

pacman -Ss mot_clé

Voir vidéo : Antiz, mainteneur officiel de Arch Linux nous explique les bonnes pratiques à avoir sur Arch

Éviter les interfaces graphiques tierces

Il est fortement déconseillé d’utiliser des interfaces graphiques tierces comme GNOME Software (aussi connu sous le nom de Logiciels) ou KDE Discover pour installer des applications sur CachyOS. Ces outils utilisant packagekit ne sont pas conçus pour gérer les distributions rolling release comme Arch Linux et peuvent causer des problèmes de dépendances ou des conflits de paquets.

Pour plus de détails, vous pouvez consulter les avertissements sur la page Pacman/Tips and tricks du wiki Arch Linux et les discussions sur GitHub.

En résumé, pour une expérience optimale et stable sur CachyOS, privilégiez l’utilisation de CachyOS Package Installer ou de Pacman pour l’installation de vos applications.

Tweaks de CachyOS Hello (personnellement, je ne conseille que Ananicy-cpp-rules) :

  • Profile-sync-daemon est conçu pour gérer les profils de navigateur dans tmpfs et les synchroniser périodiquement sur le disque physique (HDD/SSD). Cela est réalisé grâce à l’utilisation de rsync pour maintenir la synchronisation entre une copie tmpfs et une sauvegarde sur support des profils de navigateur. De plus, psd dispose de plusieurs fonctionnalités de récupération après crash.
  • systemd-oomd est un service qui surveille la mémoire de l’ordinateur pour éviter les pannes dues au manque de mémoire. Il prend des mesures correctives en terminant certains programmes avant que le système ne soit à court de mémoire.
  • bpftune est un outil qui optimise les performances du système en ajustant dynamiquement les paramètres du noyau Linux. Il utilise des programmes eBPF pour surveiller et ajuster les ressources en fonction des besoins.
  • Ananicy-cpp-rules CachyOS est une collection de règles pour Ananicy-cpp. Ananicy-cpp est un démon qui ajuste automatiquement les niveaux de priorité (nice) des processus, tandis qu’Ananicy-cpp-rules est une liste de règles utilisées pour attribuer des valeurs de priorité spécifiques à certains processus. En français : quand vous lancez une application qui a besoin de puissance, Ananicy-cpp la met en priorité CPU élevée.

Outils de CachyOS Hello :

  • CachyOS Package Installer : Interface graphique facilitant l’installation des applications les plus courantes.
  • cachyos-rate-mirrors : Classement automatique des miroirs Arch et CachyOS pour des téléchargements optimaux.
  • cachyos-gaming-meta : Le paquet cachyos-gaming-meta installe toutes les bibliothèques, paquets, plugins et plateformes essentielles, telles que Steam et Lutris, ainsi que divers outils nécessaires pour assurer le bon fonctionnement de la plupart des jeux.
  • Autres options : Pour dépaner / maintenir le hello propose d’autres options, comme netoyer le cache ou encore débloquer pacman si il se verrouille…

Gaming

Page du Wiki pour le gaming de CachyOS.

  • Installez le méta-paquet cachyos-gaming-meta si vous n’utilisez que Steam : sudo pacman -S cachyos-gaming-meta et utilisez le paquet cachyos-gaming-applications sudo pacman -S cachyos-gaming-meta-applications si vous voulez également Lutris, Heroic Game Launcher etc.
  • Pour booster vos performances au maximum, vous pouvez ajouter l’option de lancement game-performance %command% à vos jeux Steam. Cette option de lancement est spécifique à CachyOS et remplace le gamemode, donc ne surtout pas utiliser gamemode avec cette option.
steamoptions

Proton-CachyOS est basé sur proton-experimental et applique un ensemble de correctifs supplémentaires :

  • Correctifs Wine-Staging
  • Wine FullScreen FSR
  • Certains patchs sont passés quelques semaines en avance, comme par exemple à l’époque le support de Reflex ou du DLSS 3.
  • Wineserver est compilé avec LTO
  • Support du umu-launcher

De plus, Proton-CachyOS est compilé avec les bibliothèques système natives et les instructions CPU du compilateur, ce qui peut encore améliorer les performances.

Notez que proton-cachyos n’est pas un proton ultime, magique, mais il est à l’image de la distribution « cutting-edge » certains jeux tourneront mieux avec proton-ge ou proton-experimental. Exemple quand j’écris ces lignes, ils ont poussé un patch en avance pour le DLSS 3 qui casse le lancement de certains jeux ou peut entrainer de grandes pertes de performances dans d’autres.

steamnative

Steam Native, qui utilise les librairies système, contrairement à Steam Runtime qui utilise les librairies choisies par Valve, est potentiellement plus performant par moment mais aussi potentiellement moins stable.

Pour Heroic Game Launcher

C’est ma recommandation pour les jeux hors Steam vous pouvez regarder ici : Guide Heroic

Utilisation de sched-ext pour les Schedulers sur Linux

Warning

Complètement inutile pour 99% des utilisateurs, le kernel / scheduler par défaut de Cachy OS est le meilleur dans la plupart des situations. C’est pour un usage niche ou des cas particuliers, exemple, vous passez votre temps à compiler des logiciels et vous remarquez que un des schedulers proposés dans sched-ext vous fait gagner quelques minutes. Ou vous ne jouez que à un seul jeu 90% du temps et vous remarquez que un des scheduler fonctionne mieux que BORE le scheduleur par défaut de CachyOS.

Un scheduler (ou ordonnanceur en français) est une composante essentielle du système d’exploitation qui décide de l’ordre dans lequel les programmes et les processus utilisent le processeur (CPU). En d’autres termes, il organise et gère l’exécution des tâches pour que votre ordinateur fonctionne de manière fluide et efficace, en distribuant les ressources du CPU entre les différentes applications et services qui en ont besoin.

Le projet sched-ext est une fonctionnalité du noyau Linux qui permet de changer à chaud de scheduler. Cela signifie que les utilisateurs peuvent changer de scheduler depuis l’espace utilisateur sans avoir besoin de recompiler le noyau pour un scheduler différent ni de redémarrer le système.

Sur Linux, il existe différents types de schedulers, chacun avec ses propres méthodes pour gérer les tâches. Certains sont optimisés pour la réactivité, d’autres pour les performances maximales, et certains pour une meilleure autonomie de la batterie, etc. En choisissant le bon scheduler, vous pouvez améliorer les performances globales de votre système en fonction de vos besoins spécifiques, comme le gaming ou le montage vidéo.

Le scheduler par défaut de CachyOS est déjà très bon, donc il ne faut pas s’étonner d’obtenir de moins bons résultats en testant les autres. De plus, certains sont orientés vers la latence, ce qui fait que les benchs en performance pure peuvent être moins bons. Un scheduler qui priorise la latence alloue plus fréquemment du temps CPU aux tâches pour réduire le temps d’attente perçu, ce qui nécessite plus de changements de contexte (context switches). Ces changements impliquent des sauvegardes et restaurations fréquentes de l’état des tâches, augmentant ainsi l’overhead. Cet overhead peut réduire l’efficacité globale du CPU, sacrifiant la performance brute au profit de la réactivité, surtout dans des scénarios où la priorité est donnée à l’exécution rapide de tâches lourdes plutôt qu’à la réactivité. Donc un mauvais résultat en FPS moyen ne signifie pas que le scheduler ne fait pas ce qu’on attend de lui.

Warning

ATTENTION ! À part le scheduler par défaut BORE les autres ne sont pas compatible avec Ananicy-cpp-rules CachyOS donc pensez bien à décocher la case dans CachyOS Hello.

Démarrage et utilisation des Schedulers scx

Pour utiliser les schedulers avec sched-ext sur CachyOS, utilisez leur outil graphique CachyOS Kernel Manager :

schedext1
schedext

FAQ

  1. Pourquoi le scheduler X fonctionne-t-il moins bien que les autres ? De nombreuses variables entrent en jeu lors de la comparaison des schedulers, par exemple : Comment mesurent-ils la charge d’une tâche ? Également votre architecture CPU.
  2. Pourquoi tout le monde dit-il que le scheduler X est le meilleur pour un cas X, mais il ne fonctionne pas aussi bien pour moi ? Comme mentionné précédemment, cela dépend du CPU utilisé et de sa conception, qu’il s’agisse de la disposition des cœurs ou d’autres facteurs similaires.
  3. Lequel dois-je choisir ? Cela dépend de vos besoins. Pour des charges de travail mixtes (jeux, programmation, montage vidéo, navigation, etc.), scx_rusty, scx_bpfland, scx_rustland, scx_lavd peuvent convenir.
    • Stabilité des FPS : scx_bpfland, scx_lavd, en fonction du jeu.
    • Performance maximale : scx_rusty, scx_lavd.
    • Réactivité quel que soit la charge de travail : scx_rusty, scx_bpfland.
    • Autonomie de la batterie : scx_lavd ou scx_rustland.

Chaque scheduler peut être ajusté avec des options spécifiques, dans un terminal avec la commande scx_nomduscheduler --help on peut voir les différentes options et les ajouter dans l’outil sur la ligne « Set sched-ext scheduler flags ».

schedexthelp

Pour plus d’informations, vous pouvez consulter les dépôts GitHub suivants :

source

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Auteur/autrice

sdgadmin@tux.ovh

Publications similaires

Dans

awstats-viewer

une application Yunohost qui affiche les stats d’AWStats,

Lire la suite
Dans

CHAT CONTROL est de retour

Chat Control est un projet de règlement de l’Union européenne proposé par la Commission le 11 mai 2022 afin d’instaurer un cadre...

Lire la suite

Lenovo Yoga Pro 9i

Configuration Lenovo Yoga Pro 9i Linux soundcard speaker

Lire la suite
Dans

Sécurisez votre serveur SSH

1. Désactiver l’accès SSH direct au compte root ainsi que l’authentication par mot de passe ⚠️ Avant de désactiver les mots de...

Lire la suite
Dans

PI-Hole

Qu’est-ce que Pi-hole ? Pi-hole est un serveur DNS récursif local qui intercepte les requêtes DNS vers des domaines tiers utilisés pour...

Lire la suite