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:

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.