Skip to content

Instantly share code, notes, and snippets.

@vishaldpatel
Last active March 27, 2026 22:40
Show Gist options
  • Select an option

  • Save vishaldpatel/6efe63bbc4f80182c434a628c1b24d97 to your computer and use it in GitHub Desktop.

Select an option

Save vishaldpatel/6efe63bbc4f80182c434a628c1b24d97 to your computer and use it in GitHub Desktop.
This powershell script doesn't fully work without following some of the manual steps in the comments!
# 1: Start Powershell and run the following to log into AWS console to grab the nvidia drivers,
# and set the execution policy in order to run unsigned powershell scripts:
# Invoke-AWSLogin
# Set-ExecutionPolicy unrestricted
# 12 Install Chocolatey (The Package Manager)
Set-ExecutionPolicy Bypass -Scope Process -Force;
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# 3. Install General Apps via Chocolatey
# Using -y to automatically accept prompts
choco install firefox -y
choco install steam -y
# 4. Disable CTRL+ALT+DEL Requirement
# This modifies the local security registry key
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "DisableCAD" -Value 1
# 5. Install NVIDIA Gaming Drivers (Required for G-class Instances)
$Bucket = "nvidia-gaming"
$KeyPrefix = "windows/latest"
$LocalPath = "$home\Desktop\NVIDIA"
$Objects = Get-S3Object -BucketName $Bucket -KeyPrefix $KeyPrefix -Region us-east-1
foreach ($Object in $Objects) {
$LocalFileName = $Object.Key
if ($LocalFileName -ne '' -and $Object.Size -ne 0) {
$LocalFilePath = Join-Path $LocalPath $LocalFileName
Copy-S3Object -BucketName $Bucket -Key $Object.Key -LocalFile $LocalFilePath -Region us-east-1
}
}
Start-Process -FilePath $LocalFilePath -ArgumentList "/s /norestart" -Wait
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global" -Name "vGamingMarketplace" -PropertyType "DWord" -Value "2"
# 6: Restart the computer for the drivers to take effect
# Restart-Computer -Force
# 5. Install NICE DCV Server
# DCV is much better than RDP for gaming/streaming because it uses the GPU
$dcvUrl = "https://d1uj6qtbmh3dt5.cloudfront.net/2025.0/Servers/nice-dcv-server-x64-Release-2025.0-20103.msi"
$dcvPath = "$env:TEMP\dcv_server.msi"
Invoke-WebRequest -Uri $dcvUrl -OutFile $dcvPath
Start-Process msiexec.exe -ArgumentList "/i $dcvPath /quiet /norestart /gp" -Wait
# 7: Restart again, and try to connect using a DCV client. The DCV client will be your go-to client for gaming.
# 8. If you want to play games in VR, Install Virtual Desktop Streamer
# Note: You may need to manually update this URL if the version changes
$vdUrl = "https://download.vrdesktop.net/files/VirtualDesktop.Streamer.Setup.exe"
$vdPath = "$env:TEMP\VDStreamer.exe"
Invoke-WebRequest -Uri $vdUrl -OutFile $vdPath
Start-Process -FilePath $vdPath -ArgumentList "/S" -Wait
# 9. Update Network settings to set the ethernet network from "Public" to "Private"
# Go into Settings, then Network, then find "Ethernet" and click on the "Private" radio button.
# This is required for you to be able to connect using Virtual Desktop from your Meta Quest 3 headset
# and then play games in VR!
# 10. Quality of Life: Disable Server Manager popup at login
# Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ServerManager" -Name "DoNotOpenServerManagerAtLogon" -Value 1
# 11: Final Reboot to apply drivers and security policies
# Restart-Computer -Force
# 12: Install Virtual Desktop on your Meta Quest 3 if you'd like to play games in VR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment