Skip to content

FoggyBytes/StreamTweak

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

156 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ StreamTweak

Platform Framework Downloads Built with Claude Code

streamtweak

StreamTweak is the host-side half of the FoggyBytes streaming duo. It automates the technical setup that makes Moonlight game streaming reliable โ€” NIC throttling, spatial audio, HDR, game library sync, session telemetry, NVIDIA driver protection โ€” so you can focus on playing. Paired with its companion client StreamLight, the two apps form a tight, end-to-end streaming stack: configuration, telemetry, store metadata and Tailscale presence flow seamlessly between host and client over a local TCP bridge, with no manual setup on either side.

streamlighthost

โœ… Compatibility

Works with Moonlight, Sunshine, Apollo, Vibeshine, and Vibepollo on Windows 10 21H2 and later. For full integration (Tailscale dual-tile, live charts, store badges, host metrics, NIC control from the client) pair StreamTweak 7.0.0 with StreamLight 3.0.0 on the client PC.

โš ๏ธ Installer warning: Windows SmartScreen may flag the installer because it lacks a commercial code-signing certificate. Choose Keep / Keep anyway. Full source code is available in this repository.

๐Ÿ”ฅ Features

๐ŸŒ Network

  • Auto Streaming Mode โ€” monitors Sunshine/Apollo/Vibeshine/Vibepollo logs and throttles the host NIC to 1 Gbps on client connect; restores the original speed on disconnect. Fixes the bufferbloat-induced latency spikes caused by host/client NICs negotiating at mismatched speeds (e.g. 2.5 Gbps vs 1 Gbps)
  • Manual streaming control โ€” one-click throttle/restore without waiting for log events
  • UAC-free โ€” a LocalSystem Windows Service handles all NIC speed changes (and host-assets writes) via Named Pipe; no prompts ever
  • Tailscale detection โ€” the Network tab shows the host's Tailscale IP with a copy button. Combined with StreamLight 3.0.0+ this enables a dual-tile workflow for remote streaming with no port forwarding (see Paired Features below)

๐Ÿ–ฅ๏ธ Display

  • HDR toggle per monitor โ€” enable or disable HDR from StreamTweak without opening Windows Settings
  • Auto HDR toggle โ€” toggle Windows Auto HDR system-wide; change broadcast instantly to running apps

๐Ÿ›ก๏ธ NVIDIA Sentinel (new in 7.0.0, NVIDIA GPUs only)

  • Profile snapshot โ€” capture the NVIDIA global driver profile to a .nip file (the same format NVIDIA Profile Inspector uses) with one click, restore it, or clear it. The header shows the driver package (Game Ready / Studio), version and release date
  • Auto-restore โ€” arm the toggle and StreamTweak watches the driver settings database (FileSystemWatcher + 5-second polling) and silently re-applies your saved profile within seconds whenever NVIDIA App resets it; every restore is logged to %LocalAppData%\StreamTweak\nvidia-restore.log
  • Readable settings panel โ€” a collapsible terminal-style view lists each customized setting with its NVIDIA label (e.g. "Force on", "Medium") and the real installed DLSS SR / RR / FG versions
  • No external dependency โ€” built on a native port of NVIDIA Profile Inspector's DRS layer (MIT, ยฉ Orbmu2k), decrypter included, so encrypted "internal" settings (DLSS overrides, Shader Cache) are captured and restored correctly. The sidebar entry is greyed out on AMD / Intel

๐ŸŽง Audio

  • Auto spatial audio โ€” activates Dolby Atmos for Headphones or Windows Sonic shortly after session start, on the output device of your choice
  • Output device selector โ€” any audio render device; Steam Streaming Speakers pre-selected when present
  • Live availability indicators โ€” green/red dot per format per device before activation

๐Ÿ—‚๏ธ Streaming App Manager

  • Auto kill & relaunch โ€” define apps to terminate at session start and relaunch at session end (e.g. Hue Sync, RGB suites)
  • Per-app AutoManage toggle โ€” exclude individual apps from automation without removing them from the list

๐ŸŽฎ Game Library Sync

  • Multi-store discovery โ€” Steam, Epic Games, GOG, Ubisoft Connect, Xbox / Game Pass, EA App, Battle.net
  • Native cover art โ€” fetched from each store's CDN and cached locally as PNG
  • Safe sync โ€” manually created Sunshine entries are never touched; uninstalled games removed on next sync
  • Manual game management โ€” Add any executable not auto-detected; remove individual entries with the Remove button
  • Host tile replacement (new in 6.3.0) โ€” replace the default Desktop and Steam tiles in the streaming server's assets folder with StreamTweak-bundled PNGs and revert them on demand, fully reversible, no UAC prompt

๐Ÿ›’ Store

  • Instant Gaming integrated โ€” browse and buy games directly inside StreamTweak via an embedded browser. Purchases contribute a small affiliate commission to FoggyBytes at no extra cost to you, helping fund StreamTweak's development
  • Open in browser โ€” hand off the current page to your default browser with one click; affiliate parameter preserved across the handoff

๐Ÿ“‹ Session History & Telemetry

  • Full session log โ€” every session recorded with duration, RTT avg, frame drops %, detected games and covers (unlimited as of 6.3.0)
  • Quality report โ€” click any session row to open a telemetry overlay: CLIENT stats, HOST stats, four sparkline charts (RTT, drops, bitrate, decode latency), and a quality grade (Excellent / Good / Poor)
  • Live session panel on Home โ€” while a stream is active, the Home card shows real-time RTT and Bitrate sparklines and a running drop-rate percentage
  • Home dashboard โ€” 3ร—3 grid of status tiles for all managed settings at a glance, plus a Logs tile showing the cumulative streaming time across the full session history

