I'm sorry if this question has been asked a million times; I have spent some 4 hours searching the forums, Reddit, and using Google in search of what seemed to me to be a very simple question: how can I avoid having a 1-GByte-application running all the time, consuming what's left of my meagre resources, and still manage to have some functionality on my brand-new Void Elite USB headset?
What I'm looking for is to run a very small daemon on my Mac which just provides enough information to the headset to tell it to remember the last settings (e.g. mic volume, side tone on/off, using bleeps or an informative voice, stereo or surround, etc. etc. etc.). I'm not even asking how to keep the lighting programming working without iCUE — I'm neither a gamer nor a modder, so I don't really care much about it, I've bought the headset for its legendary quality for voice chat, not for the nifty extra special effects.
I understand now that some Corsair hardware have the option of getting configured under iCUE but there is an option to save such settings directly to the hardware. This is not the case for most hardware (including, I believe, the above-mentioned Void Elite USB headset), which relies on iCUE to continuously send commands to it (and read whatever sensors or input devices they might have).
That's ok if you have a very complex lighting setup and have to deal with keyboard remapping and so forth, so there is no choice but to keep iCUE running all the time. But for my clearly underpowered Mac, having this colossal application (which takes about one minute just to load) just to have access to a handful of settings is absolutely wasteful.
I've also learned that there is an SDK, as well as a few attempts to create a tiny webserver which accepts REST requests and converts them into SDK commands. That's all fine, and a credit to the awesome Corsair user community which is able to do such fantastic things, but... all of that still requires having iCUE running all the time and have the SDK slider turned on — which consumes even more resources!
Isn't there a much simpler alternative?
I've seen that the actual iCUE app is not very big (roughly 20 MBytes in size); what is huge is the Qt library that it requires to provide a minimally decent GUI (which, thanks to Qt, is consistent among platforms) — that's what takes around 1 GBytes. Because the iCUE application is not open-source (for very good reasons!) I cannot see if it works according to a client-server paradigm, i.e. if iCUE launches not only the GUI behemoth, but also a stub daemon which actually connects to the headset via USB. Perhaps that's what actually happens under the hood, but I cannot see how it works; I was searching inside the package contents for the iCUE application to see if I could find anything like that, but I admit my lack of knowledge about the Corsair/iCUE environment. It might be obvious, just not for me.
Alternatively, are there other non-iCUE tools developed by Corsair that can accomplish the same, but without the GUI interface? Where can I download those? By now, I've learned that the official web site has some serious problems with outdated links, and that it takes some pain and a lot of patience to figure out where exactly the latest versions are being stored for download. So that's the reason why I may have missed that altogether.
Last but not least... perhaps nobody thought of actually having such a ultra-light-weight daemon providing just the bare bones functionality that is exposed by iCUE; in that case, and beyond the SDK's own developer documents, are there any public (and preferrable official!) references about how to 'talk' directly to the headset, without the need of going through the iCUE application? Given some documentation, I believe I can cook up some very simple proof-of-concept, so long as I've got some information about how exactly the 'inner' API interface actually works...