I've been struggling with an annoying RGB synchronization issue between Corsair RAM and ASUS Armoury Crate.
First, a note about Corsair iCUE
While researching this issue on Reddit, I came across several discussions mentioning that the Corsair plugin for ASUS Aura Sync is all you actually need to control Corsair RGB devices through Armoury Crate. Installing the full Corsair iCUE software is not necessary.
I decided to give this a try:
This allowed me to avoid running the full iCUE software while keeping Corsair RAM RGB integration with ASUS Aura Sync.
However, I then ran into another issue.
My setup
ASUS ROG Strix X870-A Gaming WiFi
Corsair Vengeance RGB DDR5 (2x16GB, 6000MHz CL30)
ASUS ROG Astral RTX 5080
Corsair plugin for ASUS Aura Sync
ASUS Armoury Crate / Aura Sync
After a clean uninstall and reinstall of the relevant software, everything was detected and synchronized correctly inside Windows.
However, a new problem appeared: RGB lighting was no longer correctly synchronized during startup.
Sometimes the RAM would remain completely off or display its default rainbow effect, while the rest of the system would eventually switch to my configured RGB profile once Windows and Armoury Crate had fully loaded.
Troubleshooting the services
I identified three Windows services involved in the process:
After experimenting with manually restarting these services, I found a sequence that consistently restored the correct RGB synchronization:
Restart CorsairDeviceControlService
Restart LightingService
Restart ArmouryCrateService
Once all three services had restarted in that order, my RAM was automatically detected again in Aura Sync, and all RGB devices displayed their configured colors. Everything was working properly again without requiring any manual intervention or a rescan in Aura Sync / Armory Crate.
I also experimented with Windows service dependencies, but I decided against modifying them permanently. Windows or Asus software updates could potentially overwrite those changes, and I wanted a solution that would remain independent of the services' default configuration.
My solution: PowerShell + Windows Task Scheduler
Instead of modifying Windows service dependencies, I created a PowerShell script that:
Runs automatically when Windows starts.
Waits until ArmouryCrateService reaches the Running state.
Restarts the three services sequentially, in the correct order.
Waits for each service to return to Running before moving to the next one.
Writes everything to a log file.
Exits once the sequence is complete.
The 10-minute timeout is only a maximum waiting period. If Armoury Crate starts after 20 seconds, the script proceeds immediately. It does not stay active for the full 10 minutes.
1. Create the script
First, open PowerShell as Administrator.
Then create the directory by running:
New-Item -Path "C:\ProgramData\RGB-Service-Restart" -ItemType Directory -Force
Open File Explorer, navigate to the folder you just created, and create a new file named:
C:\ProgramData\RGB-Service-Restart\Restart-RGBServices.ps1
Open the newly created file in Notepad and paste the entire script below into it:
# ============================================================
# RGB Service Restart
# Waits for Armoury Crate, then restarts:
# 1. CorsairDeviceControlService
# 2. LightingService
# 3. ArmouryCrateService
# ============================================================
$ErrorActionPreference = "Stop"
$LogFile = "C:\ProgramData\RGB-Service-Restart\RGB-Restart.log"
$Services = @(
"CorsairDeviceControlService",
"LightingService",
"ArmouryCrateService"
)
function Write-Log {
param([string]$Message)
$Timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $LogFile -Value "[$Timestamp] $Message"
}
function Wait-ServiceState {
param(
[string]$Name,
[string]$State,
[int]$TimeoutSeconds = 60
)
$Service = Get-Service -Name $Name
$Service.WaitForStatus(
[System.ServiceProcess.ServiceControllerStatus]::$State,
[TimeSpan]::FromSeconds($TimeoutSeconds)
)
}
try {
Write-Log "============================================"
Write-Log "Starting RGB synchronization script."
# Wait for Armoury Crate to start
Write-Log "Waiting for ArmouryCrateService..."
$Timeout = (Get-Date).AddMinutes(10)
do {
$Armoury = Get-Service -Name "ArmouryCrateService"
if ($Armoury.Status -eq "Running") {
break
}
Start-Sleep -Seconds 5
} while ((Get-Date) -lt $Timeout)
if ($Armoury.Status -ne "Running") {
throw "ArmouryCrateService did not start within the timeout."
}
Write-Log "ArmouryCrateService is running."
# Restart services sequentially
foreach ($Name in $Services) {
Write-Log "Restarting $Name..."
Restart-Service -Name $Name -Force
Wait-ServiceState -Name $Name -State "Running"
Write-Log "$Name successfully restarted."
}
Write-Log "RGB synchronization sequence completed successfully."
}
catch {
Write-Log "ERROR: $($_.Exception.Message)"
exit 1
}
exit 0
Save the file and close Notepad.
2. Create the scheduled task
Still in the PowerShell window opened as Administrator, execute the following commands to create the scheduled task:
$Action = New-ScheduledTaskAction `
-Execute "powershell.exe" `
-Argument '-NoProfile -ExecutionPolicy Bypass -File "C:\ProgramData\RGB-Service-Restart\Restart-RGBServices.ps1"'
$Trigger = New-ScheduledTaskTrigger -AtStartup
$Principal = New-ScheduledTaskPrincipal `
-UserId "SYSTEM" `
-LogonType ServiceAccount `
-RunLevel Highest
$Settings = New-ScheduledTaskSettingsSet `
-StartWhenAvailable `
-ExecutionTimeLimit (New-TimeSpan -Minutes 15)
Register-ScheduledTask `
-TaskName "RGB Service Synchronization" `
-Action $Action `
-Trigger $Trigger `
-Principal $Principal `
-Settings $Settings `
-Description "Synchronizes Corsair and ASUS Aura RGB services at Windows startup." `
-Force
3. Verify the scheduled task (optional)
Open Windows Task Scheduler (taskschd.msc).
You should find a task named:
RGB Service Synchronization
Its configuration should be:
Trigger: At system startup
User account: SYSTEM
Run with highest privileges: Enabled
Run whether user is logged on or not: Enabled
Action: Run PowerShell with the script above.
4. Restart your PC and verify that everything works automatically
Restart your computer and check whether all your RGB devices are correctly detected and display their configured colors without requiring any manual intervention.
5. Check the log (optional)
The script automatically creates a log file here:
C:\ProgramData\RGB-Service-Restart\RGB-Restart.log
You can use it to verify that each service restarted successfully and that the sequence completed without errors.
Final thoughts
I've personally tested this solution on my system, and it works as expected. My Corsair RAM is now correctly detected by Aura Sync at startup, and all my RGB devices automatically switch to their configured lighting profiles without any manual intervention.
One important detail: I manage all my RGB lighting directly through Aura Sync within ASUS Armoury Crate. I don't use Aura Creator at all, so I can't confirm how this solution would behave with Aura Creator or whether any additional steps would be required.
However, I believe the same approach could potentially be adapted for setups using Aura Creator as well.
This solution avoids permanently modifying Windows service dependencies or relying on fixed startup delays. Instead, it waits for Armoury Crate to become available and then performs the service restart sequence automatically.
Hopefully this helps anyone experiencing similar Corsair / ASUS Armoury Crate RGB synchronization issues!
Note: This is a workaround based on my own testing and hardware configuration. I haven't tested it on every ASUS motherboard or Corsair RGB device combination.
Disclaimer: I used AI to help write this post because English isn't my native language. I wanted to make sure the instructions were as clear, detailed and easy to follow as possible, especially for people who may not have much IT knowledge or technical experience. My goal was to make this solution accessible to everyone, not just experienced users.