Custom iCUE plugin to control OpenRGB from within iCUE
Should be no major dependencies, built with Visual Studio Community 2019.
This plugin allows creating custom device layouts using json files and custom images as well as generating some generic LED layouts if there is no defined device. Corsair has not released an official SDK for adding custom devices. The reverse engineering is contained in CUESDKDevice.h
.
Files of Importance
dsound.dll
- This is a wrapper dll to disable iCUE's signature check on plugins loaded from the Plugins folder. Normally iCUE will run WinVerifyTrust on all plugins it is attempting to load. I haven't determined whether it needs to be signed by Corsair specifically, this wrapper when placed in the Corsair iCUE program directory will disable this check entirely.CUEORGBPlugin.dll
- This implements the OpenRGB Client interface and utilizes/merges json files to create devicessettings.json
- This file specifies the default LED/Zone layout display of some devices in the event no specific device is found within devices.json
devices.json
- This file maps devices by name given within OpenRGB and allows overriding the Default layoutQuit
C:\Program Files\Corsair\CORSAIR iCUE 4 Software
directly.Quit
dist/plugins
folder to C:\Program Files\Corsair\CORSAIR iCUE 4 Software
dsound.dll
to C:\Program Files\Corsair\CORSAIR iCUE 4 Software
CUEORGBPlugin.dll
to C:\Program Files\Corsair\CORSAIR iCUE 4 Software\plugins\OpenRGB
disabled_devices.txt
in the same directory as OpenRGB.exe
add the following contents:
Corsair Dominator Platinum
Corsair Hydro Series
Corsair Lighting Node
Corsair Peripheral
Corsair Vengeance
Corsair Vengeance Pro
This will disable OpenRGB from scanning Corsair devices and potentially breaking some (e.g. Commander Pro fan speeds may no longer show up after device scan)
SDK Server
tabStart Server
OpenRGB should look like the following when iCUE connects:
You might want to start OpenRGB when you start windows as iCUE is also a Startup process, allowing OpenRGB to be started alongside will allow you to resume effects controlled by iCUE when both programs start
shell:startup
--startminimized --server
to the end of the Target
field