Skip to content

Commit d6effd4

Browse files
authored
Update README.md
1 parent c8eaaa7 commit d6effd4

File tree

1 file changed

+81
-26
lines changed

1 file changed

+81
-26
lines changed

README.md

Lines changed: 81 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,114 @@
11
# LiquidctlGUI
2-
LiquidctlGUI is attempt of creating simple interface for liquidctl (https://github.com/liquidctl/liquidctl) using AI
3-
because i am not coder and your cat might be set on fire if you run this code so no any promises😉
42

3+
<img width="1916" height="1034" alt="Screenshot_20250808_011612" src="https://github.com/user-attachments/assets/4b7d3ca1-bc3b-4a39-b2e2-302390824e9f" />
54

65

7-
You have to have liquidctl installed search it trough your package manager or install it via terminal using pip
6+
A simple GUI for [liquidctl](https://github.com/liquidctl/liquidctl) to control **fans** and **pump** on devices such as the Corsair Commander Core.
7+
I am not a programmer – this was **built with AI assistance** – use at your own risk. If your cat catches fire, it’s on you. 😉
88

9+
---
910

10-
sudo apt update / sudo yum update / sudo dnfupdate
11+
## 📌 Features
1112

13+
- **List devices** detected by `liquidctl`
14+
- **Status**: fan RPM, pump RPM, number of connected fans, water temperature
15+
- **Speed control**: per-fan control and separate pump control
16+
- **Profiles**: create, edit, delete + **Save Current Profile** (stores the current slider positions)
17+
- **Clean UI**: one line per fan → **Name | RPM | % | Slider**
18+
- **System Info**: OS/distro, CPU model, GPU model, RAM and disk (root) usage
1219

13-
sudo apt or yum or dnf install python3 python3-pip
1420

21+
How It Works
22+
--------------------------------------------------------------------------------------------
1523

16-
pip3 install liquidctl
24+
GUI built in PyQt6
1725

26+
All status/set commands are executed via liquidctl CLI (subprocess)
1827

19-
pip3 install pyqt6
28+
CPU model is read from lscpu (with LC_ALL=C), fallback /proc/cpuinfo
2029

21-
<img width="804" height="526" alt="1" src="https://github.com/user-attachments/assets/813ab3e3-97fa-4a2e-8c29-0fb380bff942" />
22-
<img width="799" height="516" alt="Screenshot_20250717_232045" src="https://github.com/user-attachments/assets/cc34e465-027c-4783-a83d-39fd44eb69e6" />
30+
GPU: first tries nvidia-smi, then falls back to lspci | grep VGA
2331

32+
Temperatures: read from lm-sensors and optionally nvidia-smi
2433

25-
So what works and what not(atleast on my system)
26-
----------------------------------------------------------------------------------
34+
Profiles are saved in: ~/.LIquidctl_settings.json
2735

28-
-list devices --it lists devices installed in your pc supported by liquidctl
36+
🖱 Usage
2937

30-
-get status --fan speeds,pump speeds,number of fans and water temp
38+
Sliders: moving a slider instantly updates the % and estimated RPM in the UI; actual RPM is confirmed on the next refresh
3139

32-
-setting fan speed --sets all fan speed to a given slider position
40+
Save Current Profile: store the current fan/pump % values as a new profile
3341

34-
-setting pump speed --sets pump speed to a given slider position
42+
Profiles: select, load, and manage profiles from the dropdown menu
3543

36-
-profiles work partialy i need to change to save them into some config in home folder
3744

3845

46+
---
3947

40-
What it doesnt work or it is bugged
41-
---------------------------------------------------------------------------------
48+
## ⚠ Current Limitations
4249

43-
-rgb control is curently unsupported on my system using crosair H170 water cooling it has broken status on liquidctl
44-
(rgb lights sometimes blink when setting fan and pump speed,why idk)
50+
- **RGB control**: currently **not working** (on my H170 the RGB status is broken in liquidctl; lights may blink when adjusting speeds)
51+
- Fan/Pump speeds update on a **refresh interval**; physical RPM may take a few seconds to stabilize – normal controller behavior
52+
- Supported devices depend entirely on what `liquidctl` supports
4553

54+
---
4655

47-
What i would like to add
48-
--------------------------------------
49-
-program icon
56+
## 📦 Requirements
5057

51-
-actuall working rgb control
58+
- Linux, Python 3.8+
59+
- `liquidctl`, `pyqt6`
60+
- For temperatures and system info:
61+
- `lm-sensors` + `sensors-detect`
62+
- `pciutils` (for `lspci`)
63+
- (optional) NVIDIA `nvidia-smi` for nicer GPU names
5264

53-
-language support curently everything is mixed betwen croatian and englsih
65+
---
5466

55-
-settings to save or load saved user settings
67+
## 🔧 Installation
5668

69+
Ubuntu / Debian
70+
-------------------------------------------------------------
71+
72+
sudo apt update
73+
sudo apt install -y python3 python3-pip pciutils lm-sensors
74+
pip3 install --user liquidctl pyqt6
75+
sudo sensors-detect --auto
76+
77+
Fedora
78+
----------------------------------------------------------------
79+
sudo dnf -y update
80+
sudo dnf install -y python3 python3-pip pciutils lm_sensors
81+
pip3 install --user liquidctl pyqt6
82+
sudo sensors-detect --auto
83+
84+
I use Arch btw people
85+
-----------------------------------------------------------------------------
86+
sudo pacman -Syu --noconfirm
87+
sudo pacman -S --noconfirm python python-pip pciutils lm_sensors
88+
pip3 install --user liquidctl pyqt6
89+
sudo sensors-detect --auto Running Without sudo (udev Rule)
90+
91+
92+
93+
If liquidctl gives “Permission denied”, add a udev rule.
94+
Example (Corsair Commander Core – vendor 1b1c, product 0c0a; check with lsusb):
95+
96+
97+
98+
cat << 'EOF' | sudo tee /etc/udev/rules.d/99-liquidctl.rules
99+
SUBSYSTEM=="usb", ATTR{idVendor}=="1b1c", ATTR{idProduct}=="0c0a", MODE="0666", GROUP="plugdev"
100+
EOF
101+
102+
103+
sudo udevadm control --reload-rules
104+
sudo udevadm trigger
105+
106+
107+
▶ Running the App
108+
109+
git clone https://github.com/<your-user>/<your-repo>.git
110+
cd <your-repo>
111+
python3 LiquidctlGUI.py
57112

58113

59114

0 commit comments

Comments
 (0)