J’ai installé SteamOS sur ma ROG Xbox Ally : pourquoi je ne reviendrai plus en arrière

 
Avec SteamOS 3.8, Valve commence à supporter officiellement la Xbox Ally. J’ai voulu profiter de cette version pour franchir le cap et tester le système d’exploitation de Valve sur ma machine. Voici pourquoi je ne reviendrai plus en arrière.
La ROG Xbox Ally X sous SteamOS // Source : Clément Grandjean pour Frandroid

Étant un grand utilisateur du Steam Deck depuis ses débuts, j’ai voulu tenter l’aventure Windows sur console portable avec la ROG Xbox Ally X et ses belles promesses.

Cependant, au bout de quelques mois d’utilisation, je me suis rendu compte que je passais presque plus de temps à gérer les multiples mises à jour nécessaires au bon fonctionnement de la console portable qu’à y jouer.

Car oui, si vous souhaitez profiter d’une bonne expérience de jeu sur les consoles Asus conçues en partenariat avec Microsoft, il faut enchaîner :

  • Les mises à jour de pilotes depuis Armoury Crate d’Asus
  • D’autres mises à jour de pilotes (oui …) via l’application MyAsus
  • Les mises à jour de Windows 11, notamment le célèbre Patch Tuesday
  • Les mises à jour du Microsoft Store pour l’application Xbox et les jeux du Game Pass
  • Et enfin, les mises à jour de vos jeux sur Steam et les autres lanceurs

En bref, il est indispensable d’instaurer une véritable petite routine d’entretien, comme sur n’importe quel PC classique. Sauf que cette console ne répond théoriquement qu’à un seul besoin : lancer une partie rapide sur le canapé ou en déplacement.

Pourquoi SteamOS 3.8 change-t-il la donne ?

Avec la sortie en preview de SteamOS 3.8, Valve a mis les petits plats dans les grands. Cette mise à jour « magique » permet enfin d’offrir une véritable expérience native sous SteamOS aux consoles d’Asus.

Auparavant, il fallait passer par des distributions tierces comme Bazzite ou ChimeraOS. Si elles offrent déjà une excellente alternative grâce au dévouement des nombreux bénévoles qui y contribuent, elles restent, à mon sens, des solutions pensées par des passionnés pour des passionnés.

Concrètement, SteamOS 3.8 apporte de nombreuses améliorations pour la Xbox Ally (ainsi que pour d’autres consoles portables similaires) :

  • Un support optimisé des APU Z2 via de nouveaux pilotes AMD Mesa et le noyau Linux 6.16. La gestion de la mémoire vidéo a également été revue à la hausse pour exploiter au mieux les 24 Go de mémoire partagée de la Xbox Ally X.
  • Une gestion native du TDP et des profils de performances (faible consommation, équilibré, hautes performances).
  • La prise en charge des écrans à taux de rafraîchissement variable (VRR) et un meilleur frame pacing (à activer manuellement dans le menu Performances de SteamOS).
  • L’intégration de correctifs et de pilotes pour :
    • Les haut-parleurs, qui cessent enfin de grésiller.
    • La manette, dont la latence passe de 5-8 ms à moins de 500 microsecondes.
    • Le lecteur de cartes microSD, qui ne corrompt plus les données.

Valve a donc réussi l’exploit de délivrer une version de SteamOS enfin assez stable sur la Xbox Ally pour être testée au quotidien, et c’est précisément ce que j’ai voulu faire : un Steam Deck Pro grâce à un APU surboosté épaulé par 24 Go de mémoire partagée et un écran VRR pris en charge nativement.

Comment installer SteamOS ?

SteamOS s’installe très simplement : il suffit d’une clé USB et d’un moyen de la connecter à la console (via un hub USB-C ou avec une clé directement en USB-C). Attention cependant : en suivant ces étapes, SteamOS remplacera intégralement Windows 11. Pensez donc à sauvegarder vos données et vos parties en cours pour éviter toute perte.

Il suffit ensuite de télécharger l’image de SteamOS 3.8 (steamdeck-repair-beta-20260413.100-3.8.2.img.zip) sur le site officiel de Steam à cette adresse et d’utiliser balenaEtcher pour préparer votre clé USB avec le programme d’installation.

Une fois votre clé USB prête, vous devez redémarrer la console dans le BIOS afin de désactiver le « Secure Boot ». Rien de très compliqué : allumez la console en appuyant plusieurs fois sur le bouton Volume Moins enfoncé. Dans l’interface du BIOS, il vous suffira de :

  • Presser le bouton Y pour passer en Mode Avancé.
  • Naviguer jusqu’à l’onglet Sécurité à l’aide des gâchettes.
  • Désactiver l’option « Contrôle du démarrage sécurisé » située tout en bas de cet onglet. Une fois désactivée, vous êtes prêt à installer SteamOS.
  • Si vous le souhaitez, vous pouvez en profiter pour couper le son de démarrage via le menu « Animation Post Configuration du logo », présent dans l’onglet Avancé.
  • Dans l’onglet « Quitter », choisir l’option « Enregistrer les modifications et quitter ».

