Tag Archives: Gaming

Fix Wi-Fi 6 Gaming Lag: Essential Tips

Wi‑Fi 6 Gaming Fixes

If when streaming Xbox Cloud Gaming your ethernet wired PC plays perfectly but the same games over Wi‑Fi feel laggy, the issue is almost always latency instability (ping spikes), not raw download speed. This post explains why that happens, what you can change on the PC only (no router access required), includes a ready PowerShell ISE script that applies recommended Wi‑Fi and Bluetooth coexistence tweaks and generates a one‑click revert script, and shows exactly how to run the revert and enable Edge hardware acceleration.

Why Wi‑Fi jitter breaks cloud gaming

  • Speed ≠ stability. High Mbps only matters if latency is steady. Frequent ping spikes cause input lag, stutter, and low stream quality.
  • Bluetooth and Wi‑Fi can collide. Bluetooth uses 2.4 GHz and can interfere with Wi‑Fi if the adapter shares radios or if Wi‑Fi falls back to 2.4 GHz.
  • Driver and power settings matter. Adapter power saving, roaming aggressiveness, and transmit power affect micro‑disconnects and jitter.
  • DNS and network stacks help with lookup delays and occasional stutter but won’t fix large routing or interference problems.

What you can do on the PC now

Priority changes (PC only)

  • Prefer 5 GHz and ensure the adapter is using 802.11ax/802.11ac when available.
  • Disable adapter power saving and set roaming aggressiveness to low.
  • Enable Bluetooth coexistence (driver option) so Wi‑Fi and BT coordinate.
  • Set DNS to a fast public resolver such as 1.1.1.1 and 8.8.8.8 and flush DNS.
  • Close background network apps and enable Game Mode in Windows.
  • Temporarily disable other Bluetooth devices while gaming to test for interference.
  • Test with continuous ping to a stable host (for example 8.8.8.8) and watch for spikes.

Script: apply changes and create a revert script

How to use: open PowerShell ISE as Administrator, paste the script below into a new file, save, then press Run Script (F5). The script will back up current settings to %USERPROFILE%\WiFiGamingBackup, apply recommended changes, and write a revert script in the same folder.

WARNING: Use the below at your own risk

powershell

