Installing Intel Graphics Drivers
Intel publishes WHQL drivers for Iris Xe, Arc and integrated UHD GPUs on the official download page. The installer ships a number of extra components (telemetry, frame metrics service, HDCP module, firmware updater) that are not required for gaming and can be safely removed afterwards.
This page documents:
- A clean install of the latest WHQL driver.
- The exact settings recommended in Intel Graphics Software.
- A Power User section with drop-in PowerShell snippets for cleanup + registry tuning after the driver and Intel Graphics Software are already installed (same style as the NVIDIA page).
Driver Installation
- Open the Intel Graphics Drivers page.
- Download the latest WHQL package for your GPU family.
- Run the installer:
- Accept the EULA.
- Untick anything that says Intel Driver & Support Assistant, telemetry, or bundled apps if prompted.
- Reboot when the installer finishes.
TIP
Prefer the .exe installer if you plan to mirror a silent extract-and-install flow yourself (for example with 7-Zip). The Power User section on this page does not automate download or install - it only covers cleanup and registry tuning after a normal install.
Configure Intel Graphics Software
Open Intel Graphics Software from the Start menu (or shell:appsFolder\AppUp.IntelGraphicsExperience_8j3eq9eme6ctt!App).
Display tab
| Setting | Value |
|---|---|
| Variable Refresh Rate | Disabled |
| Variable Refresh Rate Mode | Disabled |
Graphics tab
| Setting | Value |
|---|---|
| Frame Synchronization (V-Sync) | Off |
| Low Latency Mode | Off |
INFO
Intel's Low Latency feature inserts a frame-pacing pass; turning it off keeps the rendering pipeline unconstrained. Re-enable it on a per-title basis if you actually need it.
Disable telemetry & background services
The Intel driver ships with a handful of services that are not strictly required:
| Service | Description |
|---|---|
IntelGFXFWupdateTool | Driver firmware updater |
cplspcon | Content Protection HDCP service |
CtaChildDriver | CTA child driver |
GSCAuxDriver | Graphics System Controller (auxiliary firmware) |
GSCx64 | Graphics System Controller (firmware interface) |
You can disable any of these via services.msc, or use the Power User snippets below to remove them automatically after install.
Power User - Automated Setup
Run elevated, reboot at the end
- Every snippet must be run from an elevated PowerShell session (right-click → Run as administrator).
- Each block is standalone - paste only the ones you need.
- These steps delete Windows services and remove files from Intel's install. Only run what you understand.
- Reboot once you're done so the driver and Intel Graphics Software pick up the new state.
This packages the same cleanup + registry tuning as the manual sections above: no reg.exe, no cmd /c shim - Set-ItemProperty, New-Item, Remove-ItemProperty, and Stop-Service + Invoke-CimMethod Delete on Win32_Service - so the snippets run the same on Windows PowerShell 5.1 and PowerShell 7.x.
Use this after you have finished Driver Installation and opened Intel Graphics Software at least once.
Prerequisites
- Intel WHQL driver + Intel Graphics Software installed (per Driver Installation above).
- Execution policy for the current process:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force1. Remove the Intel Graphics Software Run key (WOW64)
$RunKey = 'HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run'
$Value = "Intel$([char]0xAE) Graphics Software"
Remove-ItemProperty -Path $RunKey -Name $Value -ErrorAction SilentlyContinue2. Stop and delete optional Intel services
$Services = @(
'IntelGFXFWupdateTool'
'cplspcon'
'CtaChildDriver'
'GSCAuxDriver'
'GSCx64'
)
foreach ($Name in $Services) {
$cim = Get-CimInstance -ClassName Win32_Service -Filter "Name='$Name'" -ErrorAction SilentlyContinue
if (-not $cim) { continue }
Stop-Service -Name $Name -Force -ErrorAction SilentlyContinue
$cim | Invoke-CimMethod -MethodName Delete | Out-Null
}3. Stop PresentMon / UI and remove the PresentMon binary
foreach ($proc in 'IntelGraphicsSoftware', 'PresentMonService') {
Stop-Process -Name $proc -Force -ErrorAction SilentlyContinue
}
Start-Sleep -Seconds 2
Remove-Item "$env:ProgramFiles\Intel\Intel Graphics Software\PresentMonService.exe" `
-Force -ErrorAction SilentlyContinue4. Flatten the Start Menu shortcut (optional)
$startMenu = "$env:ProgramData\Microsoft\Windows\Start Menu\Programs"
$IGSname = "Intel$([char]0xAE) Graphics Software"
Move-Item -Path "$startMenu\Intel\Intel Graphics Software\$IGSname.lnk" `
-Destination "$startMenu" `
-Force -ErrorAction SilentlyContinue
Remove-Item "$startMenu\Intel" -Recurse -Force -ErrorAction SilentlyContinue5. Apply display + graphics registry settings (3DKeys)
$DisplayClass = 'HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}'
# Ensure each numbered adapter key (0000, 0001, …) has a 3DKeys subkey
Get-ChildItem -Path $DisplayClass -ErrorAction SilentlyContinue |
Where-Object PSChildName -Match '^\d{4}$' |
ForEach-Object {
$threeD = Join-Path $_.PSPath '3DKeys'
if (-not (Test-Path -LiteralPath $threeD)) {
New-Item -Path $threeD -Force | Out-Null
}
}
# Walk every 3DKeys hive and set a DWORD
function Set-Intel3DDWord {
param(
[Parameter(Mandatory)][string]$ValueName,
[Parameter(Mandatory)][uint32]$Data
)
Get-ChildItem -Path $DisplayClass -Recurse -ErrorAction SilentlyContinue |
Where-Object PSChildName -EQ '3DKeys' |
ForEach-Object {
Set-ItemProperty -LiteralPath $_.PSPath -Name $ValueName -Value $Data -Type DWord -ErrorAction SilentlyContinue
}
}
# Variable Refresh Rate Mode → Disabled (per automation profile)
Set-Intel3DDWord -ValueName 'Global_VRRWindowedBLT' -Data 2
# Variable Refresh Rate → Disabled (adapter-level REG_BINARY)
Get-ChildItem -Path $DisplayClass -ErrorAction SilentlyContinue |
Where-Object PSChildName -Match '^\d{4}$' |
ForEach-Object {
Set-ItemProperty -LiteralPath $_.PSPath `
-Name 'AdaptiveVsyncEnableUserSetting' `
-Value ([byte[]](0x00, 0x00, 0x00, 0x00)) `
-Type Binary `
-ErrorAction SilentlyContinue
}
# Frame Synchronization (V-Sync) → Off
Set-Intel3DDWord -ValueName 'Global_AsyncFlipMode' -Data 2
# Low Latency Mode → Off
Set-Intel3DDWord -ValueName 'Global_LowLatency' -Data 0Optional: remove extraction leftovers
If you previously unpacked an Intel .exe to %SystemDrive%\IntelDriver or %SystemDrive%\Intel for a silent install, you can delete those folders when you no longer need the offline package:
Remove-Item "$env:SystemDrive\Intel" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "$env:SystemDrive\IntelDriver" -Recurse -Force -ErrorAction SilentlyContinueReboot to apply
Reboot after the snippets you ran. The next time Intel Graphics Software opens, the toggles documented in Configure Intel Graphics Software above should already match these values.