










I built a full-featured scrcpy GUI with a web interface, Winlator support, and per-app profiles — v0.20 just dropped
I built a full-featured scrcpy GUI with a web interface, Winlator support, and per-app profiles — v0.20 just dropped
Hey r/scrcpy,
I've been working on qt-yascrcpygui for a while now and just released v0.20. It's a PySide6 (Qt) frontend for scrcpy focused on making it actually comfortable to use as a daily driver, especially if you manage multiple apps or games with different streaming needs.
Here's what it does:
Per-app scrcpy profiles
Every app or game gets its own saved scrcpy configuration. Resolution, bitrate, codec, encoder, display mode, all saved and loaded automatically when you launch. No more re-typing flags every time.
Advanced video stream configuration
Beyond the basics, you can now tune color range (full/limited/auto), I-frame interval, bitrate mode (constant vs variable), and audio bitrate, all exposed in the UI and passed directly as scrcpy codec options. Useful if you're trying to squeeze quality out of a constrained network or get lower latency on a local connection.
The extraargs field also lets you run arbitrary commands before and after a scrcpy session using PRE:: and POST:: prefixes, so you can do things like set up ADB reverse tunnels before launch and tear them down after.
Web server with PWA support
There's a built-in web server (FastAPI) you can enable from the GUI. It exposes your app list, lets you launch apps remotely, and syncs configuration in real time, including Winlator games. The frontend is a PWA, so you can add it to your phone's home screen and use it as a remote launcher without touching the desktop.
Winlator shortcut frontend
If you use Winlator, the app reads your exported .desktop shortcuts directly and shows them in a dedicated tab with icons extracted from the game's .exe file. Each game gets its own scrcpy profile, which is handy since Windows games often need completely different resolution and performance settings than regular Android apps.
What's new in v0.20
- Right-click menu on any app or game to quickly save settings or pin it
- UI now auto-navigates to the correct config tab when you open an app's settings
- Fixed multiple memory leaks, idle RAM dropped from ~680 MB to ~300 MB by capping icon decode resolution
- Fixed crashes when reopening ADB Wi-Fi and Session Manager windows (lifecycle management was destroying objects while references were still held)
- Device detection moved from a polling loop to a persistent background thread, no more slowdowns over long sessions
- All ADB/scrcpy subprocess calls now have timeouts so the app can't hang on an unresponsive device
- Clean shutdown: web server, device monitor, and background workers are all properly stopped on exit
Links
- GitHub: https://github.com/gabreek/qt-yascrcpygui
- Releases (pre-compiled x86_64 and ARM64): https://github.com/gabreek/qt-yascrcpygui/releases/latest
Linux only for now. Would love feedback, especially from anyone running it on ARM or using it with Winlator.