<#
Optimize-WiFi-BT-WithRollback.ps1
Run in PowerShell ISE as Administrator.
- Backs up adapter advanced properties, DNS, Bluetooth service state, and power plan to JSON.
- Applies recommended settings for gaming over Wi-Fi while enabling Bluetooth coexistence.
- Writes a revert script that restores the saved state.
#>
# Require admin
If (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Error "Run PowerShell ISE as Administrator."
Break
}
Write-Host "Starting Wi‑Fi and Bluetooth optimization with rollback generation..." -ForegroundColor Cyan
# 1) Identify active Wi-Fi adapter
$wifi = Get-NetAdapter -Physical | Where-Object { $_.Status -eq 'Up' -and ($_.InterfaceDescription -match 'Wireless|Wi-Fi|WLAN' -or $_.Name -match 'Wi-Fi|Wireless|WLAN') } | Select-Object -First 1
if (-not $wifi) {
Write-Error "No active Wi‑Fi adapter found. Ensure Wi‑Fi is enabled and connected."
exit 1
}
$adapterName = $wifi.Name
Write-Host "Active adapter:" $adapterName -ForegroundColor Green
# 2) Prepare backup folder and file
$backupDir = Join-Path $env:USERPROFILE "WiFiGamingBackup"
if (-not (Test-Path $backupDir)) { New-Item -Path $backupDir -ItemType Directory | Out-Null }
$timestamp = (Get-Date).ToString("yyyyMMdd_HHmmss")
$backupFile = Join-Path $backupDir "WiFiGamingBackup_$timestamp.json"
# 3) Collect current state
$advProps = Get-NetAdapterAdvancedProperty -Name $adapterName | Select-Object DisplayName, DisplayValue
$ifIndex = (Get-NetAdapter -Name $adapterName).ifIndex
$currentDns = (Get-DnsClientServerAddress -InterfaceIndex $ifIndex -ErrorAction SilentlyContinue).ServerAddresses
$btService = Get-Service -Name bthserv -ErrorAction SilentlyContinue
$btState = if ($btService) { @{ Exists = $true; Status = $btService.Status; StartType = (Get-WmiObject -Class Win32_Service -Filter "Name='bthserv'").StartMode } } else { @{ Exists = $false } }
$powerOut = powercfg -getactivescheme 2>&1
$powerGuid = if ($powerOut -match '\(([^)]+)\)') { ($powerOut -split '\s+')[3] } else { $null }
$backup = @{
Timestamp = $timestamp
AdapterName = $adapterName
AdvancedProperties = $advProps
DnsServers = $currentDns
BluetoothService = $btState
PowerPlanGuid = $powerGuid
}
$backup | ConvertTo-Json -Depth 6 | Out-File -FilePath $backupFile -Encoding UTF8
Write-Host "Backup written to $backupFile" -ForegroundColor Green
# 4) Helper to set adapter advanced property if present
function Set-IfAvailable {
param([string]$Adapter, [string]$DisplayName, [string]$DisplayValue)
$prop = Get-NetAdapterAdvancedProperty -Name $Adapter | Where-Object { $_.DisplayName -eq $DisplayName }
if ($prop) {
try {
Set-NetAdapterAdvancedProperty -Name $Adapter -DisplayName $DisplayName -DisplayValue $DisplayValue -NoRestart -ErrorAction Stop
Write-Host "Set '$DisplayName' -> '$DisplayValue'"
} catch {
Write-Warning "Failed to set '$DisplayName' -> '$DisplayValue': $_"
}
} else {
Write-Host "Skipping missing property: $DisplayName" -ForegroundColor DarkYellow
}
}
# 5) Apply recommended settings (tries multiple common DisplayName variants)
$settings = @(
@{Name='Preferred Band'; Value='Prefer 5 GHz band'},
@{Name='Preferred Band'; Value='3. Prefer 5GHz band'},
@{Name='Band'; Value='5 GHz'},
@{Name='Wireless Mode'; Value='802.11ax/802.11ac'},
@{Name='Wireless Mode'; Value='802.11ax'},
@{Name='Roaming Aggressiveness'; Value='Lowest'},
@{Name='Roaming Aggressiveness'; Value='1 - Lowest'},
@{Name='Power Save Mode'; Value='Disabled'},
@{Name='Power Save Mode'; Value='Off'},
@{Name='U-APSD Support'; Value='Disabled'},
@{Name='Transmit Power'; Value='Highest'},
@{Name='Transmit Power'; Value='100%'},
@{Name='Bluetooth Collaboration'; Value='Enabled'},
@{Name='Bluetooth Coexistence'; Value='Enabled'},
@{Name='Bluetooth Collaboration Mode'; Value='Enabled'}
)
Write-Host "`nApplying adapter settings..." -ForegroundColor Cyan
foreach ($s in $settings) { Set-IfAvailable -Adapter $adapterName -DisplayName $s.Name -DisplayValue $s.Value }
# Channel width attempts
Set-IfAvailable -Adapter $adapterName -DisplayName 'Channel Width for 5GHz' -DisplayValue '80 MHz'
Set-IfAvailable -Adapter $adapterName -DisplayName 'Channel Width for 5GHz' -DisplayValue 'Auto'
Set-IfAvailable -Adapter $adapterName -DisplayName 'Channel Width' -DisplayValue '80 MHz'
# 6) Set DNS servers to Cloudflare and Google
try {
Write-Host "`nSetting DNS servers to 1.1.1.1 and 8.8.8.8"
Set-DnsClientServerAddress -InterfaceIndex $ifIndex -ServerAddresses @('1.1.1.1','8.8.8.8') -ErrorAction Stop
Write-Host "DNS updated" -ForegroundColor Green
} catch {
Write-Warning "Failed to set DNS: $_"
}
# 7) Flush DNS and reset network stacks
Write-Host "`nFlushing DNS and resetting network stacks..."
try {
ipconfig /flushdns | Out-Null
netsh winsock reset | Out-Null
netsh int ip reset | Out-Null
Write-Host "Network stacks reset. Reboot recommended." -ForegroundColor Green
} catch {
Write-Warning "Network reset commands encountered an error: $_"
}
# 8) Bluetooth service handling option (default: do not stop)
$stopBluetooth = $false
if ($stopBluetooth) {
try {
if ($btService -and $btService.Status -ne 'Stopped') {
Stop-Service -Name bthserv -Force -ErrorAction Stop
Set-Service -Name bthserv -StartupType Disabled
Write-Host "Bluetooth service stopped and disabled."
}
} catch {
Write-Warning "Could not stop Bluetooth service: $_"
}
} else {
Write-Host "`nBluetooth service left unchanged. To auto-stop Bluetooth set `$stopBluetooth = $true` in this script and re-run." -ForegroundColor Yellow
}
# 9) Set power plan to High Performance if available
try {
$high = powercfg -l | Select-String -Pattern "High performance|High Performance"
if ($high) {
$guid = ($high -split '\s+')[3]
powercfg -setactive $guid
Write-Host "Power plan set to High Performance."
} else {
Write-Host "High Performance plan not found; skipping."
}
} catch {
Write-Warning "Power plan change failed: $_"
}
# 10) Generate revert script that restores saved values
$revertPath = Join-Path $backupDir "Revert-WiFiGamingChanges_$timestamp.ps1"
$revertScript = @"
<#
Revert-WiFiGamingChanges_$timestamp.ps1
Restores adapter advanced properties, DNS, Bluetooth service state, and power plan from:
$backupFile
Run as Administrator.
#>
If (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Error "Run PowerShell as Administrator."
Break
}
\$backup = \$null
try {
\$backup = Get-Content -Path '$backupFile' -Raw | ConvertFrom-Json
} catch {
Write-Error "Could not read backup file: $backupFile"
exit 1
}
\$adapter = \$backup.AdapterName
# Restore advanced properties
foreach (\$p in \$backup.AdvancedProperties) {
try {
Set-NetAdapterAdvancedProperty -Name \$adapter -DisplayName \$p.DisplayName -DisplayValue \$p.DisplayValue -NoRestart -ErrorAction Stop
Write-Host "Restored \$($p.DisplayName) -> \$($p.DisplayValue)"
} catch {
Write-Warning "Failed to restore \$($p.DisplayName): \$_"
}
}
# Restore DNS
try {
if (\$backup.DnsServers) {
\$ifIndex = (Get-NetAdapter -Name \$adapter).ifIndex
Set-DnsClientServerAddress -InterfaceIndex \$ifIndex -ServerAddresses \$backup.DnsServers -ErrorAction Stop
Write-Host "Restored DNS servers: \$($backup.DnsServers -join ', ')"
}
} catch {
Write-Warning "Failed to restore DNS: \$_"
}
# Restore Bluetooth service state
if (\$backup.BluetoothService.Exists -eq \$true) {
try {
\$svc = Get-Service -Name bthserv -ErrorAction SilentlyContinue
if (\$svc) {
if (\$backup.BluetoothService.Status -ne \$svc.Status) {
if (\$backup.BluetoothService.Status -eq 'Running') { Start-Service -Name bthserv -ErrorAction SilentlyContinue }
if (\$backup.BluetoothService.Status -eq 'Stopped') { Stop-Service -Name bthserv -Force -ErrorAction SilentlyContinue }
}
\$wmi = Get-WmiObject -Class Win32_Service -Filter "Name='bthserv'"
if (\$wmi -and \$backup.BluetoothService.StartType) {
\$wmi.ChangeStartMode(\$backup.BluetoothService.StartType) | Out-Null
Write-Host "Restored Bluetooth service start mode to \$($backup.BluetoothService.StartType)"
}
}
} catch {
Write-Warning "Failed to restore Bluetooth service state: \$_"
}
}
# Restore power plan
try {
if (\$backup.PowerPlanGuid) {
powercfg -setactive \$backup.PowerPlanGuid
Write-Host "Restored power plan GUID \$($backup.PowerPlanGuid)"
}
} catch {
Write-Warning "Failed to restore power plan: \$_"
}
Write-Host "Revert complete. Reboot recommended."
"@
$revertScript | Out-File -FilePath $revertPath -Encoding UTF8
Write-Host "`nRevert script created at: $revertPath" -ForegroundColor Green
# 11) Short ping test
Write-Host "`nRunning 20-second ping test to 8.8.8.8. Observe for spikes." -ForegroundColor Cyan
ping 8.8.8.8 -n 20
Write-Host "`nDone. Backup: $backupFile" -ForegroundColor Cyan
Write-Host "Revert script: $revertPath" -ForegroundColor Cyan
Write-Host "Reboot recommended to ensure all changes take effect." -ForegroundColor Yellow

