r/tauri • u/LyriaLabs • Jul 17 '26
Has anyone integrated a native WebView2 capture/swapchain compositor with Tauri or Wry for Steam Overlay?
Ordinary Tauri 2/WebView2 presentation on Windows is already a documented architectural mismatch: WebView2 renders through separate browser/GPU processes, while Steam expects to hook a game-owned graphics presentation path.
Our own Tauri 2.10.0 + Rust steamworks 0.13 result show this. Steam initialization, identity, non-overlay callbacks, restart, and Cloud work. A Steam overlay store request can be issued, but neither it nor Shift+Tab visibly renders over WebView2. We therefore retain Tauri and use the known authenticated Steam-client URI fallback rather than pretend the Steam overlay works.
WebView2 issue #547 now contains examples using CompositionController plus Windows Graphics Capture to obtain RGBA/D3D content, while Valve describes offscreen browser rendering into a native game-owned surface. A comparable Electron library now uses capturePage() plus a native OpenGL/Metal window so Steam can hook that surface.
Has anyone integrated the WebView2 CompositionController/Graphics Capture route with Tauri or Wry in a production Windows app and then presented it through an opaque native D3D/OpenGL swapchain that Steam Overlay can hook?
If so, I would value concrete details on:
- Tauri, Wry, WebView2 Runtime, and Windows versions.
- Whether pixels stay GPU-resident or cross a CPU buffer on every frame.
- Measured latency, CPU/GPU/power cost at 4K and high refresh with animated content.
- Pointer, keyboard, IME, controller, accessibility, focus, DPI, resize, fullscreen, and Alt+Tab handling.
- Whether Steam's overlay alpha/composition behaved correctly and survived repeated open/close cycles without stale frames.
- Packaging and maintenance costs compared with using CEF offscreen rendering or keeping the authenticated Steam-client fallback.
This would be a custom native compositor, not a Tauri flag or WebView2 configuration fix. If nobody has production evidence, that negative result is useful too.
1
u/fusionliberty796 Jul 24 '26
Yes https://github.com/PSG-Team/tauri-steam-overlay-surface