La console Steam Deck de Valve avec pixL

Le but de ce tutoriel va vous permettre d’utiliser pixL sur la Steam Deck de Valve.

Installation/Lancement

Attention (31/05/2024), si vous avez le bios en version « STABLE » F7A0120 sur Steam Deck LCD, il est préférable de faire l’installation sur micro SD via le port USB-C de la Steam Deck et avec un adaptateur (voir d’une station d’accueil ou d’un hub USB) pour éviter les problèmes de blocage au premier boot suite à l’installation si on installe directement par le port micro SD de la Steam Deck. Après la premier démarrage de Pegasus, on pourra repasser sur le port micro SD pour son utilisation.

Mais des Bios plus récents comme la F7A0131 semble corriger le problème.

Si vous préférez donc changer votre bios dans une version plus récente comme le F7A0131 ou supérieur (j’espère que cela restera compatible ;-), vous pouvez utiliser cette outil sur votre steam deck pour vous aidez à backuper, downloader et flasher les bios: https://github.com/ryanrudolfoba/SteamDeck-BIOS-Manager

Donc pour l’installation, après avoir flasher l’image de pixL sur une micro SD (on pourra le faire aussi via l’USB-C avec une clé USB si on le souhaite) :

0 – il faudra éteindre la Steamdeck si ce n’est pas déjà le cas, par un appui long sur la touche « power » et demander « Arrêter » dans le menu de steam OS

1 – il faudra l’insérer dans le slot micro SD (Attention à ce jour, il faut utiliser le port USB-C, donc on devra passer par la manipulation expliqué plus haut)

2 – Puis ensuite lancer en maintenant sur la touche « volume – » et puis en appuyant sur la touche « power »

3 – Après un bip, on pourra relâcher le bouton « power » tout en gardant la touche « volume – » maintenu jusqu’à avoir un menu où on pourra sélectionner la micro SD pour booter sur pixL et lancer son installation

Remarque: pour chaque démarrage/lancement de l’OS, il est conseillé de faire ceci pour être sur de bien sélectionner l’OS à lancer et avoir un système retro bien indépendant de SteamOS qui pour permet de ne pas perdre l’accès à la bibliothèque de vos jeux sur Steam Deck au prochain reboot 😉

Néanmoins si vous voulez forcer le « boot » par défaut sur la microSD et donc lancer pixL systématiquement, il y a un paramètre pour cela dans le bios de la steam deck:

  1. Allumer la Steam Deck en maintenant [Volume +] et [Power]. Relâchez les quand la Steam Deck fait un bip.
  2. Utiliser le D-pad pour sélectionner Setup Utility et pressé South button (B SNES) pour confirmer.
  3. Aller dans la catégorie Boot et selectionner Add Boot Options
  4. Choisir “First”. “First” veut dire que l’on va booter en premier sur les supports amovibles comme la carte microSD
  5. Faire Exit et confirmer par Save and Exit pour redémarrer avec les changements.

Gestion de l’affichage

Dans le cas de la Steam Deck, elle sera détectée par l’OS comme un « device » particulier donc les paramètre d’affichage seront pré-configuré pour pouvoir « switcher » du mode nomade au mode « docké » utilisant le port USB-C de celle-ci pour afficher sur un écran HDMI/DISPLAYPORT ou même VGA en fonction des docks existant du marché.

Dans les paramètres, on se retrouvera donc configuré ainsi par défaut :

Remarque: la Steam Deck a une résolution de 1280×800 par défaut pour son écran interne et est détecté comme un écran « vertical de smartphone » dont on doit appliquer une rotation de 90% pour l’avoir en horizontal, c’est pour cela que dans les paramètres on le voit en 800×1280 et pas l’inverse et qu’il est tourné par défaut, vous pourrez changer les settings pour vos besoins 😉

Si on passe sur un écran HDMI par exemple, la Steam Deck fera le switch par elle-même sur le second écran dans ce cas et on se retrouvera ainsi dans les paramètres :

Au passage, on aura le mode « extended » (mode par défaut des PCs en général) ou le mode « clone » si on le souhaite :

Remarque: les 3 modes sont utilisables et applicables à n’importe quel PC ayant plusieurs sorties vidéos. Le mode « switch » sera aussi applicable si on veut passer d’une sortie interne à externe (et vice et versa) ou même d’une sortie externe vers une seconde sortie externe par exemple.

Gestion du son

Sélection de la sortie audio

Par défaut, la Steam Deck possède 3 sorties (jack, haut-parleur frontaux et la sortie externe HDMI/DISPLAY PORT, il faudra un dock pour utiliser cette dernière sortie son). On pourra aussi utiliser un casque Bluetooth si on le souhaite pour le son.

Pour rappel, les sorties avec les petites bulles blanches et pleines représente les sorties son actives. Par exemple si on débranche l’HDMI, le HDMI / Display Port 3 ne sera plus avec une bulle blanche pleine et deviendra vide pour signaler qu’elle n’est plus active.

Attention: à ce jour la sortie jack n’est pas opérationnelle, en fait, cette sortie son semble commune entre le jack et les haut-parleurs frontaux. On peut juste changer entre les haut-parleurs frontaux (speaker) et la sortie externe. Si on sélection la sortie jack (headphones), cela reste sur les haut-parleurs frontaux.

Il faut savoir aussi que la sortie audio basculera automatiquement en fonction de la sortie vidéo pour utiliser le son en fonction de l’affichage utilisé, c’est pratique en mode « switch » pour la partie vidéo qui peut faire basculer des speakers internes de la steam deck vers un écran de télévision en HDMI automatiquement et dès que l’on « dockera » la steam deck dans une station d’accueil par exemple.

Pour le réglage du son

Pour les réglages du son, on peut le faire comme habituellement via les menus :

Mais on peut aussi le faire via les boutons et de la tranche de la steam deck :

Cela permet surtout de pouvoir changer le niveau de volume en jeu quand on est en mode nomade. Si on est sur un écran externe, on utilisera comme habituellement le réglage du volume de l’écran via sa télécommande par exemple mais cela restera possible de le faire par les touches volume de la Steam Deck aussi.

De plus maintenant, quand on changera le volume quand on se trouve dans l’interface de Pegasus, on verra s’afficher temporairement une barre de défilement verticale qui nous donnera le niveau de volume sélectionné en temps réel :

