nagisa/msi-rgb

What i've noticed surrounding support of newer MSI boards

Opened this issue · 9 comments

-MSI currently has four utilities out that can control certain motherboard's rgb functions

-Nagisa has reverse engineered the way the MSI gaming app controls motherboard rgb, which supports Intel: X99 / Z270 / H270 / B250 / H110 Series and AMD: X370 / B350 / A320 Series

-So that leaves three more utilities that we need to reverse engineer if we want to get support
working on all MSI boards, since each tool potentially controls the boards differently.

-MSI mystic light: Intel: X299 / Z390 / Z370 / H370 / B360 / H310 Series
AMD: X399 / X470 / B450 Series (this one might control via SMbus because these boards have the same super io chip, but don't seem to work with this tool. The rgb controller chips on these boards are all different as well.)

-Ambient link (only supports MSI laptops, probably not important to reverse engineer)

-MSI Dragon Center: Intel Z390 Series, MEG X299 CREATION, and ALL AMD x570 boards
(All boards listed as supported with dragon center suspiciously use a NUVOTON NCT6797 super io chip, so this tool might write to the super io chip, just as the gaming app does. It also could write to the RGB controller, as all these boards seem to have a NUC126NE4AE RGB controller chip.)

Update: MSI gaming center contains a "UC_mystic_light.dll" which could contain the info we need.

Good info. I was aware of the split between the "old" RGB and the "Mystic Light" RGB, but this is the first time I hear about "Dragon Center".

What do you think about the uc mystic light dll

Last time I looked at it, I found that all of the tools actually use the same driver interface which is essentially a backdoor into ring-0 to operate. To really figure out for what reason things work, you want to look at how those tools communicate with the driver and what the driver is doing first.

-Nagisa has reverse engineered the way the MSI gaming app controls motherboard rgb, which supports Intel: X99 / Z270 / H270 / B250 / H110 Series and AMD: X370 / B350 / A320 Series

I have msi x99a gaming pro carbone. It's NCT6792D. What I should change to support this chip?
https://www.overclockers.ua/motherboard/msi-x99s-gaming-7/18-big-msi-x99s-gaming-7.jpg

-MSI mystic light: Intel: X299 / Z390 / Z370 / H370 / B360 / H310 Series
AMD: X399 / X470 / B450 Series (this one might control via SMbus because these boards have the same super io chip, but don't seem to work with this tool. The rgb controller chips on these boards are all different as well.)

I currently have an MSI X470 Gaming Pro Carbon and have tried your code with no effect. Is there any way that a workaround can be made for these boards? Or would you have to start a new fork?

I made a PR to OpenRGB today, which works with my MPG x570 Gaming Plus.
It needs a lot of work, but I think it is a good start.

https://gitlab.com/CalcProgrammer1/OpenRGB/-/merge_requests/21

I would like to get the battery charge threshold limiting feature on linux for my laptop. Does it require to be reverse-engineered? Is that even possible?

I'm sorry if this is not the right place to ask