Files
FWS-ISO/configs/releng/airootfs/usr/local/share/fws/gameboot-windows
nocode a1be0e6d49 feat(gameboot-windows): add support for installers.json and Install-Games.ps1 deployment
Extend the file deployment loop to include installers.json and Install-Games.ps1 files. Add conditional path validation before copying to gracefully handle missing files instead of failing on non-existent paths.
2026-07-08 03:37:31 +02:00
..

FWS Gameboot — composant Windows

Composant à déployer dans le Windows 11 gaming (partition bare-metal dédiée) pour le dual-boot orchestré « hibernate-swap » de FWS : retour vers FWS après la session, et lancement automatique du jeu demandé depuis FWS.

⚠️ Statut : non validé sur matériel réel. La sémantique bcdedit /set {fwbootmgr} bootsequence, l'auto-login et le retour au boot dépendent du firmware/de la config. À tester. Plan complet : docs/hibernate-swap-dualboot.md.

Fichiers

Fichier Rôle
fws-return.ps1 Arme le boot suivant (one-shot) vers FWS ou Windows (résolution robuste, locale-indépendante).
fws-play.ps1 Lit le jeu demandé, le lance, attend sa fin/crash, rebascule vers FWS.
games.json Registre des jeux : id → {type, …, process}. Éditable pour en ajouter.
Install-FwsGameboot.ps1 Installe le tout : auto-login, tâche au logon (fws-play), tâche ONSTART, powercfg /h off.

Installation (dans Windows, PowerShell admin)

Set-ExecutionPolicy -Scope Process Bypass -Force
# Compte SANS mot de passe (recommandé) :
.\Install-FwsGameboot.ps1
# Ou avec mot de passe (stocké en clair dans le registre — voir avertissement) :
.\Install-FwsGameboot.ps1 -Password 'monMotDePasse'

Flux complet (aucune interaction)

  1. Depuis FWS : fws-gameboot to-windows --game valorant — FWS écrit le jeton \EFI\FWS\launch.json = {"game":"valorant"} sur l'ESP, hiberne, et arme le boot vers Windows.
  2. Windows démarre en bare-metalauto-login (pas d'écran de mot de passe).
  3. La tâche ONSTART arme le boot suivant vers FWS (filet anti-crash).
  4. La tâche au logon lance fws-play, qui lit le jeton, cherche le jeu dans games.json et le lance tout seul. Un crash pendant le jeu revient sur Windows (fws-play a réarmé Windows le temps de la session).
  5. À la fermeture/crash du jeu, fws-play arme FWS et redémarre.
  6. FWS reprend sa session hibernée via resume=tes apps/pages rouvertes intactes.

Filet permanent : côté FWS, BootOrder[0] = FWS est ré-affirmé à chaque démarrage → tout reboot non géré retombe sur FWS.

Ajouter un jeu

Éditer games.json (copié dans C:\ProgramData\FWS\). Types : riot (Riot Client), uri (steam://rungameid/…, com.epicgames.launcher://…), exe (chemin direct). process = nom du processus à attendre (sans .exe). Puis côté FWS : fws-gameboot to-windows --game <id>.

Rappels

  • Auto-login = pas de barrière de mot de passe sur ce Windows gaming (voulu).
  • BitLocker : ne pas l'activer sans sauvegarder la clé (le flip Secure Boot côté FWS change PCR7 → écran de récupération). manage-bde -status.
  • Ne pas désactiver Secure Boot / TPM / VBS-HVCI : Vanguard les exige.