NVIDIA-RTX / NVIDIA-RTX/Streamline

Streamline's interposer Exception Handler must be made defeatable by users

Open
#45 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

triaged
Dominant language
C
Stars
1.2k
Forks
159
PR merge metrics
No merged PRs in 30d

Description

Posting a rant from Special K's recent CHANGELOG because that's all this problem description deserves.

24.9.19
=======
 + Added protection against SteamAPI's internal exceptions being caught by
     NVIDIA Streamline's Interposer DLL and triggering NVIDIA's stupid
       any exception detected ==> minidump crap built-in to DLSS3.

    * Calling SteamAPI functions from overlay code is UNSAFE thanks to NVIDIA
        and their non-defeatable and ill-advised exception handler built-in to
          Streamline.

     Streamline catches exceptions that ARE handled by the software, or are
       continuable, and turns harmless exceptions into full crashes (gah!!).

    sl.interposer.dll is pure evil when officially compiled by NVIDIA using
      the release build configuration.

    @ NVIDIA get that crap out of there please, and remove the codesigned DLL
        DRM so users can at least bypass your boobytrap without losing DLSS3.

The exception handler swallows exceptions that are normally handled correctly and turns them into unnecessary crashes.

And because the stupid Interposer DLL has your awful DRM attached to it, if users were to recompile the Interposer with the exception handling death trap removed, they cannot use DLSS Frame Generation.

Seriously, WTF?

This was a terrible idea, and you are punishing users with DRM that most developers and users do not even know you built-in to Streamline. The DRM is uncalled for and I hesitate to call Streamline "open source" when you pull shenanigans like this.

Nobody can actually modify your software to fix its problems without losing support for the only thing (DLSS-G) Streamline does that developers could not already do as well, if not better, by interfacing with NGX directly.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the NVIDIA Streamline interposer implementation and its exception handler, especially the sl.interposer.dll component named in the report. Determine how users could disable that handler while retaining DLSS Frame Generation support; done should mean handled or continuable exceptions no longer trigger unnecessary crashes without removing that support.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
computer-graphics
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.