Compatibility layer for RGB.NET
This device provider uses OpenRGB's msi-rgb implementation to control MSI motherboard's Super I/O chips
Keep in mind that this project uses OpenRGB directly. As OpenRGB, I will not be liable for any damage.
The solution has two projects
RGB.NET DeviceProvider, it will take care of loading OpenRGB_MSIRGB.dll and communicate with it.
Minimal implementation of OpenRGB features required by this layer. It includes directly (or using git patches) the code/implementations made by OpenRGB
In order to fix color inversion OpenRGB_MSIRGB.dll returns 2 devices for the same motherboard controller.
One has a normal behaviour while the other, flagged as INVERTED applies the colors space inversion.
- Clone the repo with its submodules.
- Apply git patch in
OpenRGB_MSIRGB/ORGB-patchestoOpenRGB_MSIRGB/OpenRGB - Apply git patch in
OpenRGB_MSIRGB/ORGB-min-api-dll-patchestoOpenRGB_MSIRGB/OpenRGB-min-api-dll-base - Build
Hex3l.RGB.NET.Devices.Msiusb(Release) (it will also build OpenRGB_MSIRGB) - Get the 2 dlls and place
Hex3l.RGB.NET.Devices.MSIRGB.dllin yourDeviceProviderfolder (the folder you are using to store yourDeviceProviders)OpenRGB_MSIRGB.dllin- x86:
<app root>/x86 - x64:
<app root>/x64
- x86:
- You will also need inpout32.dll/inpoutx64.dll in your root app directory, you can get it from
- x86:
OpenRGB_MSIRGB/OpenRGB/dependencies/inpout32_1501/Win32/inpout32.dll - x64:
OpenRGB_MSIRGB/OpenRGB/dependencies/inpout32_1501/x64/inpoutx64.dll
- x86:
- inpoutx64 requires the installation of a kernel driver. To install it the final user must run as admin your application that should contain, in its root path, the driver installer program
DriverInstall.exe. You can get it with the binaries distribution http://www.highrez.co.uk/scripts/download.asp?package=InpOutBinaries and it is located inInpOutBinaries_1501\Win32.