RGB.NET icon indicating copy to clipboard operation
RGB.NET copied to clipboard

Gigabyte SDK

Open akmadian opened this issue 6 years ago • 16 comments

Found a Gigabyte SDK, according to docs, it works with C#. I'm not really sure of the exact capabilities, but the docs look pretty nice from what I've seen. The SDK files come in DLLs, and as far as I can tell, has support for motherboards, GPUs, and peripherals.

Here's a link: https://www.gigabyte.com/mb/rgb/sdk

akmadian avatar Feb 08 '19 06:02 akmadian

Here's a C# CLI wrapper, I think @ericnewton76 found this before me, might be helpful: https://github.com/tylerszabo/RGB-Fusion-Tool

Also, compatible chipsets include:

  • Intel: X299, H310, B360, H370, Z370
  • AMD: AX370, X399, AX470

akmadian avatar Feb 08 '19 06:02 akmadian

As with everything here: Implementation requires someone owning a compatible device (which is working with some official example) who's willing to help with debugging.

DarthAffe avatar Feb 08 '19 18:02 DarthAffe

I have a gigabyte rgb fusion motherboard. I can test it and such.

I've got Corsair LL fans coming and the Corsair RGB memory coming sometime either this weekend or next week so I can exercise multi vendor RGB stuff.

ericnewton76 avatar Feb 08 '19 19:02 ericnewton76

@akmadian you're right, tylerszabo worked on the sdk, his gives me an access violation right away, so I haven't been able to try it out yet. However, I was going to work on pulling him into an implementation that works here in RGB.Net

Btw, are you open to a rebrand of the name? RGBFusion is best although Gigabyte probably has that TM'd. RGBMaster or just use RGBSync like the app... :wink:

ericnewton76 avatar Feb 08 '19 19:02 ericnewton76

@ericnewton76 Rebrand of the name for what?

akmadian avatar Feb 08 '19 20:02 akmadian

@akmadian do you have anything up ready for a pull request? can I lend a hand perhaps?

I have some down time now and just got all my Corsair RGB products installed. So now looking forward to helping get the Gigabyte RGB fusion aspects of this library up and running so I can get them sync'd.

ericnewton76 avatar Feb 14 '19 05:02 ericnewton76

Anything new on this? kinda surprised Fusion hasnt found its way into this project yet.

JoshWobbles avatar Jun 18 '19 20:06 JoshWobbles

Well, it's the same issue for most other types of devices too: implemented a device-provider requires someone to get the official sdk-examples to work (to verify that the SDK is working as intended) first. afterwards there most of the time a bunch of tests to get the implementation right.

DarthAffe avatar Jun 18 '19 21:06 DarthAffe

Well, I'm juggling 10 projects, whats one more :-P I have a 1080ti Aorus and z390 I can test the sdk against. So far their pre-compiled samples are a no-go for me, as well as RGB-Fusion-Tool, i gotta install some c++ sdk's to open the source, ill check back if I see anything.

JoshWobbles avatar Jun 18 '19 22:06 JoshWobbles

The problem is that the Gigabyte RGB Fusion SDK is a sack of s**t. The dlls are linked against a debug build of msvcrt which is not licensed to be redistributed, even though Gigabyte is redistributing it, and thats a violation of that license... lol

Secondly, the RGB Fusion tool itself doesnt even use the RGB Fusion SDK dlls, they made a whole different set of DLLs that seem to be far more up-to-date...

So basically the Gigabyte RGB Fusion SDK is a mess, and they probably don't even understand that its a mess because I havent gotten any response to requests for help and comments on their SDK.

The real work would be reverse engineering, from the C# dlls contained in the RGB Fusion tool, of the motherboard IO ports and values that perform the RGB functions. This looks like the least worst route currently until Gigabyte, a hardware company, figures out how to write decent software.

ericnewton76 avatar Jun 19 '19 16:06 ericnewton76

@ericnewton76 Ohh, i figured that out in my first couple hours trying to fix the broken mess that they call a SDK... The RGB Fusion tool seems to have started the work of ditching the "SDK" (I cant even call it that) and going straight after the com interops and storing the values for each piece of hardware they backwards engineer into a ini file. I may try tinkering with that as my hardware isnt in the list in the ini yet, but yea, im not touching that sdk anymore.

JoshWobbles avatar Jun 19 '19 16:06 JoshWobbles

Misery loves company, lol.

Realistically an open source lib would be nice. The RGB Fusion app's libraries have all the IO ports and values to poke in them... although wrapped in ifs/elses probably to deal with differing hardware levels or something (some of them read like if mem_loc 4455 = 33 then poke 33, 4456 else poke 55, 3357 type stuff thats difficult to understand since they basically are magic numbers.

Reverse engineering this stuff would make since if it were a paid endevour because its going to be complicated to get right, and without the actual hardware specs it'll be a black box.

And to get this fixed, more people that buy the RGB boards should get together as a group and be vocal in demanding a much better SDK, which ultimately benefits Gigabyte anyways. The trick is convincing them that its a real problem that needs dollars spent on it.

ericnewton76 avatar Jun 19 '19 19:06 ericnewton76

People have been complaining about the rubbish RGB software for years, and its still the worst RGB solution out there, I imagine the SDK is an even lower priority than that.

JoshWobbles avatar Jun 19 '19 20:06 JoshWobbles

Reminder: https://github.com/Cheerpipe/RGBFusion390SetColor/tree/master/RGBFusion360SetColor is said to work.

DarthAffe avatar Nov 02 '19 11:11 DarthAffe

Yes, this works on my X470 AORUS Ultra Gaming. I haven't tried with the SDK yet though, I'll work on that and report back

RobertBeekman avatar Nov 02 '19 15:11 RobertBeekman

i have an x470 gaming 7 and willing to help

b1n4ryk1lla avatar Mar 29 '20 18:03 b1n4ryk1lla

https://github.com/tylerszabo/RGB-Fusion-Tool/issues/39

mirh avatar Oct 07 '22 18:10 mirh