DLSS/NGX ignores config on Linux and requires write access to /usr/share/

Environment:

  • DLSS SDK 310.4.0
  • Driver 570.181
  • Vulkan API (no Wine/Proton)

I am trying to run the DLSS Ray Reconstruction feature on Linux, but it seems that the initialization fails, because the NGX Updater cannot download and write models to usr/share/nvidia. I tried to set the documented environment variable that points to a JSON config file:
{
“file_format_version”: “1.0.0”,
“ngx_models_path”: “/u/myuser/ngx/models”,
“allow_ngx_updater”: true
}

NGX seems to open the JSON but still proceeds to write to /usr/share/… for models, which is not writable.

Can any engineer clarify the correct way to set the config on Linux?

Hello, the nvidia-ngx-updater command has a bug, it’s fixed in the next release. From the next version it will honor the path that is set at ngx_models_path.

A typical configuration would look as follows:

$ cat ~/.config/nvidia-ngx-conf.json 
{
  "file_format_version": "1.0.0",
  "ngx_models_path": "/home/example/.local/share/nvidia/ngx",
  "allow_ngx_updater": true
}

Which would then allow downloading DLSS snippets and libraries (something like this):

$ nvidia-ngx-updater 
NGX Updater reported: 0.0.0
$ find .local/share/nvidia/ngx/ -name "*.*"
.local/share/nvidia/ngx/models/config/versions/2/files/Linux_amd64_nvngx_server_config.txt
.local/share/nvidia/ngx/models/config/versions/1/files/Linux_amd64_nvngx_mapping.json
.local/share/nvidia/ngx/models/config/versions/1/files/Linux_amd64_nvngx_deny_list.txt

At the moment, unfortunately, the server side repository for Linux is empty, so there’s no point in configuring the NGX updater. In its current state is useful only on the Windows/Proton side of things.