NVIDIA / Q2RTX

NVIDIA’s implementation of RTX ray-tracing in Quake II
Other
1.22k stars 183 forks source link

FSR 2.0/2.1? #241

Open tedliosu opened 2 years ago

tedliosu commented 2 years ago

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

uralets commented 1 year ago

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

spajdrEX commented 1 year ago

Did they abandoned Q2RTX completely?

Calinou commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 https://github.com/NVIDIA/Q2RTX/issues/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 :slightly_smiling_face:

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 commented 1 year ago

В Ср, 19/07/2023 в 08:55 -0700, Victor Polevoy пишет:

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.

ты предлагаешь инженерам АТИ + авторам дров АТИ реализовать у себя невидьевскую технологию вместо собственной?

Axer128 commented 1 year ago

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 commented 1 year ago

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: https://github.com/NVIDIA/Q2RTX/issues/68#issuecomment-618600762 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 commented 1 year ago

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 commented 1 year ago

Not that it really matters, but no, it doesn't. Just a updated version of chocolatestrife. Which in itself isn't super different than chocolatedoom. Anyone at all moderately familiar with the engine can look in the files and see that. All kex engine games support the kpf file archive. Veteran strife doesn't.

On Sat, Sep 9, 2023, 10:41 AM Hugo Locurcio @.***> wrote:

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.

— Reply to this email directly, view it on GitHub https://github.com/NVIDIA/Q2RTX/issues/241#issuecomment-1712527685, or unsubscribe https://github.com/notifications/unsubscribe-auth/APIFXCP3QEC45GT6SNR7JOLXZR52XANCNFSM6AAAAAAQMCLUMY . You are receiving this because you commented.Message ID: @.***>