Repository navigation
Releases: elliotttate/SteamFrame-Advanced-Options
Release list
v1.8.2 — Driver compatibility and lower-latency HEVC
This release adds public SteamVR driver support, clearer patch recovery messages, and an optional HEVC preset based on the latency investigation.
Download SteamFrame-Advanced-Options-win-x64.zip, extract it into a new folder, and run SteamLinkVRSettings.exe. The ZIP includes the Windows and .NET runtimes, codec companion, and updated guides. Close the previous app before updating.
Changes
- Public and beta SteamVR support: the bitrate override recognizes public build 25330290, beta build 25839986, and the earlier verified beta driver. It selects the patch from the actual driver bytes and keeps a matching original backup for each version. Compatible unlisted builds must still pass every layout check.
- Useful compatibility errors: Patches & Recovery shows the installed build/branch, recognized driver, supported reference builds, and a Copy driver details button. Unsupported layouts, missing original backups, and damaged recovery files have distinct explanations. Preset failures include the actual cause.
- Lower-latency HEVC preset: 200 Mbps target, single-pass CBR and synchronous sending, retaining HQ's 2048-pixel width, 90 Hz, 10-bit and gaze offsets. Repeated measurements on one RTX 5090/Steam Frame setup showed 25.1 ms versus HQ's 29.6 ms from PC submit to headset decode completion. It uses more compression; equal visual quality is unverified. Load and apply it explicitly; existing presets retain their values.
- Clearer latency guidance: the app and bundled HEVC guide explain the costs of stream width, bitrate and multipass. Auto tune's smoothness score measures delivery hitches; it does not measure end-to-end latency or motion-to-photon. The guide includes the 35-run investigation and its limitations.
- Readable preset menus: large saved catalogs, including many Auto tune results, remain visible in a bounded, scrollable list.
Validation and scope
344 managed tests, seven native tests and 30 compositor assertions passed. Stable and beta patch install/restore/reinstall were verified through the app against exact driver hashes, with regression coverage for branch switching, backups, unsupported layouts and the new preset's save/apply behavior. One optional legacy-driver fixture was unavailable. The extracted release package was checked for startup, preset loading and compatibility reporting.
The stable support added here covers the PC bitrate/HEVC-level patch. Encoder/gaze controls and experimental codecs retain separate compatibility checks; this release does not establish live streaming support for those features on stable SteamVR. Latency measurements came from one setup and are not a guarantee for other hardware, games or networks. The matched stock/patched driver comparison found no large HEVC-level-related delay in those conditions.
The .sha256 file contains the download's SHA-256 checksum. Full changes are in the bundled CHANGELOG.md.
v1.8.1 — Auto tune recovery and clearer streaming controls
Download and extract the complete Windows x64 ZIP, then run SteamLinkVRSettings.exe. The package includes the .NET and Windows App SDK runtimes.
- Auto tune detects stopped video between trials, reconnects the same captured PC with
at most two recovery attempts per run, and requires fresh output before measuring again.
Reconnection stops a stale headset streaming client before restarting it, and restores
the connection before using SteamVR settings APIs. Cleanup errors retain the original cause. - A brief low-output interval no longer ends a trial after only a few seconds. Completed
windows still require enough encoded video; invalid counters and changed settings remain errors. - Wireless advice now requires fresh measurements and avoids recommending more bandwidth
from an underloaded scene. Current link problems take priority over an older sweep result. - A measured ceiling must have adequate video output and a completed clean confirmation
before it can be offered, applied or saved. If confirmation fails, a lower clean candidate
receives its own confirmation instead of being assumed safe. - Pending gaze-quality edits survive background polling and navigation. Irrelevant controls
are disabled, and scrolling no longer accidentally changes dropdown selections. - Back to stock no longer mistakes an exited SteamVR process for a running driver during
shutdown. After saving the recovery profile, it disables automatic reapply so a later
restoration error cannot re-arm the old encoder override on the next restart. - Compact windows have wrapping action buttons, readable Overview metrics, a more accessible
live graph and Auto tune start button, and grouped radio/capacity details. - Live verification completed 64 valid Auto tune trials in 25:05, produced three labeled
recommendations and restored the starting settings. A separate deliberate stream-drop test
verified automatic recovery and continued measurement. Short screens retain limited-confidence
labels, and observed streaming hitches remain visible. - Live Back to stock verification restored the exact original driver, removed saved tuning
overrides, and resumed Valve-controlled VBR/single-pass encoding with no pending-policy warning. - Validation: 334 managed tests, seven native tests and 30 compositor assertions passed.
One legacy patcher test was skipped because its external driver fixture was not provided.
SHA-256 checksums are provided in the attached .sha256 file.
v1.8.0 — Headless sweeps and the measured ceiling
1.8.0 — Headless sweeps and the measured ceiling
- Keep Frame awake on the Overview card renews the headset's own 60-second activity
extension every 20 seconds over the paired SSH link, like Auto tune's unattended mode, so a
Frame on a desk keeps streaming. The capacity sweep and Restart Frame stream hold the same
extension while they run; it ends when switched off or when the app closes. - The sweep's highest clean target is kept across restarts and saved as a personal preset
("Measured ceiling N Mbps …") built from the current setup with only the target changed. The
card compares it with Valve's 200 Mbps automatic starting rate, and Apply N Mbps now puts
the measured ceiling on the running stream in one click with automatic bitrate off. - The sweep measures a marginal or failed step a second time before it counts (twice per sweep
at most) and confirms the winning step with another pass before saving it as the measured
ceiling, so one burst of interference neither ends the sweep early nor becomes the recommended
rate. A failure that does not repeat counts as marginal: the sweep goes on, but that rate is
not recommended on its own.
Two-pass steps are marked in the results and the summary names every marginal target. Each
sweep replaces the measured-ceiling preset the app saved before instead of adding another. - The card keeps the last 20 sweep results and, once two fall within a week, says whether they
agreed within a step or ranged, with advice for a link that varies: settle on the lower value,
or use automatic bitrate starting at the higher one so SteamVR backs off when the link dips.
For the first 90 seconds after a sweep the card says the live counters still include the
sweep's highest steps instead of arguing with the result. - The sweep's start dialog offers Apply the measured ceiling when the sweep finishes (on by
default, remembered), so one click measures the link and puts the result on the stream. The
summary now states how much video the winning step actually averaged and calls the result
lightly tested when that was under 85% of the target, since a static scene never asks the link
for the full rate. - Reading steamvr.vrsettings right after a change no longer fails with "being used by another
process": SteamVR holds the file exclusively for a moment while it saves, and the read now waits
it out. The sweep's measured-ceiling preset was the first victim. - The sweep can show Auto tune's moving test scene in the headset while it measures (ticked by
default when nothing is playing), so a headset on the desk tests the link at the full rate
instead of a still scene's third of it. Receiver retry requests are now listed per step and
count against a step only at 60 or more per minute; held frames and the headset loss ratio
remain the judges, since a full-rate scene logs a few retries per step on a healthy link. - A sweep that finds no clean step now leads the card (nothing above its best marginal rate is
worth trying now), retires the saved ceiling instead of leaving an "Apply N Mbps" button for a
rate the link just refused, and is kept in the history as such. - Apply N Mbps now is no longer a permanent button: it appears for 20 minutes after a sweep
whose winning step the encoder actually filled, and older or lightly tested ceilings stay in
the text and the Measured ceiling preset. Lightly tested results are left out of the history
range and of the Automatic from N Mbps suggestion. - Before the first step the sweep and the check wait for ten quiet seconds without a stream
recovery request (up to 40 s), so a stream that has just restarted is not scored as failing. - Check this rate (30 s) measures the live target once, as one sweep step with the same
rules, re-check and test scene, and reports whether that rate is clean today without changing
or saving anything. - Automatic from N Mbps appears once the week's clean ceilings disagree by a step or more:
one click turns automatic bitrate on with SteamVR starting at the highest ceiling measured
instead of Valve's 200, with the manual target raised so it does not cap the start.
v1.7.0 — Wireless auto tune, link visibility and guided setup
1.7.0 — Wireless auto tune, link visibility and guided setup
- Overview's new Wireless link card reads SteamVR's own adaptive-bitrate output from the
driver log: the 30-second link estimate with its automatic/manual flag, the per-frame
link-capacity histogram (share at or above 350 Mbps, 10th percentile, median, share below
100 Mbps, drawn on a log scale) and sender throttle events counted as held frames per minute. - Bad-link events that changed the bitrate are described as such ("SteamVR lowered the stream
from 200 to 150 Mbps after an 86.7 ms link stall") with holdoff and automatic flags captured.
The graph's dashed target line follows the driver's latest stated rate once it is newer than
the last target change, so automatic mode and throttled streams show where the bitrate is. - Reads the Valve dongle's radio association from the Windows WLAN service with no pairing:
band, channel, channel width when reported, PHY type and rate, signal, RSSI and retry
counters when the driver advances them. Weak signal, 2.4 GHz, a narrow channel or a slow PHY
are highlighted on Overview and Connection. - A wireless advisor combines these with headset loss and latency, dongle USB speed and the
driver ceiling into one recommended manual target with reasons and a confidence level.
Use N Mbps loads it into Stream settings with automatic bitrate off; Apply activates it. - Find my link's limit sweeps the manual target in 50 Mbps steps while you play, scores each
step on held frames, step-downs, headset loss, recovery requests, receiver retries and encoded
rate, stops after a failure or two marginal steps, reports the highest clean target and restores
the original target and automatic setting afterwards, on Stop, or when the app closes. The sweep
and Auto tune refuse to run at the same time. - Restart Frame stream tells the headset's own Steam client to stop its PC VR stream and
stream again over the paired SSH link, without restarting SteamVR, and waits for the driver to
report the video link active. The sweep runs it before starting and when a step loses the
link; Reconnect Frame uses the start half when SteamVR restarts without fresh video. The
Overview card shows when the video link last became active or inactive. - Auto tune trials now record held frames and bitrate changes from the driver log; a trial in
which SteamVR lowered the stream below the candidate's target is a serious issue, and the
recommendation notes say so. - The automatic starting bandwidth (
recommendedBandwidthMbit, Valve's default 200) is edited
beside the Automatic bitrate toggle, saved in presets and applied with the other stream
controls instead of under Additional settings. - Added the built-in Balanced wireless (stock driver) preset: a fixed 200 Mbps target,
90 Hz, 1536-pixel width, 10-bit, dongle-only links and Valve encoder defaults, needing no
driver patch. - Auto tune now screens at neutral 0 / 0, then independently compares positive,
neutral and negative gaze/periphery offsets on shortlisted modes. Starting offsets
and measured combinations are included; each saved choice retains its tested map. - Ranking prioritizes the serious-issue threshold and balances smoothness, resolution,
Hz and regional detail. Higher Mbps alone adds no score. Bitrate probes use available
whole-frame QP evidence only at otherwise identical settings. Reports show the
measurements and progress reserves the additional quality comparisons. - Added mode/test counts, estimated overall progress, current measurement seconds,
elapsed time and separate preparation/comparison/tuning/restoration stages.
Interrupted runs retain their actual partial progress and diagnostic reason. - Waits for headset telemetry to settle after mode changes and retries a transient
missing wireless route or receiver once against the same PC. Mid-trial measurement
failures remain visible and are never treated as clean performance. - Skips unnecessary Hz restarts when the Frame and PC already report the new rate
and the encoder accepts the requested width. Required pass and confirmation
restarts now explain their purpose in the progress panel. - Closing a measurement now waits for fresh test-scene telemetry, preventing a
repeated half-second scene sample from falsely invalidating an otherwise live trial. - Fixed Frame Hz switching to use the PC-streaming app's refresh preference,
which overrides the headset's global setting. Both actual rates are verified. - Multipass changes now wait for a fresh encoder session after live testing
exposed a GPU fault during an in-place full-pass transition. Screens are grouped
by pass to reduce restarts, and receiver failures retain their diagnostic reason. - Auto tune now returns multiple explicit presets with stream width, Hz, bitrate,
encoder pass and measured tradeoffs. It no longer gates recommendations on beating
Valve defaults or substitutes stock settings when the comparison is inconclusive. - Screens 1280/1664/2048-pixel widths plus the current width, at 90 and 120 Hz.
Single, quarter and full multipass are compared before refining three leading modes. - Default screens take 10 seconds and confirmations 35 seconds. Bitrate headroom,
durations, mode comparisons and serious-issue thresholds are configurable. - Final confirmations start with a fresh encoder. A poor confirmation can try one
previously measured alternative; detail and refresh choices prioritize those modes
among settings below the user's serious-issue threshold. - Saves each choice separately. Partial runs retain completed measurements; an
unavailable connection produces an explicit unmeasured starting option. - Added a separate durable display journal: tests change and verify actual Frame/PC
Hz, then restore the original active rate and refresh preferences, including recovery
after interruption. Width changes are verified against the accepted encoder state. - Unattended mode renders an animated per-eye SteamVR scene with the headset off
the user's head, using bounded temporary activity/power overrides. - Scores complete windows, keeping isolated hitches as observations. Strong stalls
and sustained delivery problems receive greater penalties. Valid bad results remain
visible; options below the configured serious-issue thresholds are preferred. - Records actual Hz, affected-frame estimates, burst windows and smoothness scores.
PC timeout-state entries and timed-out presentations remain separate counters.
Missing telemetry, session changes, reset counters and encoder errors cannot establish an improvement. - Restores starting settings using a durable before-write journal that preserves newer
external edits. Quality alternatives are optional and retained in the saved preset. - Restarts SteamVR when a benchmark rate-control transition needs a new encoder session,
resumes the same host, rebuilds observers, and verifies the active settings before scoring.
Valve's adaptive target updates no longer prevent restoration of the original manual target. - Fixed the encoder helper retaining CBR during Valve-owned rate-control transitions even
when the app had never overridden that session's rate control. Default and multipass-only
requests now preserve Valve's choices; explicit app overrides still use reconnect guards. - Fixed false timing-history gaps from corrected vsync timestamps, and stopped treating
uneven scene submission spacing alone as proof of a missed presentation. - Uses passive encoder metadata and persistent PC/headset OpenVR, SSH and UI observers.
The owned scene uses multimedia scheduling; the remote observer runs at lower priority.
Boundary logs retain repair, recovery and encoder warnings separately from frame counters. - Compares gentler quality offsets on promising modes and stops increasing bitrate
when its measured tradeoff worsens or crosses the serious-issue threshold. - Removed invalid live send-mode comparison:
asyncSendtakes effect on reconnect.
Auto tune checks the running sender and rejects pending setting mismatches.
Applying a preset on the verified driver reconnects and verifies a changed sender mode. - HEVC refresh changes now set the Frame's display mode through paired SSH,
verify its display-frequency property, and confirm the active PC headset rate.
SteamVR reconnects if needed. Stream settings distinguish selected and active Hz. - Added a first-run bitrate walkthrough and a way to reopen it in Patches & Recovery.
It reports verified original, existing patch, missing or unsupported driver states;
explains preset-installed patches; and installs with backup and verification.
Patch classification requires an exact original or patched hash.
v1.6.0 — Frame reconnect and tuned HEVC
SteamFrame Advanced Options v1.6.0 adds reconnect recovery and our current tuned HEVC preset.
- Reconnect Frame: one SteamVR restart, restoration of prior HEVC tuning requests, and verification of fresh encoded video. Recovery reports when the headset has not returned instead of repeatedly restarting.
- Updated help: unplug/replug guidance for a stalled dedicated dongle, including use of the same USB port or hub; clearer explanations of helper-version mismatches and encoder policies waiting for reconnect.
- All four built-in presets: Tuned HEVC, Smooth HEVC, High quality HEVC, and Full-resolution HEVC — Experimental. Every preset remains editable.
- Tuned HEVC: 400 Mbps target, 90 Hz, 10-bit, 1664-pixel width, quarter-resolution multipass, synchronous sending, and center/outside-gaze offsets of -20/-12.
- Encoder and diagnostics fixes: maximum-QP changes require encoder reinitialization; accepted rate-control status is clearer; compositor handoff and recovery-trace timing labels are more accurate.
- Source tools: latest-build launcher and a matching-helper diagnostic build workflow to keep historical research helpers out of normal recovery.
Download and extract the complete SteamFrame-Advanced-Options-win-x64.zip, then run SteamLinkVRSettings.exe. The ZIP includes the .NET and Windows App SDK runtimes, codec companion, presets, and updated guides. Personal settings are kept separately.
If SteamVR has an older helper loaded, use Reconnect Frame or Restart SteamVR and resume once. This briefly disconnects the headset and may close the running game.
Bitrate values are targets, not guaranteed output. Sustained smooth 400 Mbps gameplay is not established. The full-resolution multipass preset remains experimental.
Validation: 113 managed tests, six native test executables, 25 compositor-timing assertions, ten launcher checks, and the managed probe harness passed. The optional original-driver patcher fixture was not configured and that test was skipped. Reconnect was exercised on the paired Frame; the helper notice stayed cleared across two app reopenings.
v1.5.1 — Automatic encoder helper recovery
An app update can leave the previous encoder helper loaded in an already-running SteamVR session. v1.5.1 replaces the restart-only error with a recovery action and clears stale monitoring errors once the stream recovers.
- The app detects the old helper and offers Restart SteamVR and resume.
- Starting monitoring handles the upgrade: restart SteamVR once, wait for the replacement streaming driver, load the matching helper, and resume monitoring.
- Saved encoder tuning is reapplied when Reapply is enabled. Unapplied edits remain staged.
- Background checks never restart SteamVR. Recovery cannot loop through restarts, and it leaves paired codec sessions under their own controller.
- The warning explains that restarting briefly disconnects the headset and may close a running game. A helper mismatch no longer suggests unnecessary administrator access.
- A previous monitoring error clears when monitoring recovers, including after a manual SteamVR restart.
- A closed codec session no longer leaves monitoring stuck at "reconnecting" when Windows reuses its process ID and no codec supervisor owns the session lock.
Includes all three HEVC presets and the SteamFrame Advanced Options name from v1.5.0.
Download SteamFrame-Advanced-Options-win-x64.zip, extract the whole folder and run SteamLinkVRSettings.exe. Personal settings and presets remain compatible. The archive checksum is in SHA256SUMS.txt.
Validation: 86 managed tests (including 10 recovery cases and two closed-session ownership cases), six native encoder suites and 25 compositor timing assertions passed. The packaged app completed a live one-click recovery: a replacement SteamVR process loaded the matching release helper, the upgrade warning cleared and verified 10-bit HEVC output returned. Native export/read-only checks passed; the absent-server Start check was skipped because SteamVR was running. The driver patch fixture test was skipped because no fixture was configured. The portable archive and uploaded checksums were verified. The native helper and bundled codec runtime are unchanged from v1.5.0.
v1.5.0 — SteamFrame Advanced Options
SteamFrame Advanced Options is the new name of the app and repository. This release adds two bundled HEVC presets and more encoder controls, and includes all v1.4.1 streaming reliability fixes.
Bundled presets
| Preset | Bitrate target | Encoding |
|---|---|---|
| Smooth HEVC | 300 Mbps | Single-pass VBR, original gaze quality |
| High quality HEVC | 400 Mbps | CBR without padding, quarter-resolution multipass, gaze/periphery offsets of −2/−6 |
| Full-resolution HEVC — Experimental | 400 Mbps | High quality HEVC with full-resolution multipass analysis |
All three use 90 Hz, 10-bit HEVC and a 2048-pixel stream width. Select a preset in Stream settings, review its controls, then Apply. Built-ins remain available alongside personal presets.
Bitrate values are targets, not guaranteed throughput. Full-resolution multipass has not been shown to improve headset quality or bitrate and can worsen frame timing. High quality HEVC retains the previously measured settings.
More encoder options
- Full-resolution multipass joins Valve default, single pass and quarter-resolution multipass.
- Optional GOP bitrate consistency and keyframe I/P bit ratio controls can be saved in personal presets, with requested, pending and accepted readbacks.
- These two advanced controls require a new encoder session and remain unset in the built-in presets. Keyframe ratio is intended for CBR with single-frame VBV.
Download and upgrade
Download SteamFrame-Advanced-Options-win-x64.zip, extract the entire folder, and run SteamLinkVRSettings.exe. The portable package includes the .NET and Windows App SDK runtimes. The executable and settings storage keep their existing names so personal settings and presets remain compatible.
Close the old app before switching copies. The app display name, repository and ZIP now use SteamFrame Advanced Options. SHA256SUMS.txt contains the archive checksum.
Validation
- Release build passed, with 74 managed tests, six native encoder test suites, 25 compositor timing assertions and 21 codec companion tests passing.
- Native helper export and read-only checks passed. The absent-server Start check was skipped because SteamVR was running.
- The driver patch fixture test was skipped because no fixture was configured.
- Portable archive integrity, UI resource presence, version/name metadata and bundled codec runtime provenance were checked. The codec runtime is unchanged from v1.4.1.
- No new headset gameplay benchmark was performed for this release.
v1.4.1 — Streaming reliability fixes
This release fixes streaming reliability issues found in an audit of the HEVC, H.264 and AV1 paths, presets and diagnostics.
- Codec bitrate backoff: experimental H.264/AV1 sessions treat the requested bitrate as a ceiling. SteamVR's own rate control can now lower it after bad-link events, instead of the session holding a rate the link cannot carry.
- 232 Mbps check for codec sessions: H.264 targets above 232 Mbps are refused on a verified original driver, as they already were for HEVC. Install the bitrate patch first. An unrecognized driver produces a warning.
- HEVC restore: ending a codec session puts back your previous bitrate, automatic bandwidth, link-joining and stream-width settings, including after an interrupted session.
- Session lifetime: quitting SteamVR ends a codec session without relaunching SteamVR. The 90-minute limit no longer stops a running game; HEVC is restored when SteamVR exits, or automatically before the Frame administrator session's two-hour limit.
- Lower PC overhead: the codec companion watches SteamVR through Windows process handles instead of starting PowerShell about twice a second, and the PC adapter no longer re-queries its encoder preset on every frame.
- HEVC encoder controls: a rate-control setting that NVENC rejects at startup falls back to Valve's configuration instead of preventing the stream from starting. Conflicting advanced settings are rejected individually, and a VBV-only override no longer rejects every other advanced setting.
- Presets and Back to stock: tracking, OSC, eye-tracking sharing, NAT, dashboard, shutdown and volume preferences are no longer saved, removed or reapplied. Out-of-range values from older releases no longer block Back to stock or saving a preset. Apply validates the whole request before a preset stops SteamVR or changes the driver patch.
- Diagnostics: encoder-stall capture now includes SubmitFrame, reconfigure and submit-to-start warnings, and frame-ID stream resets are recorded. One failing source no longer freezes the dashboard, OpenVR reads stop waiting after three seconds, and an unreadable codec status or driver backup no longer blocks actions or closing the app.
If a codec session from an older version is still running, select HEVC and apply before starting a new session, so the updated companion is used.
Validation: 65 managed tests, six native encoder test suites, 18 codec-companion and three Frame root-helper tests, and 25 compositor-timing assertions passed. The PC codec adapter encoded and independently decoded H.264 and AV1 at 90 and 120 Hz on the development PC's NVIDIA GPU. The self-contained package's contents, codec runtime imports and decoder fingerprint were verified. Patcher fixture tests were not run for this build, and the codec-session changes have not yet been exercised in a live headset session.
Download SteamLinkVRSettings-SteamFrame-win-x64.zip, extract the entire folder and run SteamLinkVRSettings.exe. SHA256SUMS.txt verifies the ZIP. The bundle includes the codec companion/runtime and the experimental decoder's corresponding source; it excludes personal configuration, credentials, captures and original Valve binaries.
v1.4.0 — High quality HEVC and USB link status
This release adds a built-in High quality HEVC preset, fixes HEVC rate-control handling, and shows whether the Valve dongle is actually connected at USB 2 or USB 3 speed.
- High quality HEVC: 400 Mbps target, 90 Hz, 10-bit, 2048-pixel stream width, CBR without padding, quarter-resolution multipass, asynchronous sending, and center/peripheral quality offsets of −2/−6.
- Editable settings: load the preset for review, change individual controls in Stream settings or Advanced, and save your own version. Built-ins remain separate from personal presets. HEVC now exposes the 90/120 Hz refresh preference, and Apply from Advanced applies the complete loaded preset.
- Encoder fixes: correct NVENC rate-control capability flags and retain the last accepted mode when the encoder cannot change it until reinitialization. Improve high-bitrate H.264 buffer-limit signaling and entropy selection.
- USB status: report the dongle's negotiated USB bus speed, with explicit unknown/stale states and USB 2 guidance. This is separate from Wi-Fi rate and measured video throughput.
- Codec reliability: tolerate transient Windows heartbeat-file sharing conflicts and preserve encoder initialization diagnostics before recovery.
- Research tools: include the standalone SteamVR multistream prototype and HEVC decoder/timing experiments in source. The app's normal streaming path remains single stream; the prototype is not a supported 400+ Mbps gameplay mode.
The bitrate setting is a target, not a guaranteed delivered rate. A 270-second Galactic Racer observation at this HEVC setup averaged 274.71 Mbps of coded video and 89.70 encoded fps. Presentation timeouts and PC drops still occurred. See the included high-quality HEVC guide for the controls, observations and limits. Gaze offsets change compression quality, not the physical tracked-region size.
Validation: 65 managed tests (including patch/restore tests with verified local fixtures), six native encoder tests, 13 codec-companion tests, three multistream session tests, and 25 compositor-timing assertions passed. Windows/Frame multistream contracts and Frame decoder crop/framing tests passed. The self-contained package's contents, fresh compiled UI resources, codec runtime imports and decoder fingerprint were verified. Live gameplay was not restarted for release packaging.
Download SteamLinkVRSettings-SteamFrame-win-x64.zip, extract the entire folder and run SteamLinkVRSettings.exe. SHA256SUMS.txt verifies the ZIP. The bundle includes the codec companion/runtime and the experimental decoder's corresponding source; it excludes personal configuration, credentials, captures and original Valve binaries.
v1.3.0 — Presets, stock recovery and H.264 bitrate controls
This release adds a redesigned interface, complete tuning presets and stock recovery, and extends the experimental H.264 bitrate controls beyond the previous 200 Mbps limit.
- One navigation sidebar with Overview, Stream settings, Diagnostics, Connection, Advanced, Patches & Recovery, Additional settings and Back to stock.
- Save one complete setup per preset, load it for review, then apply it. Stock recovery saves previous tuning and restores verified original components and Valve defaults.
- Fix Start/Stop monitoring buttons flickering during live polling, improve display scaling, and wait for SteamVR settings after codec rollback.
- H.264 now accepts 25–500 Mbps requests throughout the UI, presets, companion and native adapter. AV1 retains 25–200 Mbps. Older companions are detected before sending unsupported high-rate requests.
- The portable bundle includes the guarded AV1/H.264 patching runtime, Python runtime, decoder module and corresponding decoder source. Starting an experimental session still requires the supported Frame kernel/client, Developer Mode, trusted SSH pairing and administrator authentication.
H.264 was tested over the dedicated dongle at 90 Hz with the same moving pattern:
| Target | Actual video | Encoded fps | Presentation timeouts |
|---|---|---|---|
| 200 Mbps | 148.5 Mbps | 89.88 | 0 |
| 225 Mbps | 166.0 Mbps | 89.73 | 0 |
| 250 Mbps | 184.6 Mbps | 89.59 | 3 |
| 300 Mbps | 211.4 Mbps | 85.54 | 51 |
| 500 Mbps | 56.5 Mbps | 14.95 | 780 |
225 Mbps was the highest clean short trial (about 41 seconds). Higher targets can severely stall the tested stream; the new control range does not guarantee sustained throughput. A longer confirmation was not run. H.264 still uses a smaller packed image than AV1.
Validation: 47 core tests and 6 companion contract tests passed, alongside native H.264 GPU/ABI checks. Clean-package H.264 and AV1 startup, decoded pattern output and stock rollback were verified on the supported device.
Download the win-x64 ZIP, extract the entire directory and run SteamLinkVRSettings.exe. SHA256SUMS.txt verifies the download.