Chapter 38. NGX
Prev | Part I. Installation and Configuration Instructions | Next

## Chapter 38. NGX

NGX is a framework allowing for easy and consistent integration of Deep Learning features into applications. There are three components shipped with the driver that comprise NGX:

- NGX Core: The interface used by applications to communicate with NGX features.

- NGX Updater: A program optionally launched by NGX Core which downloads updated versions of NGX features.

- NGX Core for Proton: A copy of NGX Core built as a DLL for use with Proton.

### Configuring the NGX Updater:

NGX Configuration file search order:

1. Path supplied via `__NGX_CONF_FILE` environment variable. Note: if the application's effective UID/GID does not match its actual UID/GID (if the SETUID sticky bit is set), the location specified here will not be searched.

2. `${XDG_CONFIG_HOME}/nvidia-ngx-conf.json`. Note: if the application's effective UID/GID does not match its actual UID/GID (if the SETUID sticky bit is set), the location specified here will not be searched.

3. `/usr/share/nvidia/nvidia-ngx-conf.json`

JSON Config Options:

Key | Description | Example
--- | --- | ---
`file_format_version` | The version of the config file in the following format "major.minor.patch". Values should be of type `string`. | `1.0.0`
`ngx_models_path` | The absolute path to the NGX models directory. The NGX Updater will save files here to later be read by applications which make use of NGX functionality. Values should be of type `string`. | `/usr/share/nvidia/ngx`
`allow_ngx_updater` | A boolean value which enables the NGX Updater functionality on a system, defaulting to false if non-existent. Values should be of type `boolean`. | `false`

For systems that have multiple user accounts who may run applications which make use of NGX, it may be preferable to choose a ngx_models_path which is in a shared directory. If a shared directory is chosen it is important that the NGX Updater has permissions to write into it, this can be attained either through use of setuid/setgid sticky bit, or by altering the directories permissions accordingly.

### Configuring the NGX Signed Load Mechanism:

The NGX Core component of the driver performs a signature check when loading NGX features. This check can be disabled by setting the `__NV_SIGNED_LOAD_CHECK` environment variable to a value of `none`. Values other than `none` will be ignored. By default this check is enabled to prevent loading of potentially malicious non-NVIDIA provided NGX features. This check should only be disabled when there is confidence that only authentic NGX features are available on the current system.

### Configuring the NGX Updater for Wine/Proton:

The NGX Updater for Wine/Proton can be enabled by setting the `PROTON_ENABLE_NGX_UPDATER` environment variable to a value of `1`. Values other than `1` will be ignored.

Prev | Up | Next
Chapter 37. Configuring External and Removable GPUs | Home | Chapter 39. OpenGL and Vulkan on Xwayland