Release V15.2 - Stability Overhaul, Full Gyro Emulation, PresentMon FPS, Legion Go S fixes
LatestThis update focuses on installation & stability fixes for the issues reported on V15.1 (#90, #91, #92), plus a complete overhaul of controller emulation gyro support.
Installation & Stability (please update if GoTweaks was broken for you)
- Fixed the helper deploy bug that could wipe its own install and leave GoTweaks stuck on "Initial Setup in progress" forever. This also caused the helper to stay on an old version after updating (Legion tab missing, widget stuck "Launching helper").
- Fixed duplicate helper processes spinning at full CPU after first setup (mutex + setup-handoff race). If you saw several XboxGamingBarHelper.exe in Task Manager, this was it.
- Downloads (PawnIO installer, ViGEmBus installer, updates) now have real timeouts. On machines with strict outbound firewall rules the Install buttons silently hung forever - they now fail with a logged error instead.
- Display resolution/refresh detection now pins to the primary display device. Fixes phantom "1920x1080@60" readings on multi-GPU / eGPU / LTSC setups (#91, #47).
- Legion Go S: the controller monitor no longer rescans incompatible HID devices in an endless loop (CPU waste + log spam). Go S skips the monitor entirely; other devices back off smartly and recover within seconds when controllers are powered back on.
- Game Bar no longer closes instantly on activation-path exceptions (#81) - global exception guard with logging.
Controller Emulation - Gyro on every target
Fully mapped IMU (gyro + accelerometer) wire formats for all VIIPER targets, verified against SDL3 and Steam on Legion Go 2:
- DualShock 4 / DualSense / DualSense Edge
- Steam Deck (also fixes sticks/buttons silently not working - SDL3 rejected every report due to a header length bug)
- Switch Pro, Joy-Con Pair, Joy-Con Left & Right (landscape single Joy-Con with SL/SR mapped from back paddles)
- New "Alternate gyro convention" toggle for downstream apps that read gyro differently (Steam gyro-to-mouse vs native game gyro)
- Software gyro bias calibration (Steam-style one-shot capture) + torn gyro register read filter for Legion Go 2 firmware quirk
PresentMon FPS + FrameBudget OSD (#66)
- Rendered vs displayed FPS from Intel PresentMon - finally see real frame generation output (AFMF/LSFG show [FG] badge)
- New FrameBudget OSD item with CPU/GPU-bound indicator
GoTweaks Lighting & Haptics
- Reactive lighting effects, button haptics, and controller sleep timeout for Legion Go
Fixes
- Charge limit persists and re-applies on boot (#88, #92)
- AutoHibernate AC/DC gate reads correct battery status (#88)
- Fan RPM always pushed to OSD; fan curve respects max point instead of hardcoded 100% (#83, #88)
- Custom Legion SPPL/FPPT persist across reboot and profile reapply (#79)
- UWP / Microsoft Store game detection (Forza Horizon 4) via ApplicationFrameHost resolution (#87)
- AFMF Display-tab toggle reliably reaches the AMD driver
- Legion Go 2 CPU/GPU wattage OSD labels match Adrenalin
- Keyboard bind dropdowns label Win keys as LWin/RWin (#68)
- Per-profile TDP Boost deltas; CPU optimization pass (sensor walk gating, idle throttling)
- Quieter logs: game detection, HID reconnect, RTSS attach
Known issues
- Joy-Con Right gyro mapping shipped with best-known values - feedback welcome if motion feels off
- Game Bar overlay tiles can render out of bounds after "Rearrange tiles" on some LTSC setups (#91) - investigating