NVIDIA Windows Driver Installation and Update with Chocolatey
General Information
Windows Server require NVIDIA grid drivers for graphic operations. These drivers require additional licensing and are not publicly available. On our OTC platform these drivers are provided as Chocolatey packages. Currently Chocolatey servers are available in region eu-de and eu-nl only:
region: | URL | IPs |
---|---|---|
eu-de | https://chocolatey.eu-de.otc-service.com | 198.19.59.146 198.19.43.76 198.19.37.98 |
eu-nl | https://chocolatey.eu-nl.otc-service.com | 198.19.60.202 |
NVIDIA publishes regularly updates with security fixes - see https://www.nvidia.com/en-us/security/. After new NVIDIA driver release the Chocolatey packages are updated and published on our Chocolatey servers. The update on the customer ECS / BMS must be performed manually. Only the Long-Term Support driver is provided, currently R535 - see https://docs.nvidia.com/vgpu/index.html.
Installation of Chocolatey Client
Chocolatey Client is part of public Windows images from November 2024. On Servers deployed from older images the Chocolatey client must be installed manually. MS Windows Server 2019 and before requires .net 4.8 additionally and requires an additional reboot.
Installation can be done with these commands:
# define chocolatey server of your region
$ChocoServer = 'chocolatey.eu-de.otc-service.com'
# $ChocoServer = 'chocolatey.eu-nl.otc-service.com'
# test network connection to Chocolatey server
if ( ! (Test-NetConnection $ChocoServer -port 80).TcpTestSucceeded ) {
Write-Error "Error: no connetation to ChocoServer: $ChocoServer"
pause
Exit 1
}
# check for pending reboots
if (Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending") {
Write-Error "A reboot is required. `n If you encounter errors, reboot the system and attempt the operation again"
pause
Exit 1
}
# install .net 4.8 - if not allready done
if ((Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" -ErrorAction SilentlyContinue).Release -lt 528040) {
$DownloadFile = 'ndp48-x86-x64-allos-enu.exe'
$url = "http://$ChocoServer/$DownloadFile"
$outpath = "$env:temp\$DownloadFile"
Invoke-WebRequest -Uri $url -OutFile $outpath
Start-Process -Filepath $outpath -ArgumentList "/q /norestart" -wait
start-sleep 10
Remove-Item $outpath -ErrorAction SilentlyContinue
}
# check for pending reboots
if (Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending") {
Write-Error "A reboot is required. `n If you encounter errors, reboot the system and attempt the operation again"
pause
Exit 1
}
# download and install the client - if not already done
Set-ExecutionPolicy Bypass -Scope Process -Force
iex ((New-Object System.Net.WebClient).DownloadString("http://$ChocoServer/install.ps1"))
# show available pachages
choco find --source="http://$ChocoServer/chocolatey"
NVIDIA Driver Installation
If last installation of NVIDIA driver was not done with Chocolatey, it must be installed with these commands:
# define chocolatey server of your region
$ChocoServer = 'chocolatey.eu-de.otc-service.com'
# $ChocoServer = 'chocolatey.eu-nl.otc-service.com'
# install latest NVIDIA driver
choco install otcnvidiadriver --source="http://$ChocoServer/chocolatey"
# optional - force reinstallation of latest NVIDIA driver
choco install otcnvidiadriver -y --force --source="http://$ChocoServer/chocolatey"
NVIDIA Driver Upgrade
If last installation of NVIDIA driver was done with Chocolatey, it can be updated with these commands:
# define chocolatey server of your region
$ChocoServer = 'chocolatey.eu-de.otc-service.com'
# $ChocoServer = 'chocolatey.eu-nl.otc-service.com'
# upgrade specific chocolatey package (if already installed)
choco upgrade otcnvidiadriver -y --source="http://$ChocoServer/chocolatey"
# optional - upgrade all chocolatey packages
choco upgrade all -y --source="http://$ChocoServer/chocolatey"
NVIDIA Driver Licensing
For licensing the driver install Chocolatey package OTCnvidialicense - For details see https://imagefactory.otc.t-systems.com/home/new-nvidia-license-server-dls-3-1.
# define chocolatey server - choose the right one for your region
$ChocoServer = 'chocolatey.eu-de.otc-service.com'
# $ChocoServer = 'chocolatey.eu-nl.otc-service.com'
# install chocolatey package
choco install OTCnvidialicense --source="http://$ChocoServer/chocolatey"
# optional - force reinstallation chocolatey package and confirm all messages automatically
choco install OTCnvidialicense -y --force --source="http://$ChocoServer/chocolatey"