Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
HunterZ committed Oct 30, 2018
1 parent e247ea4 commit 8e9aa9d
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# UniLight
Synchronize Corsair CUE, Dell/Alienware LightFX/AlienFX, and/or Logitech Gaming LED devices with Windows accent/colorization color
Synchronize Corsair CUE, Dell/Alienware LightFX/AlienFX, Logitech LED, and/or Razer Chroma devices with Windows accent/colorization color

## Demo
https://youtu.be/I3xfJtbLqgA
Expand All @@ -10,21 +10,21 @@ I have an Alienware 17R3 laptop and have been using AlienFX WinTheme to sync the
## Usage
Simply launch UniLight and forget about it. Configure Windows to launch it at startup if you want.

UniLight appears as a system tray icon that looks like a color wheel, and listens for changes to accent color or other conditions that may affect LED color synchronization. On startup and whenever any relevant changes are detected, it calls the LightFX/AlienFX and Logitech Gaming LED APIs to set all RGB LEDs to the current accent color.
UniLight appears as a system tray icon that looks like a color wheel, and listens for changes to accent color or other conditions that may affect LED color synchronization. On startup and whenever any relevant changes are detected, it calls the various APIs to set all RGB LEDs to the current accent color.

Hovering the mouse cursor over the UniLight tray icon will produce a tooltip containing status information, including the current and last accent colors, and whether they were successfully applied to Alienware and/or Logitech devices.
Hovering the mouse cursor over the UniLight tray icon will produce a tooltip containing status information, including the current and last accent colors, and whether they were successfully applied to each of the vendor APIs.

Right-clicking the tray icon will bring up a context menu with self-explanatory selections, while left-clicking performs a manual color synchronization.

## Troubleshooting
UniLight comes with DLLs for the various supported APIs. These are mainly included so that users without software from one or more of the supported vendors can still use UniLight. If you have trouble with the included DLLs, it's highly recommended that you try deleting/renaming the included DLLs for which you may have system-level counterparts installed.
UniLight may comes with a Corsair CUE DLL because they make me link a loader library into UniLight that prevents it from working at all when the DLL is not present. If you are a Corsair CUE user and have issues, you may want to try renaming/deleting the included DLL to ensure that the one included with your driver version is used instead.

Dell/Alienware LightFX/AlienFX DLLs are not included, because the fact that that SDK requires that I manually load the DLL anyway means that I can just disable support if the DLL is not available at the OS level.
DLLs for the other APIs are not included. UniLight simply skips over any APIs for which it fails to load/initialize a DLL.

## System Requirements
I'm not 100% sure about these. I tried to implement the API access in such a way that it will fail gracefully if a hardware vendor API is not supported on your system. UniLight will also attempt to re-apply the color on every color change, so that there is some hope of avoiding having to restart UniLight if relevant peripherals are (re)connected after UniLight has already been launched. I haven't tried to make it any more aggressive because I have to poll both APIs (neither provides a notification callback mechanism) and I don't want UniLight to have a noticeable performance impact on gaming or other tasks.
I'm not 100% sure about these. I tried to implement the API access in such a way that it will fail gracefully if a hardware vendor API is not supported on your system. UniLight will also attempt to re-apply the color on every color change, so that there is some hope of avoiding having to restart UniLight if relevant peripherals are (re)connected after UniLight has already been launched. I haven't tried to make it any more aggressive because I have to poll all APIs (none provide a notification callback mechanism) and I don't want UniLight to have a noticeable performance impact on gaming or other tasks.

UniLight should load the AlienFX and/or Logitech Gaming LED DLLs that you have installed as part of Alienware Command Center (minimum version unknown; I'm currently on 4.5.19) and Logitech Gaming Software (version 8.55 or higher required for LED support), respectively. Also, the binary distribution of this program is 32-bit for maximum compatibility (I'm running it on 64-bit systems, so I know it works there).
UniLight should load the AlienFX, Logitech Gaming LED, and/or Razer Chroma DLLs that you have installed as part of Alienware Command Center (minimum version unknown; I'm currently on 4.5.19), Logitech Gaming Software (version 8.55 or higher required for LED support), and/or Razer Synapse (tested with 3.3.1018.10194 / Chroma SDK 2.21.1), respectively. Also, the binary distribution of this program is 32-bit for maximum compatibility (I'm running it on 64-bit systems, so I know it works there).

As of version 1.1, UniLight is completely event-driven and no longer polls the Windows accent color on a timer. The result should be extremely minimal CPU usage.

Expand All @@ -34,8 +34,9 @@ This project was created with:
* Alienware AlienFX 1.0 SDK (formerly Dell LightFX): http://www.dell.com/support/home/us/en/19/drivers/driversdetails?driverId=T5GGP
* Corsair CUE SDK (Protocol version 4): http://forum.corsair.com/v3/showthread.php?t=156813
* Logitech LED Illumination SDK: https://www.logitechg.com/en-us/developers
* Razer Chrome SDK: https://developer.razer.com/

## License
All code contained in this repository and binaries built from it are covered by the MIT open source license. See the LICENSE file for details. Usage of this code must be attributed to GitHub user HunterZ.

Included DLLs are owned by the hardware vendor companies (Corsair, Dell/Alienware, Logitech).
Included DLLs are owned by the hardware vendor companies (Corsair, Dell/Alienware, Logitech, Razer). I assert no rights or support responsibilities for these.

0 comments on commit 8e9aa9d

Please sign in to comment.