DarthAffe / RGB.NET

The one-stop SDK for RGB-peripherals

Home Page:http://lib.arge.be

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gigabyte SDK

akmadian opened this issue · 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

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

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.

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.

@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... 😉

@ericnewton76 Rebrand of the name for what?

@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.

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

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.

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.

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 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.

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.

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.

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

i have an x470 gaming 7 and willing to help