docs(gameboot-windows): clarify workflow and add game registration documentation
Update README to reflect the complete automated game launch flow: - Clarify that fws-play reads the requested game from launch.json on ESP - Add games.json registration system allowing users to add custom games - Document auto-login setup and password handling in installer - Update workflow steps with auto-login and logon task details - Add section explaining how to register new games - Improve clarity on security considerations and boot fallback mechanism - Refine status notes and technical details for better accuracy
This commit is contained in:
@@ -1,50 +1,59 @@
|
||||
# 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. Il gère le **retour vers
|
||||
FWS** après une session de jeu.
|
||||
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 : v1 non validée sur matériel réel.** La sémantique
|
||||
> `bcdedit /set {fwbootmgr} bootsequence` et le retour au boot dépendent du
|
||||
> firmware de la carte mère. À tester avant de s'y fier. Voir le plan complet :
|
||||
> ⚠️ **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`. |
|
||||
| `fws-play.ps1` | Lance Valorant, attend sa fin/crash, puis rebascule vers FWS. |
|
||||
| `Install-FwsGameboot.ps1` | Installe le tout + tâche ONSTART + `powercfg /h off`. |
|
||||
| `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'
|
||||
```
|
||||
|
||||
Ces fichiers sont livrés par FWS dans
|
||||
`/usr/local/share/fws/gameboot-windows/` ; l'outillage d'installation Windows de
|
||||
FWS (à venir, cf. plan §6) les copiera sur la partition Windows. En attendant,
|
||||
copie ce dossier à la main sur le Windows cible.
|
||||
## Flux complet (aucune interaction)
|
||||
|
||||
## Comment ça marche
|
||||
|
||||
1. Depuis FWS : `fws-gameboot to-windows` hiberne FWS et arme le boot suivant
|
||||
vers Windows.
|
||||
2. Windows démarre en **bare-metal** → Vanguard voit un vrai Windows natif.
|
||||
3. Au démarrage, la tâche **ONSTART** arme le boot suivant vers FWS (filet
|
||||
anti-crash).
|
||||
4. `fws-play.ps1` (auto au login gaming, ou manuel) ré-arme Windows le temps du
|
||||
jeu, puis, à la fermeture/crash de Valorant, arme FWS et redémarre.
|
||||
5. FWS reprend sa session hibernée via `resume=`.
|
||||
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.
|
||||
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` pour vérifier.
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user