๐Ÿ”— Paired Features (with StreamLight)

These features cross the bridge and require both apps. The version next to each one is the minimum StreamLight version that consumes the feature on the client side.

  • NIC control from the client (StreamLight 1.0+) โ€” StreamLight sends PREPARE over the bridge before connecting, with a built-in countdown and auto-revert
  • Host metrics in overlay (StreamLight 1.2.0+) โ€” live GPU %, encoder %, GPU temp, VRAM, CPU %, and network TX served via the STATS command
  • Store badges on game covers (StreamLight 2.0.0+) โ€” the per-game store map is served via the APPSTORES command, so each cover in the client shows the right badge (Steam, Epic, GOG, Ubisoft, Xbox, Battle.net, EA App)
  • Session quality reports (StreamLight 2.1.0+) โ€” client-side telemetry streamed every second to StreamTweak, which computes the grade and the sparklines
  • Live session charts (StreamLight 2.3.1+) โ€” 1-second SESSIONDATA cadence drives the live charts on the Home page
  • Remote session pause (StreamLight 2.3.0+) โ€” a Pause button on the Home page stops the active stream on the client side, piggybacked on the existing STATS polling channel
  • Tailscale dual-tile (StreamLight 3.0.0+, flagship of this release pair) โ€” after the client pairs with the host via its LAN IP, it queries the new TAILSCALE command. If StreamTweak detects a Tailscale adapter in the CGNAT 100.x.y.z range, StreamLight offers a one-time popup to add a second host tile pinned to that Tailscale address โ€” so the user can stream from outside the LAN with a single click, no port forwarding. On the client side, StreamLight 3.0.0 can also be configured to auto-start Tailscale at launch, completing the round-trip: when both apps cooperate the remote stream is always one click away

โœจ What's New in 7.0.0 โ€” "The Sentinel Update"

  • New: NVIDIA Sentinel โ€” a dedicated sidebar page (NVIDIA GPUs only; greyed out on AMD / Intel) that protects the NVIDIA global driver profile from being silently reset by NVIDIA App. Save current as my profile snapshots the global profile to a .nip file (the same format NVIDIA Profile Inspector uses); Restore my profile re-applies it; Clear my profile discards it. The header shows the driver package (Game Ready / Studio), version and release date
  • New: Auto-restore โ€” arm the toggle and StreamTweak watches the driver settings database (FileSystemWatcher + 5-second polling safety net) and silently re-applies your saved profile within a couple of seconds whenever NVIDIA App resets it. Every restore (manual or automatic) is logged to %LocalAppData%\StreamTweak\nvidia-restore.log
  • New: Captured settings view โ€” a collapsible terminal-style panel lists each customized setting in human-readable form: name, hex id, and the value translated to its NVIDIA label (e.g. "Force on", "Medium"), including the real installed DLSS Super Resolution / Ray Reconstruction / Frame Generation versions injected by the override
  • Under the hood โ€” built on a native port of NVIDIA Profile Inspector's DRS layer (MIT, ยฉ Orbmu2k), decrypter included, so encrypted "internal" settings (DLSS overrides, Shader Cache) are read and restored correctly with no external runtime dependency. Scope: the global driver profile only (NVIDIA App's "Global settings"); per-application profiles are not snapshotted

The previous release, 6.3.0 "The Tailscale Update", added the Tailscale dual-tile and Game Library host-tile replacement. See changelog.txt for the full history.

๐Ÿ—๏ธ Architecture

StreamTweak consists of three components:

  • StreamTweakUI.exe โ€” WinUI 3 tray app (unprivileged), built on Windows App SDK 1.8
  • StreamTweak.Core โ€” shared business logic library (NIC control, audio, HDR, game library, telemetry, NVIDIA Sentinel / DRS layer, Tailscale detector, TCP bridge)
  • StreamTweakService.exe โ€” Windows Service (LocalSystem), handles NIC speed changes and host-assets writes via Named Pipe; no UAC ever appears in the tray app

The host-client bridge is a plain TCP listener on port 47998 (LAN, line-delimited ASCII). Commands accepted from StreamLight: PREPARE, RESTORE, STATUS, STATS, APPSTORES, TAILSCALE.

StreamLight (Qt, client PC)
    โ”‚  TCP port 47998
    โ–ผ
StreamTweak (WinUI 3, host PC)  โ†’  Named Pipe  โ†’  StreamTweakService (LocalSystem)
                                                           โ”‚
                                                           โ–ผ
                                                NIC speed via CIM/WMI
                                                Host assets via filesystem

๐Ÿ“ Installation

  1. Go to the Releases page of this repository.
  2. Download the latest StreamTweak_7.0.0_Installer.exe and run it.

The installer registers StreamTweakService as a Windows Service (LocalSystem) so that NIC and host-assets operations require no UAC prompt. Windows App SDK 1.8 runtime is installed automatically if missing.

๐Ÿ™ Support the Project

Donate with PayPal

๐Ÿค Acknowledgements

  • StreamLight โ€” the official FoggyBytes Moonlight fork, designed in lockstep with StreamTweak
  • Moonlight โ€” the open-source streaming client that inspired this project
  • Sunshine โ€” the streaming host that started it all
  • Apollo โ€” community-driven Sunshine fork
  • Vibeshine and Vibepollo โ€” fully supported since v2.5.2
  • NVIDIA Profile Inspector by Orbmu2k (MIT) โ€” its DRS layer and setting catalog were ported natively to power NVIDIA Sentinel

License

License: GPL v3

Packages

 
 
 

Contributors