Pour lancer l’installation de SteamOS, branchez votre clé USB sur l’un des ports USB-C de la console, puis appuyez plusieurs fois sur le bouton Volume Plus au démarrage pour ouvrir le menu de boot. Choisissez votre clé USB et laissez SteamOS s’amorcer.

Une fois arrivé sur le bureau Linux, double-cliquez simplement sur la 4ème option : « Wipe Device & install SteamOS ». Confirmez les deux invites de commande et la console redémarrera directement sous SteamOS.

Bienvenue sous SteamOS !

Notez qu’il reste extrêmement simple de revenir sous Windows. La fonctionnalité de récupération dans le cloud d’Asus, présente dans le BIOS (onglet Avancé), permet de réinitialiser la console et de retrouver une installation propre de Windows 11 en quelques clics.

Comment bien paramétrer SteamOS ?

Une fois sur SteamOS, vous serez immédiatement frappé par la réactivité des commandes. C’est simple : vous réaliserez à ce moment-là que la console souffrait d’un fort input lag sous Windows.

Avant de commencer à télécharger vos jeux, je vous recommande quelques petites étapes supplémentaires pour bien configurer la machine et optimiser votre expérience.

Dans un premier temps, rendez-vous dans les paramètres « Général » pour choisir le canal de mise à jour « Version de prévisualisation » (Preview). C’est également ici que vous pourrez passer l’horloge au format 24h.

Dans l’onglet « Affichage », ajustez la mise à l’échelle de l’interface à votre convenance, le paramètre par défaut n’étant pas toujours idéal. Juste en dessous, dans « Batterie », vous pouvez afficher l’autonomie en pourcentage et, si vous le souhaitez, activer une limite de charge pour préserver la durée de vie de la batterie.

Dans votre Bibliothèque, l’onglet « Non Steam » propose une option pour installer rapidement Google Chrome. Un raccourci très pratique pour naviguer sur Internet aussi bien en mode Jeu qu’en mode Bureau.

Le menu Performances avec l’option pour activer le VRR, indispensable.

Enfin, le bouton situé juste au-dessus de Start permet maintenant d’ouvrir le menu d’accès rapide de SteamOS. Rendez-vous dans l’onglet « Performances » puis, dans la vue avancée, cochez « Activer la fréquence de rafraîchissement variable » pour profiter du VRR. Je vous recommande d’utiliser le profil de performances « Équilibré » par défaut, quitte à le modifier selon la gourmandise de vos jeux et votre éloignement d’une prise électrique.

Que manque-t-il à SteamOS pour être parfait ?

Une fois SteamOS installé et paramétré, vous pouvez enfin télécharger vos jeux Steam (ou ceux d’autres lanceurs, ce qui est devenu un jeu d’enfant en 2026). Le mode Bureau reste un peu délicat à manipuler sans les trackpads du Steam Deck, mais ce n’est finalement pas plus laborieux que de naviguer au doigt sur l’interface Windows de la Xbox Ally. On se consolera en se disant qu’on y passera beaucoup moins de temps !

Bien entendu, tout n’est pas encore parfait sous SteamOS. Vous perdrez d’ailleurs quelques fonctionnalités au change, dont :

  • Le lecteur d’empreintes digitales, qui redevient un simple bouton d’allumage et de mise en veille.
  • Le NPU de l’APU Z2 Extreme, non pris en charge à ce jour sous SteamOS. Vous ne pourrez donc pas bénéficier de la Super Résolution Automatique prévue en preview courant avril.
  • Les jeux du Xbox Game Pass PC, distribués exclusivement via l’application Xbox sous Windows. Sur SteamOS, il faudra se contenter du Xbox Cloud Gaming.

Ces concessions me semblent tout à fait acceptables au vu de l’expérience globale et des performances grandement améliorées qu’offre SteamOS. On espère tout de même voir débarquer un jour des fonctionnalités exploitant les NPU sous Linux (pour de l’upscaling ou d’autres traitements liés au jeu vidéo), ce qui soulagerait grandement le GPU des puces Z2.

Finitions et fonctionnalités avancées

Pour les utilisateurs les plus bidouilleurs, quelques optimisations supplémentaires sont possibles côté Bureau. Elles ne sont toutefois pas à appliquer aveuglément : une future mise à jour de SteamOS pourrait entrer en conflit avec ces modifications et nécessiter une réinstallation totale du système. À vos risques et périls !