How to execute the revert script safely

Location: the script and backup are stored in %USERPROFILE%\WiFiGamingBackup.

Option A — Run from File Explorer

  1. Press Win + R, paste:Code%USERPROFILE%\WiFiGamingBackup and press Enter.
  2. Right‑click the revert script Revert-WiFiGamingChanges_*.ps1Run with PowerShell.
  3. Confirm any prompts and reboot when finished.

Option B — Run from PowerShell ISE (recommended)

  1. Open PowerShell ISE as Administrator.
  2. File → Open → select the revert script from %USERPROFILE%\WiFiGamingBackup.
  3. Press Run Script (F5).
  4. Reboot after completion.

Option C — Run from an elevated PowerShell prompt

  1. Open Windows PowerShell as Administrator.
  2. Run:

powershell

Set-Location -Path "$env:USERPROFILE\WiFiGamingBackup"
.\Revert-WiFiGamingChanges_YYYYMMDD_HHMMSS.ps1
  1. Reboot when the script finishes.

What the revert script restores

  • Adapter advanced properties to their previous values.
  • Adapter DNS servers to the saved values.
  • Bluetooth service status and startup mode (if present).
  • The previously active power plan GUID.

Keep the backup JSON and revert script in %USERPROFILE%\WiFiGamingBackup until you’re confident the changes are permanent.

