67 comments

[ 2.8 ms ] story [ 118 ms ] thread
Hahaha yes! Congrats to whoever did this!
Why the congratulations? Other than intellectual curiosity how is this a positive? As I understand it no other company can now get even close to matching these techniques without legal accusations of copying the code coming about.
>Why the congratulations?

Valve and everyone has been stealing pc games for 23+ years since 1997. In case you weren't aware, in the 90's any hacker worth his salt, if you suggested taking up any client-server app you were looked at as a pariah, it's the ultimate security risk.

Trusted computing is literally them stealing ownership of your PC, the TPM and "security chips" are all about ending you controlling your pc, you can't have any privacy when microsoft can force update your bios with windows update. That's what the big plan was since the mid 90's.

Go have a read, if you still think personal computer ownership isn't under attack you're clueless:

https://web2.qatar.cmu.edu/cs/15349/dl/DRM-TC.pdf

You don't grasp that two or more computers in a network become and hehave as single device. So you never want a client-server exe, that's the same thing as getting your computer hacked and owned, they can spy on you and do anything because you can't audit the source. That's why anyone with a clue wants to avoid windows 10+ with TPM chips because they can remote update your system and disable cracked or other software they don't approve of, when there is plenty of legit reasons for cracking old software.

It's also why level editors disappeared in AAA Games, basic multiplayer was a feature that came in every AAA Game in the 90's until Richard garriot had the bright idea of stealing the networking code, coding it in a weird way and selling it back to the public minus ownership.

You don't seem to grasp after the 2008 bailouts and the war in IRAQ, you live in a lawless oligarchy who's laws have been bribed into being for 200 years.

Copyright law was originally invented to preserve human culture, in the modern era, it's just been endlessly extended. The average citizen is politically illiterate and ignorant that he doensn't live in a democracy but a lawless oligarchy.

But how does the leak change any of that?
Yeah, just gotta echo this. That was a whole lot of noise to really not make any point.

Like - I even agree with most of what was typed, but I don't see it's relevance to anything here.

None at all, if you check their post history they've been going on about MMOs stealing code for a whole day on multiple threads. It's probably some novelty troll account.
A really unfortunate troll as the core of his argument, the invasive corporate control over our computing is indeed real and worrying.
Do you have any references about Richard Garriot stealing networking code? I havent heard of that before.
Information wants to be free.
Maybe a dumb question - why would Nvidia not publish all their code then?
Because this would be people explicitly gaining and using information from an illegal act.
i hope this might offer the feature for AMD cards, or something unified so that this feature could be utilized in games without having specific hardware.
How? Nvidia's lawyers will be all over that shit. Not AMD and no respectable OSS devs will touch it, nor will GitHub or any other reputable platform host it. It's legally radioactive.

Nintendo's HDL and source code also leaked from a hack a couple of years ago but given how litigious Nintendo is, nothing came out of it despite everyone expecting some emulators to pop op.

It's called "don't ask, don't tell" and "parallel construction".
I'm sure nVidia's lawyers will respect "don't ask"
That's when the parallel construction comes in.

Obviously anyone copying the code verbatim or close to it deserves to get the lawyers coming after them, but plausible deniability should be strongly kept in mind for people doing RE+reimplement work anyway.

if anything - it makes it worse. The code is untouchable for any serious company or even open source. If you need references see what WinNT/XP code leaks did to Wine project.
AMD has FidelityFX and it's open source :)

Maybe they can borrow some of the DLSS techniques

FidelityFX leverages an open source spatial upscaling algorithm - it doesn't integrate any sort of machine learning. I don't know if you could bridge the gap without radically changing what it's doing, especially in terms of now needing to provide training data.
FSR doesn't use things like motion vectors which are more likely to be the quality difference between it and dlss then machine learning is. Temporal AA & upscaling is well known to produce fantastic results without any machine learning involvement.

Hence why dlss 2.0 doesn't need per game training anymore. The "machine learning" part of it seems to be mostly killed off unless they somehow managed to train a fully generic model that can handle all art designs and game engine settings (eg, motion blur on vs. off). But it seems more likely it's a fancy generic take on temporal upscaling, possible influenced by ML but not dominated by it.

Which I guess is something we'll find out with this leak. How much AI is actually in dlss 2.0 and how much is "just" offloaded temporal super sampling (such as epic's TSR)

Apparently, DLSS means "Deep Learning Super Sampling".
There is no "apparently." That's what it means. That's the acronym.
Then let's also point out that it is NOT an acronym, but instead an initialism.
https://www.wordnik.com/words/acronym

But... an initialism is an acronym. So it's both.

> an initialism is an acronym that is pronounced as individual letters

EDIT: Guess it depends on the source; even my link above says an acronym is "a pronounceable word", but another link I had clicked on had the quote above. shrug

I was taught the other way around: an acronym is an initialism that can be pronounced as a word, all acronyms are initialisms but not all initialisms are acronyms.
Can the nouveau project make use of this without ending in legal hot water?
The roadblock for nouveau is that the chipset won't allow the clocks to be set to performant frequencies unless the NVIDIA-signed binary firmware blob is uploaded.
Which still can be used, no? All we need is to know the API to the firmware blob, which this leak probably shows nicely
Replacing the firmware blob too is kinda the point of the driver. Now, if also the signing key were in the dump, people could finally sign their own firmware blobs. It's probably not legal to facilitate that in any way, but how can it be proven if you don't distribute any homegrown blobs?

Edit: even if the Nvidia blob were used, it would (i) be a big departure from Mesa architecture and infrastructure and (ii) it would be illegal to distribute it. Nvidia could also introduce an arbitrary amount of protocol madness to make accessing the firmware blob as difficult as possible.

