Skip to content

Linux version for the DeepCool Digital Windows software.

License

Notifications You must be signed in to change notification settings

Nortank12/deepcool-digital-linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of Contents

About

This program is meant to replicate the functionality of the original DeepCool Digital Windows program and I am gradually adding support to new devices.

If you have a device that has not been added or tested yet, please read the notes below the supported devices. If you think you can collaborate, please write an issue so we can get in touch.

Installation

Simply download the latest release and run it in the command line. You will need root permission to send data to the device.

Tip

On AMD's Zen architecture CPUs, you can install the zenpower3 driver, to have a more accurate reading of the CPU die.

Note

On Intel's Arc GPUs, you have to use at least kernel version 6.13.

Rootless Mode (optional)

If you need to run the program without root privilege, you can create a udev rule to access all necessary resources as a user.

  1. Locate your directory, it can be /lib/udev/rules.d or /etc/udev/rules.d
cd /lib/udev/rules.d
  1. Create a new file called 99-deepcool-digital.rules
sudo nano 99-deepcool-digital.rules
  1. Insert the following:
# Intel RAPL energy usage file
ACTION=="add", SUBSYSTEM=="powercap", KERNEL=="intel-rapl:0", RUN+="/bin/chmod 444 /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj"

# DeepCool HID raw devices
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3633", MODE="0666"

# CH510 MESH DIGITAL
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="34d3", ATTRS{idProduct}=="1100", MODE="0666"
  1. Reboot your computer
Steps for NixOS
  1. Locate and edit your configuration.nix file
sudo nano /etc/nixos/configuration.nix
  1. Insert the following:
  services.udev.extraRules = ''
    # Intel RAPL energy usage file
    ACTION=="add", SUBSYSTEM=="powercap", KERNEL=="intel-rapl:0", RUN+="${pkgs.coreutils}/bin/chmod 444 /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj"

    # DeepCool HID raw devices
    SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3633", MODE="0666"

    # CH510 MESH DIGITAL
    SUBSYSTEM=="hidraw", ATTRS{idVendor}=="34d3", ATTRS{idProduct}=="1100", MODE="0666"
  '';
  1. Rebuild your system
sudo nixos-rebuild switch
  1. Reboot your computer

Supported Devices

CPU Air Coolers

Name Supported
AG300 DIGITAL
AG400 DIGITAL
AG500 DIGITAL
AG620 DIGITAL
AK400 DIGITAL
AK400 DIGITAL PRO
AK500 DIGITAL
AK500S DIGITAL
AK620 DIGITAL
AK620 DIGITAL PRO

CPU Liquid Coolers

Name Supported
LD240
LD360
LP240 ⚠️
LP360 ⚠️
LS520 SE DIGITAL
LS720 SE DIGITAL

Cases

Name Supported
CH170 DIGITAL ✔️
CH360 DIGITAL
CH510 MESH DIGITAL
CH560 DIGITAL
MORPHEUS

✅: Fully supported

✔️: Partially supported
Some display modes are unavailable due to resource limitations.

⚠️: Not tested   ❓: Not added

Important

  • If your device is not added yet, you can still run the program and see if it detects it.
  • If your device is not tested, please try to check all the features to see if they work as expected.

In any case, you can create an issue or add a comment to an existing one.

MYSTIQUE Series

These devices are unique since they have an LCD display, and I do not personally own one. However, DeadSurfer opened a discussion and if you can figure out how to make it work, you can share it there or create a pull request.

Usage

You can run the program with or without providing any options.

sudo ./deepcool-digital-linux [OPTIONS]
Options:
  -m, --mode <MODE>       Change the display mode of your device
  -s, --secondary <MODE>  Change the secondary display mode of your device (if supported)
      --pid <ID>          Specify the Product ID if you use mutiple devices
  -f, --fahrenheit        Change the temperature unit to °F
  -a, --alarm             Enable the alarm

Commands:
  -l, --list         Print Product ID of the connected devices
  -h, --help         Print help
  -v, --version      Print version

Using Multiple Devices (optional)

If you have multiple devices connected, you can run the following command to detect them:

sudo ./deepcool-digital-linux --list
Device list [PID | Name]
-----
4 | AK500S-DIGITAL
7 | MORPHEUS

After identifying, you can run them separately by providing their Product ID:

sudo ./deepcool-digital-linux --pid 4
sudo ./deepcool-digital-linux --pid 7

If you want to run them automatically, you can create 2 services instead of 1.

For example:

  • deepcool-digital-case.service
  • deepcool-digital-cooler.service

Automatic Start

Systemd (Arch, Debian, Ubuntu, Fedora, etc.)

  1. Copy the deepcool-digital-linux to the /usr/sbin/ folder
sudo cp ./deepcool-digital-linux /usr/sbin/
  1. Create the service file in the /etc/systemd/system/ folder
sudo nano /etc/systemd/system/deepcool-digital.service
  1. Insert the following:
[Unit]
Description=DeepCool Digital

[Service]
ExecStart=/usr/sbin/deepcool-digital-linux

[Install]
WantedBy=multi-user.target
  1. Enable the service
sudo systemctl enable deepcool-digital

Note: The program will run automatically after the next boot.

OpenRC (Gentoo, Artix Linux, etc.)

  1. Copy the deepcool-digital-linux to the /usr/sbin/ folder
sudo cp ./deepcool-digital-linux /usr/sbin/
  1. Create the service file in the /etc/init.d/ folder
sudo nano /etc/init.d/deepcool-digital
  1. Insert the following:
#!/sbin/openrc-run

description="DeepCool Digital"
command="/usr/sbin/deepcool-digital-linux"
command_args=""
command_background=1
pidfile="/run/deepcool-digital.pid"
  1. Allow execution on the service file
sudo chmod +x /etc/init.d/deepcool-digital
  1. Enable the service
sudo rc-update add deepcool-digital default

Note: The program will run automatically after the next boot.

Building from Source

For testing or customization, you can build the binary by following the steps below.

Dependencies

Arch-based distributions
  1. Install the following packages
sudo pacman -S base-devel rustup
Debian-based distributions
  1. Install the following packages
sudo apt install build-essential pkg-config libudev-dev curl
  1. Install rustup (required to have the latest Rust compiler)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  1. Update your current shell
. "$HOME/.cargo/env"

Building

  1. Clone the repository
git clone https://github.com/Nortank12/deepcool-digital-linux
  1. Open the folder
cd deepcool-digital-linux
  1. Run the build command
cargo build -r

You can find the binary inside the ./target/release folder.

More Information

Device List and USB Mapping Tables