Releases: hexawyz/Exo
2025-03-22
Features since last release:
- Added temperature sensors for Intel Processors through
PawnIO
driver (see prerequisites) - Use latest Windows App SDK
- Migrated the sensor updates for the UI outside of GRPC, which should hopefully help having a flatter memory usage
Prerequisites:
Artifacts from this build.
2025-03-11
Features since last release:
- Stability improvements related to some specific features (Mainly: Elgato light driver crashes, Monitor control proxy capabilities retrieval reliability)
- Register the service for power notifications (To be especially useful later on with programming features)
- Reapply lighting effects when getting out of sleep mode (NB: This is actually only necessary for some specific devices, such as RGB Fusion 2.0 LED Controller… And only because of BIOS interference.)
- Reduce size and memory usage of the user-mode helper by getting rid of the GRPC stack there. (Shaved about 1MB of file size in the helper)
- Improvements for support of mobile NVIDIA GPUs that can be put offline. (This is not perfect, but nvapi seems to have built-in mitigations that help clients work most of the time)
Prerequisites:
Artifacts from this build.
2025-03-02
Features since last release:
- New lamp/light feature allowing to control external lights (On/Off, Brightness, Color temperature)
- Support for discovery of devices through DNS-SD (mDNS)
- Support for Elgato light devices discovered through DNS-SD (Ring Light, Key Light at least)
- Show lamps on the home screen
- Stop binding a TCP socket on startup (from the HTTP server that is not used)
ℹ️ Due to the introduction of DNS-SD features, Exo will now trigger some requests on the local network, unlike previous versions.
Elgato lights are also controlled though HTTP requests, which will be sent directly to the device.
I have not observed this to be a problem in practice, as the CPU continues to stay mostly idle (especially compared to the software that this replaces 😁)
However, you are free to manually delete the DNS-SD plugin after installation if this were to bother you.
Prerequisites:
Artifacts from this build.
2025-02-21
Features since last release:
- Improvements for NVIDIA GPUs
- Expose fan control for GPUs directly supported by NvAPI (At least all recent RTX FE cards; 3rd party may use custom onboard devices)
- Report load using the Dynamic PStates API instead of utilization samples. Results should be the same, but explicitly polled by the service rather than pushed via a callback
- Use a native memory allocator for the largest part of image processing operations. This should greatly reduce memory that stays allocated after transforming an image, especially animated GIFs
- Translation of many parts of the UI in Japanese
- Show visual notifications for some errors generated by the service when called by the UI (e.g. reason of failure to add an image to the library)
- A few smaller UI fixes or cosmetic tweaks
Prerequisites:
Artifacts from this build.
2025-02-15.1
Features since last release:
- Image transformation metadata is now persisted on disk, which allows assigned images to be restored on the devices very quickly upon service start (especially heavy GIF images 🙂)
- Small bugfix in Kraken Z memory allocation (mostly for very large images, would not corrupt anything but fail at upload)
- Make sure that the embedded monitor UI is disabled when changes are being applied.
- Sanitize filenames when opening images in the image library UI instead of always generating a random name.
Note:
Image transformations in the service may cause memory usage to rise significantly. You may want to restart the service after applying new images to embedded monitors in order to reclaim the memory. This is not a critical problem at the moment, but it will have to be fixed in the future.
Prerequisites:
Artifacts from this build.
2025-02-15
Features since last release:
- Add an image library used to manage images used by the service (This avoids relying on external image files, hopefully making the service more reliable)
- Embedded monitor support (e.g. Kraken Z, Stream Deck)
- One can assign any image from the image library to an embedded monitor
- Crop region of images can be selected in the UI
- Settings will be persisted and reapplied upon startup and device connection
- Images are automatically transformed to the proper target format in the background service and cached on disk
- Improved support for NZXT Kraken Z devices
- Listed a few more devices as compatible with the driver, from information found on internet. (Not tested)
- More complete and robust image memory management, allowing to efficiently swap images and properly free enough memory to store requested images.
- Device is entirely managed from the UI, making use of the new Embedded Monitor feature
- Improved support for StreamDeck XL:
- Idle Timer
- Buttons are exposed as Embedded Monitors (key presses are not handled yet)
⚠️ Images assigned to buttons will be persisted and reapplied automatically on startup or device connection, which will temporarily override what has been displayed by other software. You should probably avoid playing with it for now if you want to avoid this, as settings can't be cleared from the UI.
Prerequisites:
Artifacts from this build.
2025-01-11
Features since last release:
- Many small reliability improvements, including bugfixes in the Razer driver following past updates. Also migration to .NET 9.0.
- Cooling module improvements
- Support for hardware cooling curves
- Persistance of cooling settings for all configured coolers
- Restoration cooling settings upon startup and when a device becomes online
- Cosmetic improvements in the power curve editor
- Proper state updates in the cooling configuration UI
- Kraken Z driver updates
- Hardware cooling curves support (A default hardcoded curve will be applied on driver startup just in case)
- Image memory management allowing to upload any image to the device
- A gif file named
nzkt-kraken-z.gif
will be uploaded to the device if found on startup, otherwise a static image will be generated on the fly. - As long as hardware curves are enough for you, CAM can now be discarded, thus saving on CPU and RAM
Prerequisites:
Artifacts from this build.
2024-10-02
Features since last release:
- Fix of Exo.Overlay not starting up (there was an error in the app manifest)
Prerequisites:
Artifacts from this build.
2024-09-29
Features since last release:
- Support for the Razer Mamba Chroma
- Initial Discovery of GPUs without a video output (e.g. NVIDIA GPUs behind Intel iGPU)
- Tweaked the executables manifests to enable newer Win32 features.
- Minor fixes in the mouse DPI presets UI.
Prerequisites:
Artifacts from this build.
2024-09-17
Features since last release:
- Add graceful feature degradation for NVIDIA driver (in order to run on older systems)
- Razer DeathAdder 3.5G support, using either of the two existing kernel drivers (to be installed separately)
Prerequisites:
Artifacts from this build.