1
0

Compare commits

..

No commits in common. "080d0e5f1ce3319d1c10d344c13f47b0d9bc41a6" and "81a6bda1759fe9a8a91d10c5385d94d059a73a2d" have entirely different histories.

4 changed files with 59 additions and 65 deletions

View File

@ -1,3 +0,0 @@
# How to run
Change PCIe paths in file
Execute switchGPU.ps1 in powershell

View File

@ -1,9 +1,6 @@
param([String]$working=$pwd, [String]$desktop = [Environment]::GetFolderPath("Desktop")) param([String]$working=$pwd, [String]$desktop = [Environment]::GetFolderPath("Desktop"))
$iGPUpci = "PCI\VEN_1002&DEV_1681&SUBSYS_380117AA&REV_C1\4&33381BD1&0&0041" $folderPath = "C:\.gpu"
$dGPUpci = "PCI\VEN_10DE&DEV_1B80&SUBSYS_85AA1043&REV_A1\6&5c8cf2c&0&00080019" $gpuTask = Join-Path $working GPU.xml
$folderPath = "C:\.gpu" #do not change unless you change it in GPU.xml as well
$gpuTask = Join-Path $working GPU.xml #just do not change
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`" -working $pwd -desktop $desktop" -Verb RunAs; exit } if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`" -working $pwd -desktop $desktop" -Verb RunAs; exit }
$scriptOld = Join-Path $working "*" $scriptOld = Join-Path $working "*"
@ -35,13 +32,13 @@ if(Get-ScheduledTask | Where-Object{$_.TaskName -eq "GPU"})
Write-Output "Waiting 5 Seconds" Write-Output "Waiting 5 Seconds"
Start-Sleep 5 Start-Sleep 5
if(Get-PnpDevice | Where-Object{$_.InstanceId -eq $dGPUpci} | Where-Object{$_.Status -eq "OK"}) if(Get-PnpDevice | Where-Object{$_.InstanceId -eq "PCI\VEN_10DE&DEV_1B80&SUBSYS_85AA1043&REV_A1\6&5c8cf2c&0&00080019"} | Where-Object{$_.Status -eq "OK"})
{ {
Write-Output "dGPU plugged in" Write-Output "dGPU plugged in"
if(Get-PnpDevice | Where-Object{$_.InstanceId -eq $iGPUpci} | Where-Object{$_.Status -eq "OK"}) if(Get-PnpDevice | Where-Object{$_.InstanceId -eq "PCI\VEN_1002&DEV_1681&SUBSYS_380117AA&REV_C1\4&33381BD1&0&0041"} | Where-Object{$_.Status -eq "OK"})
{ {
Write-Output "Disabling iGPU" Write-Output "Disabling iGPU"
pnputil /disable-device $iGPUpci #disable iGPU pnputil /disable-device "PCI\VEN_1002&DEV_1681&SUBSYS_380117AA&REV_C1\4&33381BD1&0&0041" #disable iGPU
}else }else
{ {
Write-Output "iGPU already disabled" Write-Output "iGPU already disabled"
@ -49,12 +46,12 @@ if(Get-PnpDevice | Where-Object{$_.InstanceId -eq $dGPUpci} | Where-Object{$_.St
}else }else
{ {
Write-Output "dGPU not plugged in" Write-Output "dGPU not plugged in"
if(Get-PnpDevice | Where-Object{$_.InstanceId -eq $iGPUpci} | Where-Object{$_.Status -eq "OK"}) if(Get-PnpDevice | Where-Object{$_.InstanceId -eq "PCI\VEN_1002&DEV_1681&SUBSYS_380117AA&REV_C1\4&33381BD1&0&0041"} | Where-Object{$_.Status -eq "OK"})
{ {
Write-Output "iGPU already enabled" Write-Output "iGPU already enabled"
}else }else
{ {
Write-Output "Enabling iGPU" Write-Output "Enabling iGPU"
pnputil /enable-device $iGPUpci #enable iGPU pnputil /enable-device "PCI\VEN_1002&DEV_1681&SUBSYS_380117AA&REV_C1\4&33381BD1&0&0041" #enable iGPU
} }
} }