# 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**) ```powershell 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-metal** → **auto-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 `. ## 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.