Attention, le niveau de volume ne s’affichera pas quand vous serez déjà à 0 ou 100% parce qu’il n’y aura pas de changement. (on changera peut être ce comportement par la suite 😉

Remarque: Il faut savoir que le principe est compatible aussi avec les touches de volume de certains claviers multimédias.

Gestion de la luminosité

Dans la cas de la Steam Deck, on propose dans le menu de pouvoir choisir le niveau de luminosité du rétro-éclairage de l’écran interne de la Steam Deck, bien sur ce niveau n’est pas applicable au réglage de l’écran externe par exemple :

Lors du démarrage de l’OS et pour l’écran interne, l’écran sera à 100% de luminosité pour la vidéo de boot/splash screen

Lors du démarrage de Pegasus-Frontend et ensuite pour l’écran interne, la luminosité sera réglé en fonction du réglage précédent.

Il faut savoir aussi que si on est sur l’écran externe et en mode « switch », l’OS mettre la luminosité à 0% pour l’écran interne.

Comme le volume, on pourra via les boutons et de la tranche de la Steam Deck et en pressant simultanément la touche pour changer la luminosité en jeu ou dans Pegasus :

+

De plus, comme pour le volume, quand on changera la luminosité et quand on se trouve dans l’interface de Pegasus, on verra s’afficher temporairement une barre de défilement verticale qui nous donnera le niveau de luminosité sélectionnée en temps réel :

Attention, le niveau de luminosité ne s’affichera pas quand vous serez déjà à 0 ou 100% parce qu’il n’y aura pas de changement. (on changera peut être ce comportement par la suite 😉

Gestion de l’alimentation

Mise en veille

Pour la Steam Deck vu qu’elle est sur batterie, on voudra pouvoir économiser la batterie donc on pourra la mettre en « standby » sans être obligé de l’éteindre complétement, c’est ce que l’on appel aussi en anglais le « suspend mode ». Pour cela on devra juste presser le bouton « power » succinctement et la Steam Deck éteindra son écran, sauvegardera sa mémoire et se mettra en standby. Pour la rallumer, on devra juste réappuyer succinctement sur le bouton « power » et on reviendra dans le menu ou le jeu où on se trouvait. C’est possible que certains émulateurs ne soit pas compatible avec ce mode malheureusement mais cela marche avec beaucoup d’émulateur à ce jour.

Extinction

Pour l’éteindre complétement, on pourra le faire via les menus comme habituellement mais on pourra aussi le faire via un appui long sur le bouton « power » et une fenêtre de confirmation apparaitra :

Batterie

Maintenant, nous proposons une API pour afficher le niveau de batterie dans les thèmes, nous n’avons pas voulu imposer l’emplacement de l’affichage de la batterie de manière permanente pour ne pas perturber le design des thèmes existants. C’est implémenté dans le thème gameOS-pixL : https://doc.pixl-os.com/le-theme-gameos/

Le niveau de batterie est aussi consultable en utilisant la touche qui fera afficher une barre supérieur d’information. Attention, pour certains émulateurs, cela peut faire changer le focus du jeu (il faudra faire un Alt+Tab pour revenir ou utiliser la touche hotkey « STEAM » + « R1 » pour rebasculer ou avec un contrôleur externe via la touche « Hotkey » + « R1 ».

Gestion des overlays

Dans le cas de la Steam Deck n’étant pas avec un ratio 16/9, ni 1080p ou même 720p, nous avons donc du avoir la possibilité de réutiliser nos overlays 720p, 1080p voir 4K avec cette machine, donc la résolution/image de l’overlay pourra s’adapter en jeu, aussi bien sur les cores de retroarch mais aussi sur les standalone comme dolphin-triforce, supermodel (Sega Model 3) ou même model2emu (Sega Model 2)

Donc vous pouvez utiliser vos packs habituels d’overlay 16/9 en 720p, 1080p voir 4K même si l’écran de la steam deck ne support qu’un format 16/10 de 1280×800 pixels.

Enjoy !!!

Les commandes disponibles à connaitre

Touche(s)Action/ButCommentaire(s)
appui courtMise en veille de la Steam DeckPossible dans Pegasus et en jeu
appui longExtinction de la Steam DeckPossible aussi via le menu de la Steam Deck mais pas possible en jeu
Hotkey en jeuUtilisé comme « hotkey » par défaut en jeu mais vous pouvez changer dans la configuration des contrôleurs si vous préférez utiliser une autre touche comme « select ».
maintenir + R1Pour basculer entre plusieurs fenêtres/applications.Equivalent au ALT+TAB que l’on peut avoir avec un clavier et c’est possible à partir d’un contrôleur externe aussi.
maintenir puis L1 puis R1
(important de le faire un par un comme expliqué ici)
Le « ctrl+alt+sup » de pixL 😉Permet de relancer le frontend Pegasus ou même en jeu si on est bloqué. Possible à partir d’un contrôleur externe aussi. Cela ne reboot pas l’OS, cela relance juste la partie front-end 😉
Autre combinaison possible :
Select puis L1 puis R1
+ (start) Pour sortir des jeuxC’est juste pour rappel dans le cas de la Steam Deck, rien de nouveau 😉
(désactivé pour le moment – utilise BTN_BASE qui est le bouton cL1 sur certains contrôleurs)Pour afficher la barre supérieur d’information dans pixLPermet de connaitre le niveau de batterie, l’utilisation de la RAM, la température de la Steam Deck et fréquence du CPU ainsi que l’heure actuelle.
ou Pour changer le niveau de volume de pixL Possible de changer dans les menus, applicable aux speakers, écran externe mais aussi pour un casque Bluetooth… pratique !
+ ou + Pour changer le niveau de luminosité de l’écran interne dans pixL Possible de changer dans les menus aussi

Pour les utilisateurs avancés

Pour information, lors de l’installation, même si nous utilisons la même image que les PC x86 64 bits, nous configurons la Steam Deck de manière particulière via le recalbox.conf et le recalbox-boot.conf.

Pour cela, nous détectons le modèle de l’appareil (Pour info que le modèle LCD est supporté pour le moment mais on pourra rajouter facilement celui OLED après l’avoir testé/intégré côté développement).

Puis nous utilisons une configuration particulière du « device » pour le faire à partir d’un fichier stocké ici (accessible uniquement en SSH) :

Voici un exemple de celui que l’on a pour la Steam Deck et qui pourra évoluer par la suite :

# valve steam deck default value parameters for "recalbox.conf"
# lcd model - jupiter 
# and "recalbox-boot.conf" (prefixed with boot. in this case)

# default audio card (device, volume, boot volume)
audio.device=alsa_card.pci-0000_04_00.5-platform-acp5x_mach.0:[Out] Speaker
audio.volume=50
boot.audio.volume=30

# default audio device linked to screen
audio.device.eDP=alsa_card.pci-0000_04_00.1:hdmi-output-2
audio.device.DisplayPort-0=alsa_card.pci-0000_04_00.5-platform-acp5x_mach.0:[Out] Speaker

# video mode (switch, clone or extended)
system.video.screens.mode=switch

# default "internal" screen (with resolution, frequency and rotation)
system.primary.screen.enabled=1
system.primary.screen=eDP
system.primary.screen.resolution=800x1280
system.primary.screen.frequency=60.00
system.primary.screen.rotation=right

# backlight device name from /sys/class/backlight
system.primary.screen.backlight.device=amdgpu_bl0

# default "docked" screen (with resolution, frequency, rotation)
system.secondary.screen.enabled=0
system.secondary.screen=DisplayPort-0
system.secondary.screen.resolution=1920x1080
system.secondary.screen.frequency=60.00
system.secondary.screen.rotation=normal
system.secondary.screen.position=above

# default suspend
system.suspendmode=suspend

Donc par la suite on pourra rajouter d’autres configurations pour d’autre(s) device(s) particulier à base d’architecture x86 64Bits (Asus Rog Ally, MSI Claw, Valve Steam Deck OLED, Lenovo Legion Go, etc…)

Enjoy !!!

Laisser un commentaire