Edge hardware acceleration

Why enable it Hardware acceleration offloads video decoding and rendering to the GPU, reducing CPU load and improving frame stability for browser‑based cloud gaming. This can reduce stutter and improve perceived responsiveness.

How to enable in Edge

  1. Open Microsoft Edge.
  2. Go to Settings → System and performance.
  3. Toggle Use hardware acceleration when available to On.
  4. Restart Edge for the change to take effect.

Extra Edge tips

  • Enable secure DNS in Edge: Settings → Privacy, search, and services → Use secure DNS and choose Cloudflare or Google.
  • Disable unnecessary extensions and close background tabs while gaming.

Verify success and troubleshoot

  • Ping test: open an elevated PowerShell or Command Prompt and run:

powershell

ping 8.8.8.8 -t

Look for consistent low latency and no frequent spikes above ~50–100 ms.

  • Play test: run a short cloud gaming session and compare responsiveness to your wired baseline.
  • If spikes persist: temporarily disable Bluetooth to test whether the controller is the cause; try a USB‑Ethernet adapter or a short Ethernet run if possible; consider router changes (channel, QoS) if you can access it.

Final notes and safety

  • Driver variability: some adapter properties may not exist; the script skips missing items and records current values for rollback.
  • Bluetooth stop is optional and disabled by default to avoid disrupting other devices. Change the script variable only if you understand the impact.
  • Router changes (channel, width, QoS) are not modified by this script and require router access; they can further improve stability if needed.
  • Keep the backup and revert script in %USERPROFILE%\WiFiGamingBackup so you can restore original settings at any time.

Happy Gaming!

COD Mobile maps — original game, series, size, and modes (historical, sorted by original game)

Below is a comprehensive table of COD Mobile multiplayer maps (historical), grouped by the original console/PC game they came from. Map size is given as Small / Medium / Large. Modes supported lists the multiplayer modes the map has historically appeared in (TDM = Team Deathmatch; Dom = Domination; HP = Hardpoint; S&D = Search & Destroy; GF = Gunfight; FFA = Free‑for‑All; BR = Battle Royale; others noted where relevant).

