Streamline icon indicating copy to clipboard operation
Streamline copied to clipboard

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

Open Kaldaien opened this issue 1 year ago • 1 comments

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.

Kaldaien avatar Sep 18 '24 19:09 Kaldaien

Sorry to hear SL is giving you issues.

We've been looking at revisiting the exception handling, use of SEH, and crash dump functionality. It's an ongoing discussion regarding the best path forward- while maintaining backwards compatibility with existing integrations.

jake-nv avatar Sep 28 '24 16:09 jake-nv