NVIDIA-RTX / NVIDIA-RTX/Streamline
Streamline's interposer Exception Handler must be made defeatable by users
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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