When deploying NVIDIA vGPU across a VDI environment, I often see IT teams deploy the licensing token directly on the persistent VMs, or on the non-persistent base golden image. This often causes a nightmare when the client activation token must be updated.
I highly recommend considering network placement of the NVIDIA vGPU Licensing Client Configuration token file for your deployments.
In this post we’ll review the Client Configuration Token File, why you’d want to place it on the network, and how to do so.
What is the Client Configuration Token File
The Client Configuration Token File, tells the NVIDIA vGPU driver on your VM where to find the licensing server information. This token will point the driver to either the CLS or DLS licensing server and request the applicable license to be issued.
By default, the vGPU driver will check the following location for the token:
C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken\
While this is common, there’s a much better (and easier) method that you can use to deploy the Client Configuration Tokens, using Network Shares, to ease management of these files.
Placing the NVIDIA vGPU Licensing client configuration token on a network share
Using the Windows Registry, along with a GPO (Group Policy Object), you can configure a network location for the NVIDIA Client Configuration Token, so that your systems whether Persistent or Non-Persistent will use this location.
In the event of a token change, you can simply delete and remove the old token, and place a new configuration token, and all the systems will have immediate access to it, without manually updating individual systems.
Here we’ll use the registry and a GPO to configure the token location:
- Using an administrative account, create a folder called “vGPU-Licensing” on your domain SYSVOL share.
- Example: \\Domain.com\SYSVOL\Domain.com\vGPU-Licensing\
- Place your NVIDIA Licensing Client Configuration Token in this folder
- Open “Group Policy Management” and create a new GPO called “VDI-NVIDIA-LicensingToken”
- Navigate to: Computer Configuration -> Preferences -> Windows Settings -> Registry
- Right Click and select New -> Registry Item
- Under the New Registry Window Enter the following:
- Action: Update
- Hive: HKEY_LOCAL_MACHINE
- Key Path: SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\GridLicensing
- Value Name: ClientConfigTokenPath
- Value Type: REG_SZ
- Value Data: \\Domain.com\SYSVOL\Domain.com\vGPU-Licensing
- Change the network location to match your environment and your setup
- After populating the fields, it should be similar to the following example:
- Hit Apply, then Ok, then link the newly created GPO to the OU where your VDI VM guests are located with NVIDIA vGPU.
That’s it! All we did was created a GPO which configures the Registry key “ClientConfigTokenPath” inside of HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\GridLicensing\ and set it to a network share that has the configuration tokens.
Please note, the NVIDIA licensing service accesses the network location using the services security context (not the user’s context), which is why I chose the SYSVOL share, as the computer accounts have read access to this location (example, reading the GPOs on boot and user logon).
Additionally, note that the registry key and location may vary if you’re using older versions of the NVIDIA vGPU Driver. The key used in this post is for versions 16.x and 17.x.