Skip to content

fix(native): enable DX11 VSync-off and G-Sync presentation#640

Merged
zortos293 merged 1 commit into
devfrom
capy/fixnative-enable-dx11-vsync
Jul 15, 2026
Merged

fix(native): enable DX11 VSync-off and G-Sync presentation#640
zortos293 merged 1 commit into
devfrom
capy/fixnative-enable-dx11-vsync

Conversation

@zortos293

Copy link
Copy Markdown
Collaborator

Summary

  • disable the implicit display-refresh present cap in Lowest Latency mode
  • keep Cloud G-Sync presentation below the monitor refresh ceiling with 3 FPS headroom
  • build and bundle a patched Windows GStreamer DX11 sink that opts into DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING and DXGI_PRESENT_ALLOW_TEARING when supported
  • enable the tearing-capable DX11 path for the Windows native streamer process

Root cause

The native streamer configured GStreamer with sync=false, but its default auto present limiter still capped DX11 at the detected display refresh rate. Separately, GStreamer 1.26.8 calls Present(0, ...) without creating the swap chain with ALLOW_TEARING; under DWM this can remain refresh-paced and cannot correctly enter DXGI VRR.

Verification

  • cargo test --manifest-path native/opennow-streamer/Cargo.toml --features gstreamer
  • cargo check --manifest-path native/opennow-streamer/Cargo.toml --features gstreamer
  • npm --prefix opennow-stable run typecheck
  • npm --prefix opennow-stable test
  • npm --prefix opennow-stable run lint (passes with pre-existing warnings)
  • GStreamer patch applies cleanly to the pinned 1.26.8 source
  • release workflow YAML parses successfully

Open OPE-269 OPE-269

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
@zortos293 zortos293 added the capy Generated by capy.ai label Jul 13, 2026 — with Capy AI
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 2be6b4b6-5391-41b9-ad23-9e6eb54cce44

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch capy/fixnative-enable-dx11-vsync

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@zortos293 zortos293 merged commit ed585d1 into dev Jul 15, 2026
24 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

capy Generated by capy.ai

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant