Skip to content

Commit 1c020e8

Browse files
MagicalTuxclaude
andcommitted
README: add GPU heat/ventilation warning; refresh stale GUI docs
- New "Heat and power" section up top: sustained 100% GPU load runs hot and costs power; keep good ventilation, watch temps, stop (Ctrl-C / tray Quit) and improve cooling if it gets hot. - Fix docs the ldtray migration made false: no GTK/AppIndicator/libxdo to install (tray loads the toolkit at runtime), gui is the default build (--no-default-features for a pure worker), and the tray menu now shows GPUs, live speed, and Pause/Resume. - Options table: add --gpus and --cache-max-gb, correct the --workdir default (per-user data dir), note --jobs is per-GPU. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 2fe3228 commit 1c020e8

1 file changed

Lines changed: 40 additions & 23 deletions

File tree

README.md

Lines changed: 40 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,32 @@ and it quietly does distributed compute jobs in the background: it asks the
55
coordinator for a chunk of work, runs it on your GPU, sends the result back, and
66
repeats — forever, until you stop it. Run and forget.
77

8+
## ⚠️ Heat and power
9+
10+
decryptd keeps your GPU at **full load, continuously** — that's how it does the
11+
work. A card pinned at 100% for hours pulls serious power and runs **hot**, and
12+
sustained heat is what wears graphics hardware out.
13+
14+
- Make sure the machine has **good ventilation** and unobstructed airflow.
15+
Enclosed cases, laptops, and dust-clogged fans that cope with short bursts can
16+
overheat under a non-stop load.
17+
- Keep an eye on temperature (`nvidia-smi -l 5` on Linux, or any GPU monitor). If
18+
the card runs hot, **stop decryptd**`Ctrl-C`, or **Quit** from the tray — and
19+
improve cooling before running it again.
20+
- Expect a higher **power bill** and a warmer room. On a laptop, run it plugged in
21+
rather than on battery.
22+
23+
If in doubt, stop it — the work is distributed, so one machine sitting out is
24+
completely fine.
25+
826
## Requirements
927

1028
- A **CUDA-capable NVIDIA GPU**.
1129
- An **up-to-date NVIDIA driver**. No CUDA toolkit needed.
1230
- Linux or Windows (64-bit).
13-
- **Linux only:** the release binary includes the system-tray UI, so it needs
14-
GTK 3 and an AppIndicator library present — `libgtk-3`,
15-
`libayatana-appindicator3`, and `libxdo`. These ship with essentially every
16-
desktop install. On a **headless server**, install them (e.g.
17-
`apt install libgtk-3-0 libayatana-appindicator3-1 libxdo3`) or build without
18-
the tray (`cargo build --release`). Windows bundles everything in the `.exe`.
31+
- **No GUI libraries to install.** The system tray loads whatever the desktop
32+
provides at runtime, so it just works on a desktop and is silently skipped on a
33+
headless server — the same binary runs either way.
1934

2035
## Get it
2136

@@ -59,29 +74,31 @@ You normally don't need any of these.
5974
| Option | Default | What it does |
6075
| --- | --- | --- |
6176
| `--once` | off | Do a single chunk of work, then exit (handy for testing). |
77+
| `--jobs <N>` | `1` | How many chunks to run on the GPU at once, **per GPU**. |
78+
| `--gpus <LIST>` | all | Which GPUs to use, e.g. `--gpus 0,2`. Default: every detected GPU, each with its own work queue. |
6279
| `--idle-secs <N>` | `60` | How long to wait before re-checking when there's no work. |
63-
| `--jobs <N>` | `1` | How many chunks to run on the GPU at once. |
64-
| `--workdir <DIR>` | `decryptd-data` | Where to keep the download cache and scratch files. |
80+
| `--cache-max-gb <N>` | `20` | Cap the on-disk download cache; oldest blobs are evicted past this. |
81+
| `--workdir <DIR>` | per-user data dir | Where to keep the download cache, worker id, and scratch. Defaults to a per-user folder (`%LOCALAPPDATA%\decryptd` / `~/.local/share/decryptd`). |
6582

6683
Downloading the next chunk and uploading finished results always happen in the
6784
background while the GPU works, so the card stays busy. `--jobs` only raises how
6885
many run *on the GPU* simultaneously — most setups are fine with the default.
86+
With more than one GPU, `--jobs` applies to each, so `--jobs 3` on 2 GPUs runs 6
87+
chunks in total.
6988

7089
Run `decryptd --help` for the full list.
7190

7291
### System-tray mode
7392

74-
The released binaries run as a **system-tray app** on Windows and Linux. decryptd
75-
sits in the tray with a right-click menu showing the version, the current status
76-
(*Waiting* or *Running*), and a **Quit** entry. The worker runs in the
77-
background exactly as above.
78-
79-
If no tray host is available (for example a Linux box with no desktop session),
80-
decryptd logs a notice and falls back to running headless. Passing `--once` also
81-
runs headless, with no tray.
93+
The released binaries run as a **system-tray app** on Windows and Linux. Right-click
94+
the tray icon for a menu showing the version, current status (*Waiting* /
95+
*Running* / *Paused*), the GPU(s) in use, the live **speed** (tries per second,
96+
1-minute average), a **Pause/Resume** toggle, **Check for Updates**, and **Quit**.
97+
The worker runs in the background exactly as above.
8298

83-
To build a **console-only** binary with no tray (and no GUI dependencies), build
84-
the default feature set — see [Building from source](#building-from-source).
99+
The tray loads the desktop's toolkit at runtime, so there are **no GUI libraries
100+
to install**. If no tray host is available — a headless server, or `--once`
101+
decryptd logs a notice and runs without a tray.
85102

86103
## Building from source
87104

@@ -90,13 +107,13 @@ against the driver library at build time — the binary still just needs the
90107
driver to run):
91108

92109
```sh
93-
cargo build --release # console-only, no GUI dependencies
94-
cargo build --release --features gui # system-tray app (what the releases ship)
110+
cargo build --release # system-tray app (what the releases ship)
111+
cargo build --release --no-default-features # pure worker, no tray
95112
```
96113

97-
The binary lands in `target/release/decryptd` (`.exe` on Windows). Building the
98-
`gui` feature on Linux additionally needs the GTK 3 / AppIndicator / libxdo
99-
development headers (`libgtk-3-dev libayatana-appindicator3-dev libxdo-dev`).
114+
The binary lands in `target/release/decryptd` (`.exe` on Windows). **No GUI system
115+
packages are needed** either way: the tray backend (`ldtray`) links nothing at
116+
build time and loads the platform toolkit at runtime.
100117

101118
## License
102119

0 commit comments

Comments
 (0)