MapOriginal GameSeriesSizeModes Supported
CrossfireCall of Duty 4: Modern Warfare (2007)MWMediumTDM; Dom; HP; S&D; FFA
CrashCall of Duty 4: Modern Warfare (2007)MWMediumTDM; Dom; HP; S&D; FFA
KillhouseCall of Duty 4: Modern Warfare (2007)MWSmallTDM; GF; S&D; FFA
ShipmentCall of Duty 4: Modern Warfare (2007)MWSmallTDM; GF; S&D; FFA
VacantCall of Duty 4: Modern Warfare (2007)MWMediumTDM; Dom; S&D; FFA
TerminalModern Warfare 2 (2009)MW2MediumTDM; Dom; HP; S&D; FFA
HighriseModern Warfare 2 (2009)MW2MediumTDM; Dom; HP; S&D; FFA
ScrapyardModern Warfare 2 (2009)MW2MediumTDM; Dom; HP; S&D; FFA
RustModern Warfare 2 (2009)MW2SmallTDM; GF; S&D; FFA
DomeModern Warfare 3 (2011)MW3SmallTDM; Dom; S&D; FFA
HardhatModern Warfare 3 (2011)MW3SmallTDM; GF; S&D; FFA
NuketownCall of Duty: Black Ops (2010)Black OpsSmallTDM; Dom; HP; S&D; FFA
Firing RangeCall of Duty: Black Ops (2010)Black OpsMediumTDM; Dom; HP; S&D; FFA
SummitCall of Duty: Black Ops (2010)Black OpsMediumTDM; Dom; HP; S&D; FFA
JungleCall of Duty: Black Ops (2010)Black OpsMediumTDM; Dom; HP; S&D
RaidCall of Duty: Black Ops II (2012)Black Ops IIMediumTDM; Dom; HP; S&D; FFA
StandoffCall of Duty: Black Ops II (2012)Black Ops IIMediumTDM; Dom; HP; S&D; FFA
HijackedCall of Duty: Black Ops II (2012)Black Ops IISmallTDM; GF; S&D; FFA
SlumsCall of Duty: Black Ops II (2012)Black Ops IIMediumTDM; Dom; HP; S&D
ExpressCall of Duty: Black Ops II (2012)Black Ops IIMediumTDM; Dom; HP; S&D
TakeoffCall of Duty: Black Ops II (Uprising DLC)Black Ops IIMediumTDM; Dom; HP; S&D
MeltdownCall of Duty: Black Ops II (2012)Black Ops IIMediumTDM; Dom; HP; S&D
HaciendaCall of Duty: Black Ops 4 (2018)Black Ops 4MediumTDM; Dom; HP; S&D
PineCall of Duty: Modern Warfare (2019)MW (Reboot)SmallTDM; GF; S&D; FFA
KingCall of Duty: Modern Warfare (2019)MW (Reboot)SmallTDM; GF; S&D
Shoot HouseCall of Duty: Modern Warfare (2019)MW (Reboot)SmallTDM; Dom; GF; S&D
Aniyah IncursionCall of Duty: Modern Warfare (2019)MW (Reboot)MediumTDM; Dom; HP; S&D
MonasteryCall of Duty Online (China)COD OnlineMediumTDM; Dom; HP; S&D
BreachCall of Duty Online / VariousCOD OnlineMediumTDM; Dom; HP; S&D
CageOriginal to COD MobileCOD MobileSmallTDM; GF; S&D; FFA
TunisiaOriginal to COD MobileCOD MobileLargeTDM; Dom; HP; S&D; BR (event)
OasisOriginal to COD MobileCOD MobileMediumTDM; Dom; HP; S&D
ReclaimOriginal to COD MobileCOD MobileMediumTDM; Dom; HP; S&D
Apocalypse (Mobile)Original to COD Mobile (mobile variant)COD MobileLargeTDM; Dom; HP; S&D; BR (event)
CoastalOriginal to COD MobileCOD MobileMediumTDM; Dom; HP; S&D
ShootoutModern Warfare (2019) / Mobile variantMW (Reboot)SmallTDM; GF; S&D
Nuketown RussiaBlack Ops 4 (variant)Black Ops 4SmallTDM; Dom; HP; S&D
Crossfire (Remake variants)Various remakes (MW series)MWMediumTDM; Dom; HP; S&D
Crash (Remake variants)Various remakes (MW series)MWMediumTDM; Dom; HP; S&D
Terminal (Remake variants)MW2 remakes / portsMW2MediumTDM; Dom; HP; S&D
Shipment 1944 / variantsVarious COD titles (remakes)MW / MW2SmallTDM; GF; S&D
Rust (variants)MW2 remakes / portsMW2SmallTDM; GF; S&D
Scrapyard (variants)MW2 remakes / portsMW2MediumTDM; Dom; HP; S&D
Dome (variants)MW3 remakes / portsMW3SmallTDM; Dom; S&D
Hardhat (variants)MW3 remakes / portsMW3SmallTDM; GF; S&D
Vacant (variants)MW remakes / portsMWMediumTDM; Dom; S&D
Express (variants)BO2 remakes / portsBlack Ops IIMediumTDM; Dom; HP; S&D
Hijacked (variants)BO2 remakes / portsBlack Ops IISmallTDM; GF; S&D
Raid (variants)BO2 remakes / portsBlack Ops IIMediumTDM; Dom; HP; S&D
Standoff (variants)BO2 remakes / portsBlack Ops IIMediumTDM; Dom; HP; S&D
Gang War / event mapsMobile originals / seasonalCOD MobileVariesTDM; Dom; HP; S&D; limited events
Other seasonal / event mapsVarious originals and remakesMixedVariesTDM; Dom; HP; S&D; limited playlists

