Add Windows 11 VM configuration and setup for GPU passthrough

- Created a new XML configuration file for Windows 11 VM with enhanced resource allocation and device settings.
- Added an old configuration file for reference.
- Implemented an Ansible playbook to set up a GPU passthrough host on Fedora, including necessary package installations, GRUB configuration, and udev rules for persistent device access.
- Introduced a Python script to monitor CPU power usage via Intel RAPL interface.
This commit is contained in:
2025-05-29 19:33:07 +02:00
parent 071b4eea9e
commit c1c92a866e
7 changed files with 1236 additions and 0 deletions
+118
View File
@@ -0,0 +1,118 @@
# Ensure running as Administrator
if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(`
[Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Error "Please run this script as Administrator."
exit 1
}
Write-Output "Applying Windows gaming performance optimizations..."
# 1. Set High Performance Power Plan
Write-Output "Setting High Performance power plan..."
powercfg -setactive SCHEME_MIN
# 2. Disable Windows Defender real-time protection
Write-Output "Disabling Windows Defender Real-Time Protection..."
Set-MpPreference -DisableRealtimeMonitoring $true
# Run as Administrator
Write-Host "Disabling unnecessary startup applications..." -ForegroundColor Cyan
# --- 1. Disable from Registry (HKCU)
$startupRegHKCU = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"
$disableListHKCU = @(
"OneDrive",
"EpicGamesLauncher",
"EADM",
"Microsoft.Lists",
"MicrosoftEdgeAutoLaunch_4F5320B4C77A9527F492603BB81F11D5"
)
foreach ($name in $disableListHKCU) {
if (Get-ItemProperty -Path $startupRegHKCU -Name $name -ErrorAction SilentlyContinue) {
Write-Host "Removing HKCU startup item: $name"
Remove-ItemProperty -Path $startupRegHKCU -Name $name
}
}
# --- 2. Disable from Registry (HKLM)
$startupRegHKLM = "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
$disableListHKLM = @(
"SecurityHealth" # optional; comment this line to keep Windows Security Tray
)
foreach ($name in $disableListHKLM) {
if (Get-ItemProperty -Path $startupRegHKLM -Name $name -ErrorAction SilentlyContinue) {
Write-Host "Removing HKLM startup item: $name"
Remove-ItemProperty -Path $startupRegHKLM -Name $name
}
}
# --- 3. Disable startup folder entries
$startupFolders = @(
"$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup",
"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
)
foreach ($folder in $startupFolders) {
Get-ChildItem $folder -Filter *.lnk -ErrorAction SilentlyContinue | ForEach-Object {
Write-Host "Disabling startup shortcut: $($_.Name)"
Remove-Item $_.FullName -Force
}
}
Write-Host "`n✅ Startup applications optimized. Reboot to apply changes." -ForegroundColor Green
# 4. Disable background services
Write-Output "Disabling unnecessary background services..."
$servicesToDisable = @(
"DiagTrack", # Connected User Experience and Telemetry
"SysMain", # Superfetch
"WSearch", # Windows Search
"XblGameSave", # Xbox services
"MapsBroker", # Maps background service
"OneSyncSvc" # OneDrive sync
"AdobeARMservice",
"ClickToRunSvc",
"edgeupdate",
"OneSyncSvc_78aa3",
"CDPUserSvc_78aa3",
"CDPSvc",
"webthreatdefusersvc_78aa3",
"WpnService",
"WpnUserService_78aa3",
"Spooler",
"SCardSvr",
"MicrosoftEdgeAutoLaunch_4F5320B4C77A9527F492603BB81F11D5",
"vorpX Service"
)
foreach ($svc in $servicesToDisable) {
try {
Write-Host "Disabling service: $svc" -ForegroundColor Yellow
Stop-Service -Name $svc -Force -ErrorAction SilentlyContinue
Set-Service -Name $svc -StartupType Disabled
} catch {
Write-Host "Could not disable ${svc}: $_" -ForegroundColor Red }
}
# 5. NVIDIA GPU Tweaks - Launch NVIDIA Control Panel (manual steps)
Write-Output "`n[!] Please open NVIDIA Control Panel and set:"
Write-Output "- Power Management: Prefer Maximum Performance"
Write-Output "- Low Latency Mode: Ultra"
Write-Output "- Vertical Sync: Off or Fast Sync (depending on monitor)"
Start-Process "nvcplui.exe"
# 6. Disable Xbox Game Bar and DVR
Write-Output "Disabling Xbox Game Bar and DVR..."
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\GameDVR" /v "AppCaptureEnabled" /t REG_DWORD /d 0 /f
reg add "HKCU\System\GameConfigStore" /v "GameDVR_Enabled" /t REG_DWORD /d 0 /f
reg add "HKCU\System\GameConfigStore" /v "GameDVR_FSEBehaviorMode" /t REG_DWORD /d 2 /f
reg add "HKCU\System\GameConfigStore" /v "GameDVR_HonorUserFSEBehaviorMode" /t REG_DWORD /d 1 /f
# 7. Disable Notifications
Write-Output "Disabling Windows notifications..."
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\PushNotifications" /v "ToastEnabled" /t REG_DWORD /d 0 /f
Write-Output "`n✅ Optimization complete. Please restart your VM for all changes to take effect."