aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 559ebcadc08da63813e9b740d3aebe75d0c6be88 (plain)
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.