Notes and clarifications

  • “Modes Supported” lists modes the map has historically appeared in across COD Mobile seasons and events; seasonal playlists and limited-time variants mean a map’s available modes can change over time.
  • Size is a practical classification (Small = tight/close quarters; Medium = standard 3‑lane; Large = open or objective/BR‑sized). Some maps have multiple variants that alter size.
  • Variants and remakes: COD Mobile often uses remade or tweaked versions of console maps; those are listed under the original map with “variants” where appropriate.
  • This table is the full historical view (Option A) you requested; if you want it exported, filtered, or re-sorted (by size, by mode, or by a single original game), tell me which sort or filter and I’ll produce that view next.

How to Connect and Remap Your VOYEE Wireless Switch Controller for Xbox-Style Gameplay on Windows

If you’ve ever plugged a Switch-style controller into your PC and found that the A and B buttons feel reversed, you’re not imagining things. The VOYEE Wireless Switch Controller—while designed for Nintendo Switch—also works on Windows in XInput mode, which mimics an Xbox controller. But the physical button layout still follows Nintendo’s convention, leading to confusion in games where B confirms and A cancels.

Luckily, VOYEE includes a built-in button-swap feature to fix this. Here’s how to connect your controller and remap the buttons for a true Xbox-style experience.

🔗 Step 1: Connect Your VOYEE Controller to Windows via Bluetooth

Before remapping, you’ll need to pair your controller with your PC. VOYEE makes this easy with a quick button combo.

✅ How to Pair:

  1. Enter Pairing Mode
    • Press and hold the X button and the Home button together for 3–4 seconds.
    • The LED lights will begin flashing, indicating the controller is ready to pair.
  2. Connect in Windows Settings
    • Go to Settings > Devices > Bluetooth & other devices.
    • Click Add Bluetooth or other device > Bluetooth.
    • Select the device labeled “Xbox Controller” or similar from the list.

Once connected, the controller should operate in XInput mode, which is compatible with most PC games and emulators.

🔄 Step 2: Remap A/B and X/Y Buttons to Match Xbox Layout

Now that your controller is connected, it’s time to fix the reversed button behavior. VOYEE controllers support a hardware-based button-swap combo that toggles between Nintendo and Xbox-style mappings.

🔧 Why This Matters:

  • Nintendo layout: A = Confirm, B = Cancel
  • Xbox layout: B = Confirm, A = Cancel
  • On PC, this mismatch can make menus and gameplay feel unintuitive.

🧪 How to Perform the Swap:

  1. Locate the Buttons
    • Capture/Share Button: Usually near the Home button, marked with a camera icon.
    • R3: Press the right analog stick down until it clicks.
  2. Execute the Combo
    • Press and hold Capture + R3 together for 1–2 seconds.
    • You should feel a single vibration, confirming the swap.
    • If nothing happens, try holding for up to 3 seconds, or repeat to toggle between layouts.
  3. Test the Result
    • Open Windows Game Controller Settings (search “Set up USB game controllers” in the Start menu).
    • Or launch a game and test the buttons:
      • A should now confirm
      • B should cancel

