serebit / Wraith Master
Programming Languages
Projects that are alternatives of or similar to Wraith Master
Wraith Master is a feature-complete graphical and command-line application for controlling the RGB LEDs on AMD's Wraith stock coolers. At the moment, the only supported cooler is the Wraith Prism, but there are plans to add other Wraith coolers as well.
Designed for feature parity with the official Windows-only Cooler Master application, Wraith Master supports all modes and settings that the Wraith Prism can use. As the Wraith coolers are capable of storing RGB configurations in-device, no daemon is required to maintain configurations, and the program can be uninstalled without fear of losing your settings.
Supported Platforms
v1.1.2 and Older
Wraith Master versions 1.1.2 and earlier support all 64-bit Linux distributions that use glibc as their primary libc implementation, along with distributions that have a complete compatibility layer for glibc (like Void). Distributions like Alpine and Adélie are incompatible for now (see #3).
Installing
Debian/Ubuntu and Derivatives
Prebuilt .deb
packages are available on the Releases page on both GitLab and GitHub.
Fedora and Derivatives
Prebuilt .rpm
packages are available on the Releases page on both GitLab and GitHub.
Arch and Derivatives
If you're on Arch Linux or one of its derivatives, you can install both
frontends from the AUR. If you'd rather not build from source,
you'll want to install wraith-master-bin
; otherwise, it's under wraith-master-cli
for the CLI frontend
and wraith-master-gtk
for the GTK frontend.
Solus
Solus has both frontends in the official repository. They can be installed either by
running sudo eopkg install wraith-master
in the terminal, or searching for the package in the Software Center.
Other Distributions
There are precompiled binaries available for each release here, with all binaries and resources included.
Runtime Dependencies
These dependencies only need to be manually installed if you either built the software yourself, or are using a standalone binary rather than a distribution package (which would prompt these dependencies to install).
Normal Version
Distribution | Shared Dependencies | GTK-Only |
---|---|---|
Debian, Ubuntu, etc. | libusb-1.0-0 |
libgtk-3.0 |
Arch, Manjaro, etc. | gtk3 |
|
Fedora | gtk3 |
|
OpenSUSE | gtk3 |
|
Solus | ||
Void | ||
Gentoo | dev-libs/libusb |
gtk+ |
Architecture
Wraith Master uses the Kotlin programming language and its LLVM backend (also known as Kotlin/Native). This backend provides semi-transparent interop with C libraries, which Wraith Master makes use of for two common libraries—libusb for communication with the Wraith Prism, and libgtk (version 3) for the graphical user interface. The backend itself also requires glibc to be in use, as explained above, though this may change in the future.
As Kotlin/Native uses LLVM as its backend, it compiles directly to native executables of rather paltry size. This is one of the reasons Kotlin/Native was used over the more common JVM backend for Kotlin; a JVM is required to build the software, but not to use it.
Building from Source
See this section of the wiki for instructions on building this software yourself.
Changelog
See CHANGELOG.md
for notes on previous releases, along with changes that are currently in staging for the next
release.
License
Wraith Master is open-sourced under the Apache License, Version 2.0. All contributions to this repository will be subject to this license.
In the News
- Phoronix: Wraith Master 1.0 Released For Controlling AMD RGB Fans On Linux by Michael Larabel
- Gaming On Linux: Take control of your AMD Wraith Prism RGB on Linux with Wraith Master by Liam Dawe
Acknowledgements
- gfduszynski, for his work on cm-rgb. Although I started Wraith Master before discovering cm-rgb, gfduszynski's groundwork made it viable for me to continue working on it.
- Adam Honse, for his work on OpenRGB. This had some extra documentation on specific functions that I was lacking.
- ballsystemlord, Kirk, and tralamazza from the AdoredTV Discord server, along with Apache and my dad, for helping me figure out how the mirage frequencies are converted to byte values.
- The fine people of the
#musl
channel on Freenode, for helping me out with getting Wraith Master working on Alpine and Adélie. - AMD and Cooler Master. Please don't sue me :)