DEM: Non-Persistent VDI Deployment and NVIDIA Control Panel Is Not Found
Overview
A couple weeks ago we upgraded one of our VDI environments to Horizon 8 2212 and NVIDIA GRID 15. We updated the Non-Persistent vGPU desktop pools with a new image that included new agents and NVIDIA guest OS drivers. After pushing the new image with NVIDIA GRID 15.1, end users started receiving toast notifications stating the “NVIDIA Control Panel is not found”.
After troubleshooting, I found that NVIDIA had moved the guest OS drivers from standard driver model over to DCH (Declarative Componentized Hardware) driver model in GRID 15. With DCH driver model, the NVIDIA control panel is now a UWP (Universal Windows Platform) app. The NVIDIA control panel will be registered when end users profiles are being provisioned during log on. I noticed the account we used to install the 15.1 NVIDIA guest os drivers had the NVIDIA Control Panel installed. However, when logging into the desktop pool under my domain account, I received “NVIDIA Control Panel is not found” toast notification.
As a test, I reset my DEM profile archive and logged back into the desktop pool. After logging back into the desktop pool with a new DEM profile archive, I noticed the UWP NVIDIA Control Panel was registered correctly. Even after logging back on and off with my new DEM profile archive, the NVIDIA control panel was still registered and functioning. I wrote a blog post a couple of years ago explaining how UEM/DEM at the time handles UWP in a non-persistent desktop pool. I found a workaround using DEM logon task that doesn’t require messing around with previous DEM profile archives. This workaround will allow the logon task to register the NVIDIA Control Panel during logon.
More info about Standard vs DCH Driver model from NVIDIA can be found here.
Creating the DEM Logon Task
Verify the NVIDIA Control Panel Appx Package
If you log into the account that installed NVIDIA drivers, you should have the NVIDIA Control Panel installed. Open powershell and run “get-appxpackage -name NVIDIA” and you should see nvidia control panel that is currenlty installed. Take note of the value in the “InstallLocation”, open the location in file explorer to verify the NVIDIA Control Panel is installed correclty.
Note: I believe the NVIDIA Control Panel will be updated overtime to a new build number and the logon task will have to be updated with the current version installed at that time in the future.
Logon Task Configuration
-
Open Dynamic Environment Manager Management Console
-
Create the logon task under “User Enviroment” tab.
- Confgure the logon task using the following command:
Powershell.exe -windowstyle hidden -command “Add-AppxPackage -Register ‘C:\Program Files\WindowsApps\NVIDIACorp.NVIDIAControlPanel_8.1.963.0_x64_56jbvy8sckqj\AppxManifest.xml’ -DisableDevelopmentMode”
- Save the logon task.
- Log into the desktop pool and NVIDIA Control Panel should be registered and functioning correctly.
Horizon Enviroment Configuration
The configuration of the enviroments with NVIDA GRID 15.1 and logon task deployed:
- vSphere 7 U3 and vSphere 8 with NVIDIA 15.1 Host Drivers
- Windows 10/11
- VMware Tools 12.1.5
- NVIDIA Guest OS Drivers 528.24
- Horizon 8 2212
- Horizon Agent 2212
- Horzion Direct-Connection Plug-in 2212
- DEM 2212
- App Volumes 2212
- FSLogix - Office Containers
- Floating - Instant Clone Desktop Pools
References
NVIDIA GRID 15 Release Notes NVIDIA DCH/Standard Display Drivers for Windows