Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/beeradmoore/dlss-archive


https://github.com/beeradmoore/dlss-archive

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# DLSS Archive

> [!IMPORTANT]
> This repository is being replaced by [DLSS Swapper Manifest Builder](https://github.com/beeradmoore/dlss-swapper-manifest-builder). It will remain in its current state as the DLSS files hosted here are still used by DLSS.

This DLSS Archive is used to track and archive different versions of NVIDIAs DLSS dlls.

This repository is intended to be used by tools such as [DLSS Swapper](https://beeradmoore.github.io/dlss-swapper/).. If you intend to add DLSS to a game you are creating I insist you go through the correct channels and obtain the latest DLSS dlls through the [NVIDIA developer portal](https://developer.nvidia.com/dlss-getting-started).

All dlls in this archive are property of NVIDIA. I have not altered the binaries in any way. I did however change the file creation date to match when the binary was signed by NVIDIA, rather than be the date I extracted it on my own machine.

### How it works
[dlss_records.json](https://raw.githubusercontent.com/beeradmoore/dlss-archive/main/dlss_records.json) will constantly be updated with new DLSS versions as they are discovered. The dlls themselves will be uploaded in the releases section not in the git repository itself.

NOTE: A newer release does not mean a newer DLSS version. Please keep an eye on the DLSS version to ensure you are attempting to use the latest version.

### dlss_records.json file schema
The main structure of `dlss_records.json` is two json arrays. `stable` contains any dll found in released games or SDKs. `experimental` contains any dll distributed by NVIDIA as part of their [DLSS research](https://developer.nvidia.com/dlss/research).
```
{
"stable": [
...
],
"experimental": [
...
]
}
```

Each of these sections contain any number of json objects that look like the following:
```
{
"version": "2.2.16.0",
"version_number": 562958544404480,
"additional_label": "",
"md5_hash": "8FED151AA1B7975A1E5968B82DF4E918",
"zip_md5_hash": "19743B2751D1794445E5B5BE51AD9AFA",
"download_url": "https://github.com/beeradmoore/dlss-archive/releases/download/v2.2.16.0/nvngx_dlss_2.2.16.0.zip",
"file_description": "NVIDIA DLSSv2 - DVS PRODUCTION",
"is_signature_valid": true,
"file_size": 14448328,
"zip_file_size": 9856696
},
```

`version` - Version of the dll itself as a human readable number.

`version_number` - The 4 parts of the dll version used as 16bit integers combined to make a single 64bit integer. This is explained in more detail inside the [DLSSRecord](https://github.com/beeradmoore/dlss-archive/blob/main/DLSSArchiveBuilder/DLSSArchiveBuilder/DLSSRecord.cs#L75-L86) class. This method is also mentioned in the .NET FileVersionInfo [documentation](https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.fileversioninfo?view=net-5.0#remarks).

`additional_label` - If a dll has a label deemed important for display next to its version number (eg. "Beta - White Collie 1")

`md5_hash` - MD5 hash of the dll. This should not be used to validate the dll has not been tampered with.

`zip_md5_hash` - MD5 hash of the zip. This should not be used to validate the zip has not been tampered with.

`download_url` - URL to download the zip from.

`file_description` - Details from the file description field. Mostly not helpful to anyone, but used to create `additional_label`.

`is_signature_valid` - If the dll is signed with a certificate fully trusted by Windows. If this is false it does not mean the dll has been tampered with maliciously. (eg.DLSS v1.0.11.0 and v1.0.13.0 both come from fresh game installs, but neither pass the signature verification. Not sure why 🤷‍♂️)

`file_size` - dll file size in bytes.

`zip_file_size` - final zip file size in bytes.

### What is DLSSArchiveBuilder?
This tool is what generates `dlss_records.json`. I point it at a directory of zipped DLSS dlls and let it run.

It will validate, create new zips, and output the `dlss_records.json` file. Different computers running different OS or different versions of .NET may produce a different file hash (potentially using a different zip algorithm). If this happens while preparing a new release then the changed hashes will not be updated, only new files and their updated hashes will be added to `dlss_records.json` and uploaded to the releases section.


### Know of a DLSS version not found in this archive?
Please file a new [issue](https://github.com/beeradmoore/dlss-archive/issues) so I can validate and track it down.

### Special thanks
Special thanks to [TechPowerUp](https://www.techpowerup.com/download/nvidia-dlss-dll/) for doing the groundwork to allow all of this to happen.