Avant toute chose, en mode Bureau, ouvrez Konsole, créez d’abord un mot de passe administrateur si ce n’est pas déjà fait avec la commande suivante :

passwd

DeckyLoader

Decky Loader est un plugin redoutablement efficace permettant d’ajouter de nombreuses fonctionnalités à l’interface de SteamOS. Pour l’installer, ouvrez un navigateur en mode Bureau, rendez-vous sur decky.xyz et confirmez l’invite de commande de l’installateur.

De retour en mode Jeu, Decky apparaîtra dans le menu d’accès rapide (le même que pour l’interface Performances) et vous permettra de télécharger des extensions via son propre store. Je vous recommande notamment :

  • SteamGridDB : pour modifier facilement les illustrations de vos jeux dans la bibliothèque Steam.
  • CSS Loader : pour personnaliser l’interface de SteamOS à volonté.
  • ProtonDB Badges : pour afficher directement les badges de compatibilité Linux/Proton sur les fiches de vos jeux.
  • MagicPods : pour contrôler facilement vos AirPods.

Mieux exploiter les cœurs du Ryzen AI Z2 Extreme

Le Ryzen AI Z2 Extreme de la Xbox Ally X repose sur une architecture hybride : il combine 3 gros cœurs Zen 5 très rapides et 5 cœurs Zen 5c plus économes. Or, par défaut, Linux cherche surtout à répartir les charges équitablement. Le problème, c’est qu’un jeu peut alors voir certaines tâches critiques partir sur les mauvais cœurs, ce qui se traduit parfois par des micro-saccades ou des 1 % lows moins stables.

La solution consiste à configurer le service scx pour utiliser LAVD en mode performance. Dans cette configuration, l’ordonnanceur tend à concentrer la charge de jeu sur les cœurs les plus rapides, tout en laissant les autres davantage au repos. Et pour que ce réglage survive aux mises à jour de SteamOS, on ajoute immédiatement le fichier correspondant à la liste blanche du système.

Ouvrez la konsole, puis copiez-collez ce bloc :

sudo mkdir -p /etc/default
cat << 'EOF' | sudo tee /etc/default/scx
SCX_SCHEDULER="scx_lavd"
SCX_FLAGS="--performance"
EOF

sudo systemctl enable --now scx.service

sudo mkdir -p /etc/atomic-update.conf.d
cat << 'EOF' | sudo tee /etc/atomic-update.conf.d/allyx-scx.conf
/etc/default/scx
EOF

Après redémarrage, SteamOS utilisera ce profil automatiquement. En pratique, c’est l’une des optimisations les plus intéressantes pour lisser le comportement de la machine sur les jeux exigeants, surtout lorsque le système hésite entre gros cœurs et cœurs économes.

Empêcher SteamOS de paniquer avec la mémoire

Autre point important : SteamOS a été pensé à l’origine pour une machine dotée de 16 Go de mémoire. Sur la Xbox Ally X et ses 24 Go, le système peut conserver des réflexes un peu trop prudents et commencer à déporter des données vers le SSD via le swap plus tôt qu’on ne le souhaiterait. Sur certains jeux lourds, notamment en monde ouvert, cela peut provoquer des à-coups évitables.

On peut corriger cela en réduisant fortement l’agressivité du swap, tout en activant les Transparent Huge Pages en mode madvise. L’idée, en simplifiant, est de pousser SteamOS à utiliser plus intelligemment la mémoire vive disponible et à manipuler certains blocs mémoire de façon plus efficace. Là encore, le plus logique est de rendre ces deux fichiers persistants tout de suite, plutôt que d’attendre un correctif global plus tard.

Toujours dans Konsole, copiez-collez :

sudo mkdir -p /etc/sysctl.d
cat << 'EOF' | sudo tee /etc/sysctl.d/99-allyx-memory-tuning.conf
vm.swappiness = 10
vm.min_free_kbytes = 524288
vm.dirty_ratio = 5
EOF

sudo mkdir -p /etc/tmpfiles.d
cat << 'EOF' | sudo tee /etc/tmpfiles.d/allyx-thp.conf
w /sys/kernel/mm/transparent_hugepage/enabled - - - - madvise
EOF

sudo sysctl --system
sudo systemd-tmpfiles --create /etc/tmpfiles.d/allyx-thp.conf

sudo mkdir -p /etc/atomic-update.conf.d
cat << 'EOF' | sudo tee /etc/atomic-update.conf.d/allyx-memory.conf
/etc/sysctl.d/99-allyx-memory-tuning.conf
/etc/tmpfiles.d/allyx-thp.conf
EOF

Ce réglage ne transforme pas miraculeusement tous les jeux, mais il évite à SteamOS d’aller trop vite chercher le SSD alors que la machine dispose encore d’une réserve de RAM très confortable. Sur une console équipée de 24 Go, c’est précisément le type d’ajustement qui a du sens.