> it would be illegal to distribute it

Fortunately Nvidia provides all their drivers free of charge on their website, so it shouldn't be hard to download and extract it at install time?

The other points still stand. And it's possible there is also a legal reason that prohibits taking apart the driver. In any case, it would defeat the purpose of having an open source driver.
> In any case, it would defeat the purpose of having an open source driver.

Not really. Having a closed-source on-card firmware blob but linking it with an open source kernel-side driver would have so many benefits, first of all not needing to depend on NVIDIA to keep up with upstream changes and stuff breaking at every kernel, xorg or whatever upgrade.

I have to admit I don't understand the relationships between SecureBoot, the Power Management Firmware and the kernel well enough to exactly say why it doesn't work.
No, and I'm not sure why the article suggests that. Under US copyright law it's best to avoid this like the plague and continue attempting a clean-room implementation.
(comment deleted)
Not a chance. Think it was either the reactos or wine project used to have processes in place to check people weren't submitting codes from the win2k leaks either.
Probably makes it harder for them, in the future any time Nvidia claims they took something from the leak they potentially have to prove in court that they didn't.
(comment deleted)
To be abundantly clear: I'd hate to have my source code leaked.

But I will admit that incidents like these or the Windows XP source leak are fascinating. I'd hope others share the same curiosity I have for getting to "peek behind the scenes" of some impressive software and engineering accomplishments.

Reminder: Software patents aren't a thing in most of the world.

This is a good thing, as this code should be studied and documented and free alternatives written while referencing this documentation.

Even without software patents, I doubt it's legal in most of the world to implement something using somebody else's stolen source code. A clean room process would still be necessary.
It really depends on the country, afaik it is legal to do straight up reverse engineering in Brazil.
Reverse engineering is the opposite of using stolen source code to reimplement something, and it’s legal most places.
there will always be "race to the bottom" labs and territories. The questions lie in "what restrictions will be placed in the markets as the results of the leak drift back and reappear en-masse".. China (printing capital) does not respect written word copyright in English.. this has been going on for decades.
It depends on how you define "most of the world."

By country count, in most of the world (>50%), there is not a notion of "stealing source code." There are notions of stealing cattle and pottery. But legal frameworks have not really caught up.

What about projects like WINE - now in use by corporations like Valve? Surely someone who's worked on the project must have seen Microsoft/Windows source code.
Wine explicitly disallows contributions from anyone who has seen Microsoft Windows source code: https://wiki.winehq.org/Developer_FAQ#Who_can.27t_contribute...

Also, their Clean Room Guidelines: https://wiki.winehq.org/Clean_Room_Guidelines

Sure but the WINE folk don’t really know either way if a contributor who contributes has seen it, unless they do some background checks or their email literally ends with @microsoft.com (even then they could be in another Microsoft team away from Windows)
Of course, but they've insulated themselves as best they can.
Trade secret law sure is though.
Code is also protected by copyright, is it not? So you cannot reuse the code itself.
Very exciting, I hope this will help open-source hardware-accelerated image upscaling.

To get an idea of what image upscaling can do, check out this subreddit dedicated to artificially increasing the resolution of old video game assets to give them a new life: https://www.reddit.com/r/GameUpscale/

Here's eg some personal experiments with the game Baldur's Gate: https://www.reddit.com/r/baldursgate/comments/aemu8u/upscali...

- Image in: https://i.imgur.com/xMbqIeo.jpeg

- Image out, without human intervention: https://i.imgur.com/nC2o1vM.jpeg

The community is using tools such as ESRGAN for that (https://github.com/xinntao/ESRGAN), which leverages GPU acceleration as it uses PyTorch.

So far, this upsampling ability was only used in commercial games: https://en.wikipedia.org/wiki/Deep_learning_super_sampling

> I hope this will enable open-source hardware-accelerated image upscaling

That's already a thing (especially with AMDs FSR already being open source), but regardless keep in mind that DLSS 2.0+ requires engine support because it also uses things like motion vectors. Retrofitting this into old games is possible, but likely non-trivial, and would require the game to be adjusted it's not something the driver can just do.

> However, recent NVIDIA GPUs contain dedicated silicon to perform this type of upscaling, which I'm really hoping will make things even faster!

There's no dedicated silicon for DLSS. It's "just" the tensor cores, which are programmable and is something PyTorch already has access to. CUDA support for those have been around for a while after all: https://developer.nvidia.com/blog/programming-tensor-cores-c...

> There's no dedicated silicon for DLSS.

You're right, corrected.

When does "upsampling" cross into being a derivative work?
You don't need deep learning for state-of-the-art image/texture upscaling. The GIMP or Imagemagick with a Lanczos-like method give you that basically out of the box, and the underlying method could easily be optimized for GPU use. AIUI, even AMD's FSR does not use deep learning, and the results are very good quality.
> Very exciting, I hope this will help open-source hardware-accelerated image upscaling.

It is also a legal minefield. Nvidia is certainly going to look closely at whatever may contain the leaked code. They are unlikely to do much if you just copy their techniques (unless they are patented, you need to watch that out too), but on community projects, you have to make sure that none of your contributors copy the code itself.

ReactOS (essentially a Windows reimplementation) explicitly tells people who had access to the Microsoft source code not to work on the relevant parts of the project. Probably for that reason.

ReactOS is pretty well know to use leaked window code as a guide. But who cares about an unstable windows 7 implementation anyway so msft doesn’t care.
> Very exciting, I hope this will help open-source hardware-accelerated image upscaling.

Be aware that anyone who works in projects conceivably related to the source code in question needs to be very careful to never see it. Otherwise it becomes a legal minefield where future code can be accused to have been stolen (even if it very clearly never was).