If the buttons still feel reversed, repeat the combo—it may cycle between Nintendo and Xbox modes.

🧠 Final Thoughts

The VOYEE Wireless Switch Controller is a great budget-friendly option for PC gaming, but its Nintendo-style layout can trip up players used to Xbox controls. Thankfully, with a simple Capture + R3 combo, you can remap the buttons and enjoy a seamless experience across your favorite games.

Still having trouble or using a different VOYEE model? Drop a comment—I’ll help you troubleshoot or find the right combo for your setup.

Happy gaming! 🎮

How to Fix the GC IPL Error in Dolphin When Using RetroBat

If you’ve ever tried launching a GameCube game through Dolphin and been greeted with the dreaded “GC IPL file could not be found” error, you’re not alone. This issue can be frustrating, especially when everything else seems to be set up correctly. But don’t worry—there’s a simple fix, and we’ll walk you through it.

🧩 What Causes the GC IPL Error?

The error typically stems from a missing or incorrect BIOS file (also known as the IPL file) required for the GameCube boot animation. While the game itself may be perfectly fine, Dolphin attempts to load the BIOS sequence before launching the game—and if it can’t find the right file, it throws an error.

✅ Fixing the Error in Dolphin (Standalone)

If you’re running Dolphin directly (not through RetroBat), you can bypass the BIOS boot sequence entirely by tweaking a simple setting:

  1. Locate your dolphin.ini configuration file.
  2. Open it in a text editor.
  3. Find the line that says SkipIPL.
  4. Set it to True.

ini

[Core]
SkipIPL = True

This tells Dolphin to skip the BIOS animation and jump straight into the game—no IPL file needed.

🔄 Fixing the Error in Dolphin via RetroBat

If you’re using RetroBat as your frontend, the fix is slightly different. RetroBat tends to overwrite Dolphin’s configuration files each time you launch a game, so editing dolphin.ini manually won’t stick.

Instead, you need to configure RetroBat itself to skip the BIOS:

  1. Launch RetroBat and press Start to open the Main Menu.
  2. Navigate to: Game Settings > Per System Advanced Configuration
  3. Select the console you’re working with (e.g., GameCube).
  4. Go to: Emulation > Skip Bios
  5. Set it to Yes.

This ensures that RetroBat tells Dolphin to skip the IPL sequence every time, avoiding the error altogether.

🎮 Final Thoughts

The GC IPL error might seem like a showstopper, but it’s really just a BIOS boot hiccup. Whether you’re using Dolphin standalone or through RetroBat, skipping the IPL sequence is a quick and effective workaround. Now you can get back to what matters—playing your favorite GameCube classics without interruption.

Got other emulation quirks you’re trying to solve? Drop them in the comments or reach out—I’m always up for a good retro tech fix.

How to fix a noisy GPU fan

If you have an old GPU and you have noticed it is creating more noise now than when it was first installed, it may be because the bearing is no longer sufficiently lubricated.

A new fan off EBay, or new to you, might not be a sound investment. This is true assuming you can even find a replacement. Luckily most GPU fans can be serviced.

To Lubricate the Fan Bearing:

Remove the GPU from your computer.

Spin the fan manually. If it is not mostly silent, then there is a problem with the bearing. More than likely, there is just insufficient lubricant.

Carefully peel back the sticker on the top of the fan to expose the bearing. If access to the bearing is not provided on the top of the fan, then remove the fan from the GPU housing. Peel back the sticker on the back of the fan. If you see a yellowish mark on the inside of the sticker where the bearing is, this confirms the lubricant has leaked somewhat. If access to the bearing is not provided at the bottom of the fan either then very carefully try to remove the blade.

Once the bearing is exposed apply a small drop of light machine oil or sewing machine oil to the bearing. Singer oil is a good choice.

Rotate the fan manually to work the oil into the bearing.

Replace the sticker or use a small piece of tape to cover the bearing.

Before reinstalling the GPU, you might consider also applying fresh thermal paste to the GPU processor. This will help keep temperatures down, giving the fan less work to do.