Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FSR 2.0/2.1? #241

Open
tedliosu opened this issue Sep 14, 2022 · 10 comments
Open

FSR 2.0/2.1? #241

tedliosu opened this issue Sep 14, 2022 · 10 comments

Comments

@tedliosu
Copy link

tedliosu commented Sep 14, 2022

Will FSR 2.0/2.1 be added to the game any time in the future by any chance?

@uralets
Copy link

uralets commented Jan 1, 2023

Yeah, they say it's superior to the 1st generation.

@spajdrEX
Copy link

spajdrEX commented Apr 6, 2023

Did they abandoned Q2RTX completely?

@Calinou
Copy link
Contributor

Calinou commented Apr 7, 2023

Did they abandoned Q2RTX completely?

There are still commits being made regularly, it's just that adding FSR2 support isn't a priority. It's also nontrivial due to the FSR2 official buildsystem currently not being Linux-friendly.

The current temporal upscaler in Quake 2 RTX isn't too bad – it was arguably the best open source TAAU out there until FSR2 came out. I don't expect FSR2 to be a gamechanger for Quake 2 RTX as a result. It'll be more of a small evolution instead.

@iddm
Copy link

iddm commented Jul 19, 2023

I honestly don't understand why using DLSS now is impossible. Yes, the libraries will have to be shipped as binaries, but who cares? The API to use those is open now, so there should be no problem implementing DLSS in q2rtx.

@Calinou
Copy link
Contributor

Calinou commented Jul 19, 2023

I honestly don't understand why using DLSS now is impossible. Yes, the libraries will have to be shipped as binaries, but who cares? The API to use those is open now, so there should be no problem implementing DLSS in q2rtx.

See #68. The GPLv2 license Q2PRO is under prevents this, as you can't link a proprietary library in a GPL program (even if it's a separate download). Some projects may be doing this, but that doesn't make the practice legal 🙂

NVIDIA does not own the copyright on all of Q2PRO, since it contains code from dozens of contributors, many of which are unreachable today. Plus, the original id Software code is also GPLv2 (although NVIDIA could get an exception from Bethesda, like what happened with the Doom and Quake re-releases).

@uralets
Copy link

uralets commented Jul 21, 2023 via email

@Axer128
Copy link

Axer128 commented Sep 3, 2023

I honestly don't understand why using DLSS now is impossible. Yes, the libraries will have to be shipped as binaries, but who cares? The API to use those is open now, so there should be no problem implementing DLSS in q2rtx.

See #68. The GPLv2 license Q2PRO is under prevents this, as you can't link a proprietary library in a GPL program (even if it's a separate download). Some projects may be doing this, but that doesn't make the practice legal 🙂

NVIDIA does not own the copyright on all of Q2PRO, since it contains code from dozens of contributors, many of which are unreachable today. Plus, the original id Software code is also GPLv2 (although NVIDIA could get an exception from Bethesda, like what happened with the Doom and Quake re-releases).

Given how many projects, including commercial ones by nightdive studios have done this - see Strife veteran edition, which imports the steamworks dll for achievements (uses chocolate strife engine, which is GPL)...

. I disagree. Law is complex and I don't think it's illegal at all. Unless some top lawyer can otherwise prove it so, the reasoning is based on assumptions from reading more into the license than needed, not anything solid.

If we took it 100% RIGID as your explaining, really you couldn't even run the game on windows at all, because windows is not GPL and no modern windows apps work without importing various closed source windows .dlls. You'd have to make it completely linux only.

So yea, importing close source .dll does not violate GPL. Tons of games do it and no one's violating any laws and no ones getting into trouble.

@res2k
Copy link
Contributor

res2k commented Sep 3, 2023

So yea, importing close source .dll does not violate GPL. Tons of games do it and no one's violating any laws and no ones getting into trouble.

I'm not sure anybody can be so certain. Generally speaking, "Everyone else is doing it" doesn't make something lawful, "noone got sued yet" isn't a protection against future action.

FWIW, and not entirely unsurprising, the FSF thinks differently (https://www.gnu.org/licenses/gpl-faq.en.html#GPLPlugins):
"If the main program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single combined program, which must be treated as an extension of both the main program and the plug-ins."
Practically, you won't be able to write a code interacting with the DLSS libraries without functions calls to each other and sharing data structures.

Even though, as you pointed out, the "practical consensus" seems to be that "DLL plugins are fine", whether it truly is, is somewhat uncertain. And as that view seems to be beneficial for most people, this particular aspect may never be decided with some level of certainty by being taken to court.

Importantly, apanteleev, the main Q2RTX gatekeeper, expressed here: #68 (comment) that his view appears to be aligned with the stricter FSF one.

Of course, anyone else could still create a fork with DLSS support. An actual PR might lead to a more interesting discussion and/or result. But as long as there isn't anybody who wishes to spend the necessary effort to actually code it, this discussion is moot.
("Somebody has to want to spend time on this" applies to FSR 2.x as well, but there the licensing situation would be way friendlier).

@Calinou
Copy link
Contributor

Calinou commented Sep 9, 2023

Given how many projects, including commercial ones by nightdive studios have done this - see Strife veteran edition, which imports the steamworks dll for achievements (uses chocolate strife engine, which is GPL)...

Strive Veteran Edition uses the proprietary Kex Engine. Chocolate Strife is just a byproduct of the Veteran Edition being developed by SVKaiser, who generously donated their reverse engineering work under the GPL to help create Chocolate Strife.

Also, remember that licensing something under the GPL doesn't affect the copyright holder's own use of the software. Bethesda has released the Quake re-release DLLs under the GPL, but they still use them in console ports, which is normally not allowed per the GPL. However, they own the copyright to the code (it has no external contributions), so they can do literally anything with it.

@Axer128
Copy link

Axer128 commented Sep 9, 2023 via email

@Calinou Calinou mentioned this issue Dec 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants