v1.0.3 — Render fallback software pour environnements sans accel GPU
Bug rapporté : sur un poste client fraîchement installé, la fenêtre du
launcher reste TOUT BLANCHE. Aucune exception loguée, services en
arrière-plan fonctionnent (manifest fetché, LAN discovery active,
hosting alive), juste rien à l'écran. WebView2 confirmé installé, donc
ce n'était pas la cause.
Diagnostique : c'est un mode de panne classique de WPF sur certains
environnements où l'accélération matérielle DirectX échoue silencieusement.
La fenêtre est créée, la message loop tourne, mais rien ne se rend
visuellement. Aucune exception ne remonte parce que le pipeline graphique
échoue en dehors du try/catch managé.
Environnements à risque :
- Sessions Bureau à distance (RDP) — accélération matérielle limitée
- Machines virtuelles sans hardware accel (Hyper-V Gen 1, VirtualBox,
VMware basic)
- GPU Intel HD anciens avec drivers obsolètes
- Windows Server sans Desktop Experience
- PCs corporate avec GPU émulé (RDS, Citrix)
Fix : check au démarrage et fallback vers RenderMode.SoftwareOnly dans
3 cas :
1. RenderCapability.Tier == 0 — WPF lui-même dit "pas d'accel possible"
2. GetSystemMetrics(SM_REMOTESESSION) != 0 — session RDP détectée
3. Variable d'env PSLAUNCHER_SOFTWARE_RENDER=1 — override manuel
Le mode choisi est logué au démarrage (Tier=X RDP=Y EnvOverride=Z →
SoftwareOnly=W), donc en cas de re-rapport on saura immédiatement si
c'est ce code qui s'est déclenché.
Trade-off : rendu software ~30% plus lent sur le scroll et les
animations, mais visible vs INVISIBLE. Le bon trade-off.
Pour l'utilisateur déjà bloqué AVANT cette release : set la var
PSLAUNCHER_SOFTWARE_RENDER=1 dans les variables d'environnement Windows
de la session user (Paramètres → Système → À propos → Paramètres
système avancés → Variables d'environnement), puis relancer.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,9 +18,9 @@
|
||||
<Product>PROSERVE Launcher</Product>
|
||||
<Copyright>© 2026 ASTERION VR — All rights reserved</Copyright>
|
||||
<RootNamespace>PSLauncher.App</RootNamespace>
|
||||
<Version>1.0.2</Version>
|
||||
<AssemblyVersion>1.0.2.0</AssemblyVersion>
|
||||
<FileVersion>1.0.2.0</FileVersion>
|
||||
<Version>1.0.3</Version>
|
||||
<AssemblyVersion>1.0.3.0</AssemblyVersion>
|
||||
<FileVersion>1.0.3.0</FileVersion>
|
||||
|
||||
<!-- Single-file self-contained publish profile (used by `dotnet publish`) -->
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
@@ -47,7 +47,7 @@
|
||||
Le runtime est pré-installé sur Win11 et auto-mis-à-jour via Windows
|
||||
Update sur Win10 récent. Si absent, le contrôle affiche une erreur
|
||||
et on aiguille l'user vers https://go.microsoft.com/fwlink/p/?LinkId=2124703 -->
|
||||
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.2792.45" />
|
||||
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.3792.45" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
Reference in New Issue
Block a user