README.md 6.68 KB
Newer Older
Campbell Jones's avatar
Campbell Jones committed
1
![Wraith Master][wraith-master-logo]
Campbell Jones's avatar
Campbell Jones committed
2

Campbell Jones's avatar
Campbell Jones committed
3 4
[![GitLab][gitlab-badge]](https://gitlab.com/serebit/wraith-master)
[![GitHub Mirror][github-badge]](https://github.com/serebit/wraith-master)
Campbell Jones's avatar
Campbell Jones committed
5
[![AUR][aur-badge]](https://aur.archlinux.org/packages/?K=wraith-master)
Campbell Jones's avatar
Campbell Jones committed
6
[![CI Pipeline Status][pipeline-status-badge]](https://gitlab.com/serebit/wraith-master/commits/master)
Campbell Jones's avatar
Campbell Jones committed
7 8 9
[![License][license-badge]](https://www.apache.org/licenses/LICENSE-2.0.html)
[![Ko-fi][kofi-badge]](https://ko-fi.com/serebit)

10 11
---

12 13 14
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.
Campbell Jones's avatar
Campbell Jones committed
15

16 17 18 19
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.
Campbell Jones's avatar
Campbell Jones committed
20

21
![GTK Screenshot][wraith-master-screenshot]
22

23
![CLI Screenshot][wraith-master-terminal-screenshot]
Campbell Jones's avatar
Campbell Jones committed
24

Campbell Jones's avatar
Campbell Jones committed
25 26
## Supported Platforms

27
#### v1.1.2 and Older
Campbell Jones's avatar
Campbell Jones committed
28

29 30 31
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](https://gitlab.com/serebit/wraith-master/-/issues/3)).
Campbell Jones's avatar
Campbell Jones committed
32

33
## Installing
34

Campbell Jones's avatar
Campbell Jones committed
35 36 37 38 39 40 41 42 43
#### 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
Campbell Jones's avatar
Campbell Jones committed
44

45 46 47 48
If you're on Arch Linux or one of its derivatives, you can install both
frontends [from the AUR](https://aur.archlinux.org/packages/?K=wraith%2Dmaster). 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.
49 50

#### Solus
Campbell Jones's avatar
Campbell Jones committed
51

52 53
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.
Campbell Jones's avatar
Campbell Jones committed
54

Campbell Jones's avatar
Campbell Jones committed
55
#### Other Distributions
Campbell Jones's avatar
Campbell Jones committed
56

57 58
There are precompiled binaries available for each release [here](https://gitlab.com/serebit/wraith-master/-/releases),
with all binaries and resources included.
59

60 61
## Runtime Dependencies

62 63
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).
Campbell Jones's avatar
Campbell Jones committed
64

65 66
#### Normal Version

67 68 69 70 71 72 73 74 75
| 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+`       |
76

Campbell Jones's avatar
Campbell Jones committed
77 78
## Architecture

79 80 81 82
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.
Campbell Jones's avatar
Campbell Jones committed
83

84 85 86
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.
Campbell Jones's avatar
Campbell Jones committed
87

Campbell Jones's avatar
Campbell Jones committed
88 89
## Building from Source

90 91
See [this section of the wiki](https://gitlab.com/serebit/wraith-master/-/wikis/help/building-from-source) for
instructions on building this software yourself.
Campbell Jones's avatar
Campbell Jones committed
92

Campbell Jones's avatar
Campbell Jones committed
93 94
## Changelog

95 96
See `CHANGELOG.md` for notes on previous releases, along with changes that are currently in staging for the next
release.
Campbell Jones's avatar
Campbell Jones committed
97

98 99
## License

100 101
Wraith Master is open-sourced under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.html).
All contributions to this repository will be subject to this license.
Campbell Jones's avatar
Campbell Jones committed
102 103 104

## In the News

105 106 107 108
- [Phoronix: Wraith Master 1.0 Released For Controlling AMD RGB Fans On Linux](https://www.phoronix.com/scan.php?page=news_item&px=Wraith-Master-1.0)
  by Michael Larabel
- [Gaming On Linux: Take control of your AMD Wraith Prism RGB on Linux with Wraith Master](https://www.gamingonlinux.com/2020/08/take-control-of-your-amd-wraith-prism-rgb-on-linux-with-wraith-master)
  by Liam Dawe
109

Campbell Jones's avatar
Campbell Jones committed
110 111
## Acknowledgements

112 113 114 115 116 117 118 119 120 121
- **gfduszynski**, for his work on [cm-rgb](https://github.com/gfduszynski/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](https://gitlab.com/CalcProgrammer1/OpenRGB). This had some extra
  documentation on specific functions that I was lacking.
- **ballsystemlord**, **Kirk**, and **tralamazza** from the [AdoredTV](https://adoredtv.com/) Discord server, along
  with **[Apache](https://github.com/Apache-HB)** 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 :)
Campbell Jones's avatar
Campbell Jones committed
122 123

[wraith-master-logo]: https://serebit.com/images/wraith-master-banner-nopad.svg "Wraith Master"
124

Campbell Jones's avatar
Campbell Jones committed
125
[gitlab-badge]: https://img.shields.io/badge/-gitlab-6e49cb?logo=gitlab "GitLab"
126

Campbell Jones's avatar
Campbell Jones committed
127
[github-badge]: https://img.shields.io/badge/-github-505050?logo=github "GitLab"
128

Campbell Jones's avatar
Campbell Jones committed
129
[kofi-badge]: https://img.shields.io/badge/-ko--fi-ff5f5f?logo=ko-fi&logoColor=white "Ko-fi"
130

Campbell Jones's avatar
Campbell Jones committed
131
[aur-badge]: https://img.shields.io/aur/version/wraith-master-gtk
132

Campbell Jones's avatar
Campbell Jones committed
133
[pipeline-status-badge]: https://gitlab.com/serebit/wraith-master/badges/master/pipeline.svg "Pipeline Status"
134

Campbell Jones's avatar
Campbell Jones committed
135
[license-badge]: https://img.shields.io/badge/License-Apache%202.0-lightgrey.svg "License"
136

137
[wraith-master-screenshot]: https://serebit.com/images/wraith-master-screenshot.png "GTK Screenshot"
138

139
[wraith-master-terminal-screenshot]: https://serebit.com/images/wraith-master-terminal-screenshot.png "CLI Screenshot"