Couper ce que SteamOS n’utilise pas

Le Z2 Extreme embarque aussi des composants que SteamOS 3.8 ne sait pas encore réellement exploiter, à commencer par le NPU XDNA 2. En l’état, cette puce dédiée à l’IA peut rester chargée inutilement sans apporter de bénéfice concret en jeu. Même logique pour certains comportements de réveil USB qui n’ont pas beaucoup d’intérêt sur une console portable et peuvent grignoter un peu d’autonomie.

Il est donc possible de désactiver le pilote du NPU et de bloquer le réveil via USB avec un bloc autonome.

Copiez-collez ceci dans la Konsole :

sudo mkdir -p /etc/modprobe.d
cat << 'EOF' | sudo tee /etc/modprobe.d/blacklist-npu.conf
blacklist amdxdna
EOF

sudo mkdir -p /etc/systemd/system
cat << 'EOF' | sudo tee /etc/systemd/system/allyx-disable-usb-wake.service
[Unit]
Description=Ally X - Bloquer le reveil USB
After=network.target
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'for i in XHC0 XHC1 XHC2 XHC3 XHC4; do grep -q "$i.*enabled" /proc/acpi/wakeup && echo $i > /proc/acpi/wakeup; done'
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable --now allyx-disable-usb-wake.service

sudo mkdir -p /etc/atomic-update.conf.d
cat << 'EOF' | sudo tee /etc/atomic-update.conf.d/allyx-power.conf
/etc/modprobe.d/blacklist-npu.conf
/etc/systemd/system/allyx-disable-usb-wake.service
EOF

Le gain dépendra évidemment de votre usage, mais cette étape a le mérite de supprimer quelques dépenses énergétiques superflues et de rendre le comportement de la machine un peu plus cohérent dans la durée, notamment si vous jouez souvent sur batterie.

Aller plus loin avec les optimisations du noyau

On peut encore aller plus loin avec plusieurs paramètres noyau particulièrement utiles sur la Xbox Ally X :

  • amd_pstate=active : pour laisser le processeur gérer plus finement ses fréquences.
  • amdgpu.abmlevel=0 : pour désactiver certains comportements de luminosité dynamique qui peuvent perturber l’affichage, qui est déjà optimisé via le VRR (à activer côté SteamOS dans le menu Performance)
  • split_lock_mitigate=0 et nmi_watchdog=0 : afin de retirer certains garde-fous du noyau qui ont un coût sur les performances.
  • pcie_aspm=force : pour forcer une gestion plus agressive de l’économie d’énergie côté PCIe.
  • boost=0 : par défaut avec p-state, le processeur peut s’emballer et monter dans les tours. Le désactiver permet de lisser le framerate et de sauver la batterie.

Le problème, c’est que SteamOS peut réinitialiser une partie de cet environnement au fil des grosses mises à jour. Plutôt que de corriger cela manuellement à chaque fois, on peut automatiser la vérification avec un petit script lancé au démarrage.

Voici le bloc complet à coller dans Konsole :

cat << 'EOF' | sudo tee /etc/allyx-grub-healer.sh
#!/bin/bash

# Désactivation du CPU Boost à chaque démarrage
echo 0 > /sys/devices/system/cpu/cpufreq/boost

if ! grep -q "amd_pstate=active" /proc/cmdline; then
    sed -i 's/ amd_pstate=active amdgpu.abmlevel=0 split_lock_mitigate=0 nmi_watchdog=0 pcie_aspm=force//g' /etc/default/grub
    sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="\(.*\)"/GRUB_CMDLINE_LINUX_DEFAULT="\1 amd_pstate=active amdgpu.abmlevel=0 split_lock_mitigate=0 nmi_watchdog=0 pcie_aspm=force"/' /etc/default/grub
    update-grub
    reboot
fi
EOF

sudo chmod +x /etc/allyx-grub-healer.sh

cat << 'EOF' | sudo tee /etc/systemd/system/allyx-grub-healer.service
[Unit]
Description=Ally X - Auto-patch GRUB apres MAJ
ConditionFileIsExecutable=/etc/allyx-grub-healer.sh
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/etc/allyx-grub-healer.sh
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable allyx-grub-healer.service

sudo mkdir -p /etc/atomic-update.conf.d
cat << 'EOF' | sudo tee /etc/atomic-update.conf.d/allyx-grub-healer.conf
/etc/allyx-grub-healer.sh
/etc/systemd/system/allyx-grub-healer.service
EOF

Après cela, redémarrez la console. Il est possible que la toute première séquence implique deux redémarrages successifs : c’est normal, le script vérifie la présence des paramètres noyau puis applique le correctif si nécessaire.


Abonnez-vous à Frandroid sur Google pour ne manquer aucun article !

Recherche IA boostée par
Perplexity