tylerszabo / rgb-fusion-tool Goto Github PK
View Code? Open in Web Editor NEWA command line tool for calling Gigabyte's RGB Fusion SDK
License: GNU General Public License v3.0
A command line tool for calling Gigabyte's RGB Fusion SDK
License: GNU General Public License v3.0
My ram is not getting the colors applied to it with either the zone or peripherals switch.
Sample command:
RGBFusionTool.exe --peripherals=0 --color=blue --verbose
I instrumented the code with breakpoints. Here are some deeper insights into what is happening, however I'm reaching the end of my C# fiddling skills here.
First Issue: on this line settings is null, so nothing ever happens:
https://github.com/tylerszabo/RGB-Fusion-Tool/blob/master/GvLedLibDotNet/RGBFusionPeripherals.cs#L91
Second issue: after removing that line, the save has no effect.
Are there any docs for this GvLedLib.dll
? I noticed in the DLL there is a function for GvLedSet. Is it possible this is similar to the apply function for the motherboard?
Hashes:
D39AB2041C3A93ECB38CE446BBBC1C3DA1E3292EC25A301E4ADF3A588EE7A8F3 GLedApi.dll
6F75B3B77AFB11B9B4B7C6FD3C0AE8CA9C1219FE7FEC1D2C92BB8C5D7CDCC40A GLedApiDotNet.dll
702A91752CE59B11078AB8F3428ECD1F871267D8AD45E414173CCF0A69FEE9D4 layout.ini
05FC657EB5B5D563DE7807DF6EE07FC8B89DC6F6F08EB76C30E5192429FBBDCF Mono.Options.dll
261A600A749097F6CB7F948312A25540FD761D0B9039133CA32D914F2F694D4D RGBFusionTool.exe
64BF4B2F0C84333E239DDA24F82BF8EAD22B7DB905C50FADE262283CA96703AD ycc.dll
As per title.. ^
The following popup is shown: RGBFusionTool.exe : Open driver handle failure!! in MapMem_Phys_to_Linear
And the tool outputs the following exception:
Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at GLedApiDotNet.Raw.GLedAPIv1_0_0Impl.dllexp_InitAPI()
at GLedApiDotNet.Raw.GLedAPIv1_0_0Impl.InitAPI()
at GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.Initialize()
at GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
at GLedApiDotNet.RGBFusionMotherboard..ctor()
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at RGBFusionTool.RGBFusionMain.LazyMotherboard.SetAll(LedSetting ledSetting)
at RGBFusionTool.Application.Main(String[] args)
(via Reddit)
Error: System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dllexp_GetMaxDivision returned 0xFFFFFFFF
bei GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision()
bei GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
bei GLedApiDotNet.RGBFusionMotherboard..ctor()
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
bei System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
bei System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
bei System.Activator.CreateInstance(Type type, Boolean nonPublic)
bei System.Activator.CreateInstance(Type type)
bei System.Lazy1.CreateValue() bei System.Lazy
1.LazyInitValue()
bei System.Lazy`1.get_Value()
bei RGBFusionTool.RGBFusionMain.LazyMotherboard.SetAll(LedSetting ledSetting)
bei RGBFusionTool.Application.Main(String[] args)
dllexp_GetMaxDivision
returns 0xFFFFFFFF
when the tool is run for any setting on the AX370-Gaming K7 motherboard. Full exception is as follows for v0.9.1:
Error: System.Reflection.TargetInvocationException: Exception has been thrown by
the target of an invocation. ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dll
exp_GetMaxDivision returned 0xFFFFFFFF
at GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision()
at GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
at GLedApiDotNet.RGBFusionMotherboard..ctor()
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOn
ly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Bo
olean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipChec
kThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean s
kipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at RGBFusionTool.RGBFusionMain.LazyMotherboard.get_Layout()
at RGBFusionTool.Application.Main(String[] args)
Initially reported on a Reddit thread.
Similar to issue #30
.\RGBFusionTool.exe --list
or any other arguments
Do not work
Error: System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dllexp_GetMaxDivision returned 0xFFFFFFFF
в GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision()
в GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
в GLedApiDotNet.RGBFusionMotherboard..ctor()
--- Конец трассировки внутреннего стека исключений ---
в System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
в System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
в System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
в System.Activator.CreateInstance(Type type, Boolean nonPublic)
в System.Activator.CreateInstance(Type type)
в System.Lazy`1.CreateValue()
в System.Lazy`1.LazyInitValue()
в System.Lazy`1.get_Value()
в RGBFusionTool.RGBFusionMain.LazyMotherboard.get_Layout()
в RGBFusionTool.Application.Main(String[] args)
Hashes:
D39AB2041C3A93ECB38CE446BBBC1C3DA1E3292EC25A301E4ADF3A588EE7A8F3 GLedApi.dll
7015114DAEE108681472B156C6F8EF950EDBFC9B14AE0B2126CA3E1A4CDD9BFC GLedApiDotNet.dll
702A91752CE59B11078AB8F3428ECD1F871267D8AD45E414173CCF0A69FEE9D4 layout.ini
05FC657EB5B5D563DE7807DF6EE07FC8B89DC6F6F08EB76C30E5192429FBBDCF Mono.Options.dll
F62D13CAFD785908D663E0C95FA83497FF1C20F53C7408BCDFDB0102E0721F3E RGBFusionTool.exe
64BF4B2F0C84333E239DDA24F82BF8EAD22B7DB905C50FADE262283CA96703AD ycc.dll
B19.0311.1 Just dropped here 55862af1ace8e7990757510fce106f4d6806c85ebb0354f6fc73f223be92cc8c
.
Attempt to detect if other tools (like RGBFusion) are running to avoid conflicts.
In the UI these are the only settings:
Pulse: speed and color
Flash: speed, color, and brightness
When you enter a command there is no list of required arguments in the output:
PS C:\Users\israel\Desktop\RGBFusionTool-PS> .\RGBFusionTool.exe -v --pulse=Red --speed=7
Zone 0: A_LED
Zone 1: A_LED
Zone 2: A_LED
Zone 3: A_LED
Zone 4: A_LED
Zone 5: NA
Zone 6: NA
Zone 7: D_LED_TYPE_2
Zone 8: D_LED_TYPE_2
.\RGBFusionTool.exe : Usage: RGBFusionTool.exe [OPTION]... [[LEDSETTING] | [ZONE LEDSETTING]...]
At line:1 char:1
+ CategoryInfo : NotSpecified: (Usage: RGBFusio...LEDSETTING]...]:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
brightness=VALUE (optional) brightness (0-100)
Error: System.InvalidOperationException: No LED mode specified
at RGBFusionTool.Application.Main(String[] args)
MB
Z370 Gaming 7
Note: Recently uninstalled App Center & RGB Fusion
CMD
RGBFusionTool.exe --list
Error
C:\Users\Denocyte\Downloads\RGBFusionTool_v0.9.3>RGBFusionTool.exe --list
Zone 0: A_LED
Zone 1: A_LED
Zone 2: A_LED
Zone 3: A_LED
Zone 4: A_LED
Zone 5: NA
Zone 6: NA
Zone 7: D_LED_TYPE_2
Zone 8: D_LED_TYPE_2
Usage: RGBFusionTool.exe [OPTION]... [[LEDSETTING] | [ZONE LEDSETTING]...] [
peripherals GVSETTING]
Set RGB Fusion motherboard LEDs
Options:
-v, --verbose
.
.
.
Error: System.DllNotFoundException: Unable to load DLL 'GvLedLib.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
at GvLedLibDotNet.Raw.GvLedLibv1_0Impl.dllexp_GvLedInitial(Int32& iDeviceCount, Int32[] iDeviceIdArray)
at GvLedLibDotNet.Raw.GvLedLibv1_0Impl.GvLedInitial(Int32& iDeviceCount, Int32[] iDeviceIdArray)
at GvLedLibDotNet.Raw.GvLedLibv1_0Wrapper.Initialize()
at GvLedLibDotNet.RGBFusionPeripherals.<.ctor>b__3_0()
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at GvLedLibDotNet.RGBFusionPeripherals.get_Devices()
at RGBFusionTool.Application.Main(String[] args)
Thank you for taking the time to experiment with this tool and report an issue.
Give a brief summary of the issue.
```
" format.Paste output here
Please include the following information:
RGBFusionTool.exe
Consider running the following PowerShell script to gather environment information. If any is missing please add mention that the script isn't correctly gathering the information so it can be updated. Run this from the directory containing RGBFusionTool.exe
.
$winver = [System.Environment]::OSVersion.Version.ToString()
$toolver = (Get-Item .\RGBFusionTool.exe).VersionInfo.FileVersion.ToString()
$hashes = @("GLedApi.dll", "GLedApiDotNet.dll", "layout.ini", "Mono.Options.dll", "RGBFusionTool.exe", "ycc.dll") | % { Get-FileHash -Algorithm SHA256 -Path $_ }
$biosversion = (Get-WmiObject -Class Win32_BIOS).SMBIOSBIOSVersion
$motherboard = (Get-WmiObject -Class Win32_BaseBoard).Product
Write-Host -ForegroundColor White -BackgroundColor Black @"
``````
- Windows Version: $winver
- RGB Fusion Tool Version: $toolver
- Motherboard: $motherboard
- BIOS: $biosversion
Hashes:
$(($hashes | % { "$($_.Hash) $(Split-Path -Leaf $_.Path)"}) -join "`n")
``````
"@
Out-Null | Write-Host
- Windows Version: 10.0.17134.0
- RGB Fusion Tool Version: 0.9.1
- Motherboard: Z370 AORUS Gaming 7
- BIOS: F5h
Hashes:
1D0D8D01382CD2617AEA26162C2A3FA2FF845B93A815882CC74B512568DF6BC4 GLedApi.dll
3A4AF1C0C90085286E24794A1DBA4CD373BC508B3B4951E3668E4B967457E3F8 GLedApiDotNet.dll
C99AB9E904CE507F43D27528D51C09BB824E2071EC52571E50F7CED938857002 layout.ini
05FC657EB5B5D563DE7807DF6EE07FC8B89DC6F6F08EB76C30E5192429FBBDCF Mono.Options.dll
06011A2510004D752794F1E89A20E9D12DB81C86B53259A5C8E24BCB8DB080C2 RGBFusionTool.exe
4D38B1D9F614D0E49C22E7273FCB56F109A6ED34632247D1B60C14D72D495569 ycc.dll
Add any other information here
Thank you for taking the time to experiment with this tool and report an issue.
I have the Orange colour set in the BIOS, but it's too bright, so I run RGBFusionTool at startup to reduce the brightness, but --static=Orange
also changes the hue to something more greenish.
--static=Orange --brightness=30
Colour is a sort of greenish hue
Colour is orange
Windows 10
Aorus B450 I Pro Wifi
Support for Z390 boards ? Gigabyte Aorus Z390 Pro Wifi
Support for Z390 boards ? Gigabyte Aorus Z390 Pro Wifi
Support for Z390 boards ? Gigabyte Aorus Z390 Pro Wifi
- Windows Version: 10.0.17134.0
- RGB Fusion Tool Version: 0.9.3
- Motherboard: Z390 AORUS PRO WIFI-CF
- BIOS: F6
Hashes:
D39AB2041C3A93ECB38CE446BBBC1C3DA1E3292EC25A301E4ADF3A588EE7A8F3 GLedApi.dll
7015114DAEE108681472B156C6F8EF950EDBFC9B14AE0B2126CA3E1A4CDD9BFC GLedApiDotNet.dll
BA2D8D9BB811644A0F6794082EB028F4F610BDAB361825E1197D1D94283F1A31 layout.ini
05FC657EB5B5D563DE7807DF6EE07FC8B89DC6F6F08EB76C30E5192429FBBDCF Mono.Options.dll
F62D13CAFD785908D663E0C95FA83497FF1C20F53C7408BCDFDB0102E0721F3E RGBFusionTool.exe
64BF4B2F0C84333E239DDA24F82BF8EAD22B7DB905C50FADE262283CA96703AD ycc.dll
Add --breathe
mode to smoothly transition between 2 (or possibly more) colors.
In testing the "transition" mode doesn't seem to honor the initial color set which limits the ability to have the controller handle moving between the colors.
Gigabyte's SDK doesn't directly support such a mode so implementation will require running a daemon to actively transition.
I use the motherboard RGB head to control additional case fans (12v+green for example), this is works fine for original RGB fusion 2.0, but it was good to use a command line utility instead of a heavyweight program from a Gigabyte.
I tried to use RGBFusionTool.exe, but all commands end with an error.
I also noticed that there is no my board B450M DS3H (RGB Fusion enabled) in the configuration file layout.ini.
RGBFusionTool.exe -l
...
Error: System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dllexp_GetMaxDivision returned 0xFFFFFFFF
в GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision()
в GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
в GLedApiDotNet.RGBFusionMotherboard..ctor()
--- Конец трассировки внутреннего стека исключений ---
в System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
в System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
в System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
в System.Activator.CreateInstance(Type type, Boolean nonPublic)
в System.Activator.CreateInstance(Type type)
в System.Lazy1.CreateValue() в System.Lazy
1.LazyInitValue()
в System.Lazy`1.get_Value()
в RGBFusionTool.RGBFusionMain.LazyMotherboard.get_Layout()
в RGBFusionTool.Application.Main(String[] args)
D39AB2041C3A93ECB38CE446BBBC1C3DA1E3292EC25A301E4ADF3A588EE7A8F3 GLedApi.dll
7015114DAEE108681472B156C6F8EF950EDBFC9B14AE0B2126CA3E1A4CDD9BFC GLedApiDotNet.dll
702A91752CE59B11078AB8F3428ECD1F871267D8AD45E414173CCF0A69FEE9D4 layout.ini
05FC657EB5B5D563DE7807DF6EE07FC8B89DC6F6F08EB76C30E5192429FBBDCF Mono.Options.dll
F62D13CAFD785908D663E0C95FA83497FF1C20F53C7408BCDFDB0102E0721F3E RGBFusionTool.exe
64BF4B2F0C84333E239DDA24F82BF8EAD22B7DB905C50FADE262283CA96703AD ycc.dll
Current Link for RGB Fusion SDK in README.md provides the users with latest API, which is API 1.1. 1.1 is not compatible with the RGB-Fusion-Tool at this time. The link below is a direct link to the API 1.0, which will provide users who wish to compile with the proper SDK version.
Verify that known dependencies are present and attempt to give meaningful error output if some are missing.
I would like to request a color change function depending on the temperature of the processor or video card. Gigabyte motherboard, RGB Fusion 2.0 compatible
I'm trying to use RGB Fusion Tool to change the colors on my GA-Z270X-Gaming K7 MoBo. When I try to execute any commands, I receive an error.
All commands I've tried have failed (except --help):
RGBFusionTool.exe --list
Nothing happens with the MoBo, and I receive an error, similar to other logged issues.
Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dllexp_GetMaxDivision returned 0xFFFFFFFF
at GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision()
at GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
at GLedApiDotNet.RGBFusionMotherboard..ctor()
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at RGBFusionTool.RGBFusionMain.LazyMotherboard.get_Layout()
at RGBFusionTool.Application.Main(String[] args)
In this case, I would have expected a list of zones.
Please include the following information:
RGBFusionTool.exe
Consider running the following PowerShell script to gather environment information. If any is missing please add mention that the script isn't correctly gathering the information so it can be updated. Run this from the directory containing RGBFusionTool.exe
.
$winver = [System.Environment]::OSVersion.Version.ToString()
$toolver = (Get-Item .\RGBFusionTool.exe).VersionInfo.FileVersion.ToString()
$hashes = @("GLedApi.dll", "GLedApiDotNet.dll", "layout.ini", "Mono.Options.dll", "RGBFusionTool.exe", "ycc.dll") | % { Get-FileHash -Algorithm SHA256 -Path $_ }
$biosversion = (Get-WmiObject -Class Win32_BIOS).SMBIOSBIOSVersion
$motherboard = (Get-WmiObject -Class Win32_BaseBoard).Product
Write-Host -ForegroundColor White -BackgroundColor Black @"
``````
- Windows Version: $winver
- RGB Fusion Tool Version: $toolver
- Motherboard: $motherboard
- BIOS: $biosversion
Hashes:
$(($hashes | % { "$($_.Hash) $(Split-Path -Leaf $_.Path)"}) -join "`n")
``````
"@
Out-Null | Write-Host
I entered a GIGABYTE support ticket to see if this MoBo is compatible with the SDK. Perhaps it is not, per a different issue?
dllexp_GetMaxDivision
returns 0xFFFFFFFF
when the tool is run for any setting on the AB350-Gaming 3 motherboard. Full exception is as follows for v0.9.1:
Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dllexp_GetMaxDivision returned 0xFFFFFFFF
at GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision() in C:\Users\Michael\Desktop\RGB-Fusion-Tool-master (2)\RGB-Fusion-Tool-master\GLedApiDotNet\Raw\GLedAPIv1_0_0Wrapper.cs:line 54
at GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI) in C:\Users\Michael\Desktop\RGB-Fusion-Tool-master (2)\RGB-Fusion-Tool-master\GLedApiDotNet\RGBFusionMotherboard.cs:line 152
at GLedApiDotNet.RGBFusionMotherboard..ctor() in C:\Users\Michael\Desktop\RGB-Fusion-Tool-master (2)\RGB-Fusion-Tool-master\GLedApiDotNet\RGBFusionMotherboard.cs:line 163
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at RGBFusionTool.RGBFusionMain.LazyMotherboard.SetAll(LedSetting ledSetting) in C:\Users\Michael\Desktop\RGB-Fusion-Tool-master (2)\RGB-Fusion-Tool-master\RGBFusionTool\RGBFusionMain.cs:line 25
at RGBFusionTool.Application.Main(String[] args) in C:\Users\Michael\Desktop\RGB-Fusion-Tool-master (2)\RGB-Fusion-Tool-master\RGBFusionTool\Application.cs:line 234
Adding support for X570 boards
could you please add support for X570 boars?
After trying multiple rebuilds, versions of the SDK, and Git releases, I keep running into a similar error that I can't quite understand:
Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dllexp_GetMaxDivision returned 0xFFFFFFFF
at GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision() in C:\Users\AJ\Downloads\RGB-Fusion-Tool-master\RGB-Fusion-Tool-master\GLedApiDotNet\Raw\GLedAPIv1_0_0Wrapper.cs:line 54
at GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI) in C:\Users\AJ\Downloads\RGB-Fusion-Tool-master\RGB-Fusion-Tool-master\GLedApiDotNet\RGBFusionMotherboard.cs:line 152
at GLedApiDotNet.RGBFusionMotherboard..ctor() in C:\Users\AJ\Downloads\RGB-Fusion-Tool-master\RGB-Fusion-Tool-master\GLedApiDotNet\RGBFusionMotherboard.cs:line 163
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at System.Lazy1.CreateValue() at System.Lazy
1.LazyInitValue()
at System.Lazy`1.get_Value()
at RGBFusionTool.RGBFusionMain.LazyMotherboard.SetAll(LedSetting ledSetting) in C:\Users\AJ\Downloads\RGB-Fusion-Tool-master\RGB-Fusion-Tool-master\RGBFusionTool\RGBFusionMain.cs:line 25
at RGBFusionTool.Application.Main(String[] args) in C:\Users\AJ\Downloads\RGB-Fusion-Tool-master\RGB-Fusion-Tool-master\RGBFusionTool\Application.cs:line 201
The only command I can execute and get anything other than this error is --help
Got message yesterday and forgot to save it. It mentioned some buffer got full and would not allow me to change colors of the lights. I even switched to RGB Fusion and I couldn't do anything with that. The only way I got it to work again was to turn the PC off and kill the power. The LEDs stayed lit after shutdown and went off after I killed the main power switch.
Error when newer (1.1.0) API version is used.
Error: Exception has been thrown by the target of an invocation.
Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> GLedApiDotNet.GLedAPIException: Unknown API version 1.1.0. Expected 1.0.0
at GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
at GLedApiDotNet.RGBFusionMotherboard..ctor()
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at RGBFusionTool.RGBFusionMain.LazyMotherboard.SetAll(LedSetting ledSetting)
at RGBFusionTool.Application.Main(String[] args)
at RGBFusionTool.RGBFusionMain.Main(String[] args)
(via Reddit)
Any possibility / plans on getting this to run through Linux or Wine?
The problem would most likely be trying to reverse engineer the SDK...
I am using the Z370 Gaming 7 motherboard and it looks like one or two of the zones doesn't switch colors when I set the color to red/blue/green, etc.
Command to shift from one color to another
It would be nice if it could be added the command to change between two or more colors. Like a value for the firs color and it's time and then the other one and it's time too. If the sdk allows to do so.(f.e: Red 3 secs, then changes to blue for 5 secs and then back to red and so forth) I'm really new to this so I don't know how to make an approach by myself.
BTW, is it possible to make the script run on boot? Because when I restart everything comes back as RGB Fusion had it configured.
Thank you for RGB-Fusion-Tool
I have it working on an Aorus mother board correctly. It changes all LED's but the Aorus graphics card does not change.
The list function does not seem to show the video card.
rgbfusiontool -l
Zone 0: A_LED
Zone 1: A_LED
Zone 2: A_LED
Zone 3: A_LED
Zone 4: A_LED
Zone 5: NA
Zone 6: NA
Zone 7: D_LED_TYPE_2
Zone 8: D_LED_TYPE_2
Downloaded the latest archive and latest sdk from gigabyte. Extracted the DLLs and .INI file to the programs folder. Tried to run, but with an error.
Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dllexp_GetMaxDivision returned 0xFFFFFFFF
at GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision()
at GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
at GLedApiDotNet.RGBFusionMotherboard..ctor()
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at RGBFusionTool.RGBFusionMain.LazyMotherboard.get_Layout()
at RGBFusionTool.Application.Main(String[] args)
- Windows Version: 10.0.17134.0
- RGB Fusion Tool Version: 0.9.2
- Motherboard: Z270X-Gaming K5
- BIOS: F9c
Hashes:
D39AB2041C3A93ECB38CE446BBBC1C3DA1E3292EC25A301E4ADF3A588EE7A8F3 GLedApi.dll
A32CD85D5087290CD259902E7BF5F7559EFD4C2FD98A50B6BFFD9B98ACF86C27 GLedApiDotNet.dll
702A91752CE59B11078AB8F3428ECD1F871267D8AD45E414173CCF0A69FEE9D4 layout.ini
05FC657EB5B5D563DE7807DF6EE07FC8B89DC6F6F08EB76C30E5192429FBBDCF Mono.Options.dll
39CE6E142BBDDDE1FBA2BDFD5CC4030014E979E82B843D8762E2912E1207E2FB RGBFusionTool.exe
64BF4B2F0C84333E239DDA24F82BF8EAD22B7DB905C50FADE262283CA96703AD ycc.dll
Unhandled exception at 0x5526CDC4 (GLedApi.dll) in RGBFusionTool.exe: Stack cookie instrumentation code detected a stack-based buffer overrun.
Original Location: C:\Program Files (x86)\rgb-fusion\GLedApi.dll
I don't have many other items other than that. This is when I was testing my PS script. IF you need further details, please let me know.
The XML profiles have a ARGB value as a decimal number. It looks like the tool only accepts the strings in color name and hexadecimal value.
I took the xml profile files created by Fusion and put it into a .\profiles folder in the root directory of CLI tool. My plan is to name the xml files the name of the corresponding process. If the powershell script detects the process running, it will set the color of each zone based off the details in the XML. This will make it more user friendly as profiles can be setup by Fusion's UI. I am messing around with formatting, though powershell is completely different in annoying way, compared to any othe language I have used. I might just convert the dec to hex myself in powershell, don't know if this would be easy to add or not for you.
Digital LEDs are not supported with there various forms.
A command line interface that leverages the RGB headers for Ubuntu would be really neat.
I think it should be relatively easy to do as well.
If anyone wants to point me towards the direction of where the controllers for the RGB header is in a Unix system, I'll see if I could hack something up really quick.
Btw, I'm on an X570 I Aorus Pro Wifi.
Looking to give CLI based RGB instructions to various components. No idea if it meets the Motherboard or Keyboard criteria as its not listed under ready or core.
Thank you for taking the time to experiment with this tool and report an issue.
I tried to use it first installing it from chocolatey and then directly from github
I tried from the chocolatey install but everything failed
The only one working was C:\RGBFusionTool_v0.9.3> .\RGBFusionTool.exe --help from the unzipped version
Not working:
C:\RGBFusionTool_v0.9.3> .\RGBFusionTool.exe -l
C:\RGBFusionTool_v0.9.3> .\RGBFusionTool.exe -v
```
" format.PS C:\RGBFusionTool_v0.9.3> .\RGBFusionTool.exe -l
Usage: RGBFusionTool.exe [OPTION]... [[LEDSETTING] | [ZONE LEDSETTING]...] [
peripherals GVSETTING]
Set RGB Fusion motherboard LEDs
Options:
-v, --verbose
-l, --list list zones
-?, -h, --help show help and exit
--version show version information and exit
ZONE:
-z, --zone=VALUE set zone
PERIPHERALS:
--peripherals set peripherals
LEDSETTING options:
Static color
-c, --color, --static=COLOR
set static color to COLOR
-b, --brightness=VALUE (optional) brightness (0-100)
Color cycle
--cycle, --colorcycle[=SECONDS]
cycle colors, changing color every SECONDS
-b, --brightness, --maxbrightness=VALUE
(optional) brightness (0-100)
--cyclepulse (optional) pulse between colors
--minbrightness=VALUE (optional) minimum brightness (during pulse) (0-
100)
--numcolors=VALUE (optional) number of colors to cycle (1-7 ->
ROYGBIV)
Pulse
--pulse=COLOR pulse color COLOR
--maxbrightness=VALUE (optional) max brightness (0-100)
--minbrightness=VALUE (optional) min brightness (0-100)
--fadeon=SECONDS (optional) fade on time (SECONDS)
--fadeoff=SECONDS (optional) fade off time (SECONDS)
Flash
--flash=COLOR flash color COLOR
--maxbrightness=VALUE (optional) max brightness (0-100)
--minbrightness=VALUE (optional) min brightness (0-100)
--time=SECONDS (optional) SECONDS to flash for
--interval=SECONDS (optional) SECONDS in a flash interval
--flashcycle=SECONDS (optional) SECONDS in a cycle
--count=COUNT (optional) flash COUNT intervals in a cycle
Digital A
--digital-a Digital A
--maxbrightness=VALUE (optional) max brightness (0-100)
--minbrightness=VALUE (optional) min brightness (0-100)
--speed=SECONDS (optional) speed (SECONDS)
--rtl, --right-to-left (optional) right to left
--ltr, --left-to-right (optional) left to right
Digital B
--digital-b=COLOR Digital B COLOR
--maxbrightness=VALUE (optional) max brightness (0-100)
--minbrightness=VALUE (optional) min brightness (0-100)
--speed=SECONDS (optional) speed (SECONDS)
Digital C
--digital-c=COLOR Digital C COLOR
--maxbrightness=VALUE (optional) max brightness (0-100)
--minbrightness=VALUE (optional) min brightness (0-100)
--interval=SECONDS (optional) interval (SECONDS)
--dimspeed=SECONDS (optional) dimspeed (SECONDS)
Digital D
--digital-d=COLOR Digital D COLOR
--maxbrightness=VALUE (optional) max brightness (0-100)
--minbrightness=VALUE (optional) min brightness (0-100)
--speed=SECONDS (optional) speed (SECONDS)
Digital E
--digital-e=COLOR Digital E COLOR
--maxbrightness=VALUE (optional) max brightness (0-100)
--minbrightness=VALUE (optional) min brightness (0-100)
--cycletime=SECONDS (optional) cycletime (SECONDS)
Digital F
--digital-f Digital F
--maxbrightness=VALUE (optional) max brightness (0-100)
--minbrightness=VALUE (optional) min brightness (0-100)
--speed=SECONDS (optional) speed (SECONDS)
Digital G
--digital-g=COLOR Digital G COLOR
--maxbrightness=VALUE (optional) max brightness (0-100)
--minbrightness=VALUE (optional) min brightness (0-100)
--interval=SECONDS (optional) interval (SECONDS)
--dimspeed=SECONDS (optional) dimspeed (SECONDS)
Digital H
--digital-h=COLOR Digital H COLOR
--maxbrightness=VALUE (optional) max brightness (0-100)
--minbrightness=VALUE (optional) min brightness (0-100)
--speed=SECONDS (optional) speed (SECONDS)
Digital I
--digital-i=COLOR Digital I COLOR
--maxbrightness=VALUE (optional) max brightness (0-100)
--minbrightness=VALUE (optional) min brightness (0-100)
--speed=SECONDS (optional) speed (SECONDS)
Off
--off turn off
GVSETTING options:
Off
--off turn off
Static color
-c, --color, --static=COLOR
set static color to COLOR
-b, --brightness=VALUE (optional) brightness (0-100)
Error: System.Reflection.TargetInvocationException: Se produjo una excepción en el destino de la invocación. ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dllexp_GetMaxDivision returned 0xFFFFFFFF
en GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision()
en GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI)
en GLedApiDotNet.RGBFusionMotherboard..ctor()
--- Fin del seguimiento de la pila de la excepción interna ---
en System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
en System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
en System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
en System.Activator.CreateInstance(Type type, Boolean nonPublic)
en System.Activator.CreateInstance(Type type)
en System.Lazy`1.CreateValue()
en System.Lazy`1.LazyInitValue()
en System.Lazy`1.get_Value()
en RGBFusionTool.RGBFusionMain.LazyMotherboard.get_Layout()
en RGBFusionTool.Application.Main(String[] args)
List zones
RGBFusionTool.exe
:F62D13CAFD785908D663E0C95FA83497FF1C20F53C7408BCDFDB0102E0721F3E C:\RGBFusionTool_v0.9.3\RGBFusionTool.exe
D39AB2041C3A93ECB38CE446BBBC1C3DA1E3292EC25A301E4ADF3A588EE7A8F3 C:\RGBFusionTool_v0.9.3\GLedApi.dll
702A91752CE59B11078AB8F3428ECD1F871267D8AD45E414173CCF0A69FEE9D4 C:\RGBFusionTool_v0.9.3\layout.ini
64BF4B2F0C84333E239DDA24F82BF8EAD22B7DB905C50FADE262283CA96703AD C:\RGBFusionTool_v0.9.3\ycc.dll
Hashes:
D39AB2041C3A93ECB38CE446BBBC1C3DA1E3292EC25A301E4ADF3A588EE7A8F3 GLedApi.dll
7015114DAEE108681472B156C6F8EF950EDBFC9B14AE0B2126CA3E1A4CDD9BFC GLedApiDotNet.dll
702A91752CE59B11078AB8F3428ECD1F871267D8AD45E414173CCF0A69FEE9D4 layout.ini
05FC657EB5B5D563DE7807DF6EE07FC8B89DC6F6F08EB76C30E5192429FBBDCF Mono.Options.dll
F62D13CAFD785908D663E0C95FA83497FF1C20F53C7408BCDFDB0102E0721F3E RGBFusionTool.exe
64BF4B2F0C84333E239DDA24F82BF8EAD22B7DB905C50FADE262283CA96703AD ycc.dll
Add any other information here
I installed 0.9.2 via choco, how do I upgrade it? I want to try the new digital stuff you added and hopefully my Aorus ram works with the new version. Everything else has been FANTASTIC.
This might not be all that difficult as RGB profiles for custom profiles are saved into user defined XML files.
This might make it easier in two ways, you don't have to account for a lot of user errors and variations as the profiles are created by users who can easily set each profile up in the Fusion interface. Also the profiles will have the same structure so there should be less logic and error checking between different motherboards.
Where I am going with this is that users create profiles and then we can create a job that runs every minute to check for user specified processes. If that process exists, then it will set set the profile to the one user specified. This would require a small config with process and their associated profiles.
Are there any plans for a graphical user interface and not just a command line tool?
I downloaded the source code and compiled it in Visual Studio under .NET Framework version 4.6 and I keep getting an error that includes "ERROR_INSUFFICIENT_BUFFER". I have no idea what is causing it since I compiled it with no changes to the source code.
Any ideas?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.