1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
# DeepCool Display Linux
This application is a replacement of the original DeepCool Windows application for the LP360 AIO cooler. I may add support for the entire LP series and any other new devices that use a similar pixel display. This supports drawing custom patterns on the as well as displaying the CPU temperature and usage.
Special thanks to [@Nortank12](https://github.com/Nortank12) for his work on [deepcool-digital-linux](https://github.com/Nortank12/deepcool-digital-linux). I would recommend checking out his app for additional functionality and support for other devices. Additionally, thanks to [@rohan09-raj](https://github.com/rohan09-raj) for figuring out the logic of the commands for creating the patterns.
## Installation
1. Locate your directory, it can be /lib/udev/rules.d or /etc/udev/rules.d and create a new file named 99-deepcool.rules.
```bash
sudo nano /etc/udev/rules.d/99-deepcool.rules
```
2. Insert the following:
```bash
SUBSYSTEM=="usb", ATTRS{idVendor}=="3633", ATTRS{idProduct}=="000c", GROUP="plugdev"
```
3. Ensure that your user is part of the plugdev group:
```bash
sudo usermod -aG plugdev $USER
```
4. Reboot your system.
5. Download the latest [release](https://github.com/Blaster4385/deepcool-display-linux/releases/latest) and run it.
## Usage
You can run the applications with or without providing any options. Running it without any options will launch the GUI.
```bash
./deepcool-display-linux [OPTIONS]
```
```
Options:
-d, --daemon Run the application in daemon mode
-m, --mode Specify the mode (temp, usage or custom)
-f, --file Specify the CSV file containing the pattern data (This is required in daemon mode)
-c, --celcius Display the CPU temperature in celcius
Commands:
-h, --help Print help
-v, --version Print version
```
### Daemon Mode
Run the application in daemon mode to display the pattern from a CSV file:
```bash
./deepcool-display-linux -d -m custom -f /path/to/pattern.csv
```
In custom mode, the \`-f\` or \`--file\` flag is required to specify the CSV file containing the pattern.
### Exporting patterns to CSV
The GUI has an option to export the current pattern to a CSV file. This can be done by clicking the "Export Layout" button. The CSV files are stored in ~/.config/deepcool-display-linux.
## Automatic Startup using systemd
1. Copy the binary to /usr/bin:
```bash
sudo cp deepcool-display-linux /usr/bin
```
2. Create a service file:
```bash
sudo nano /etc/systemd/system/deepcool-display-linux.service
```
3. Add the following to the file:
```bash
[Unit]
Description=DeepCool Display Linux
[Service]
ExecStart=/usr/bin/deepcool-display-linux -d -m temp -c
Restart=always
[Install]
WantedBy=multi-user.target
```
4. Enable the service:
```bash
sudo systemctl enable --now deepcool-display-linux.service
```
**Note:** The application will automatically start when the system is booted.
## Development
This application is built using [Wails](https://wails.io).
You can build the application from source by following the steps below.
### Dependencies
You need to install go, npm, and wails.
On Arch Linux, you can use a AUR helper to install them:
```bash
yay -S go npm wails
```
### Building
1. Clone the repository:
```bash
git clone https://github.com/Blaster4385/deepcool-display-linux
```
2. Open the directory:
```bash
cd deepcool-display-linux
```
3. Run a development server:
```bash
make dev
```
4. Build a release:
```bash
make build
```
5. Clean up:
```bash
make clean
```
## License
This project is licensed under the GPLv2 License - see the [LICENSE](LICENSE) file for details.
|