30 Jan 2023 |
morg | Interesting, no idea if this can be done, wallpaper engine is closed source. | 16:10:03 |
Psykill972#8715 |  Download SPOILER_2023-01-30_18h33_03.png | 17:35:13 |
Psykill972#8715 | it also can work with icue, hope you will find a way to use it with openrgb 😉 | 17:35:14 |
TheRogueZeta#0120 | Is it better to add the OpenRGB SDK to Wallpaper engine? Either way Razer means potential game integration as well. | 18:12:47 |
TheRogueZeta#0120 | 🤷♂️ ask them to add support then. IDK. Either way does work. | 18:31:52 |
diogotr7 | you could replicate Aurora and Artemis's Chroma grabber as an openRGB plugin fairly easily | 18:39:33 |
CalcProgrammer1#4006 | that would be nice | 18:40:10 |
diogotr7 | We kept the source of this private in case Razer tried to break it again (they have broken our methods twice, i think) | 18:41:07 |
diogotr7 | but as long as their official "Chroma Emulator" app is supported, the method will work., | 18:41:23 |
diogotr7 | we reverse engineered it because razer left debug symbols on one release of this emulator application | 18:41:46 |
| bluu#2284 changed their profile picture. | 20:16:04 |
shandoosheri | Would be cool to have openrgb emulate the razer sdk directly. | 20:56:01 |
CalcProgrammer1#4006 | Not really possible as Razer signs the DLL | 20:57:09 |
diogotr7 | I think he means emulate the sdkservice | 20:57:21 |
CalcProgrammer1#4006 | so you could make a drop-in DLL but it wouldn't work with games that check the signature | 20:57:21 |
CalcProgrammer1#4006 | but yeah doing what Aurora/Artemis do would be a neat plugin | 20:57:37 |
diogotr7 | Yeah that makes more sense I think | 20:57:48 |
diogotr7 | I can talk with the guy that wrote it originally about opening up the repo | 20:58:00 |
CalcProgrammer1#4006 | would be nice if it worked in Wine | 20:58:15 |
diogotr7 | I don't see the point in being scared about razer anymore | 20:58:24 |
CalcProgrammer1#4006 | no idea if the DLL side puts the data in shared memory or w/e | 20:58:26 |
diogotr7 | In short all it does is read Memory mapped files | 20:58:34 |
diogotr7 | Waits a couple wait handles and holds a couple mutexes as well | 20:58:55 |
diogotr7 | Simple win32 stuff. Not sure how wine deals with | 20:59:05 |
diogotr7 | The service does | 20:59:18 |
diogotr7 | I'm not sure what the dll does, I think it just sends commands to the service in some way | 20:59:32 |
CalcProgrammer1#4006 | so the communication between DLL and service is unknown, but the service puts the data into a memory mapped file | 21:00:18 |
diogotr7 | Yes, which we know the name and data structures for | 21:00:38 |
diogotr7 | It's several memory mapped files, with different data in each | 21:00:51 |
diogotr7 | One for keyboard data, one for mouse, etc, and one for app info about what is using the sdk. | 21:01:10 |