Native on Linux

The NZXT control app your Linux desktop never had.

Kori monitors your machine in real time and drives the NZXT hardware plugged into it: pump and fan curves, per-channel RGB, Kraken LCD. Local only. No account. No telemetry.

Linux · Open source · No account required
Kori monitoring a Kraken cooler on Linux: liquid temperature, pump and fan speeds, and CPU load
System monitoring

Real-time CPU, GPU, memory, and Kraken readouts. Liquid temperature comes through the kernel's own hwmon driver, so no kernel driver is detached and no USB endpoint is opened for the thermal path.

Cooling control

Pump and fan duty plus the onboard liquid-temperature curve. Writes go through a udev rule granting exactly four PWM attributes and eighty curve points, and a single per-user daemon owns every one of them.

Lighting and LCD

Per-channel RGB on the controllers it has been validated against, and Kraken LCD configuration and rendering matched to the resolution of the unit actually in your loop.

Why Kori

Validated per device, never per family.

Hardware support advertised at product-family level breaks the moment firmware behavior differs per unit. Kori only exposes a control whose capability has been exercised against a specific VID/PID and firmware revision on real hardware, and it says so on screen. Everything unvalidated stays visibly disabled rather than being attempted.

  • NZXT RGB Controller1e71:2021 · firmware 0105 · no kernel driver
    Validated
  • NZXT Kraken Base1e71:300e · firmware 0200 · kraken2023
    Validated
  • Any other NZXT devicenot in the record
    Disabled
What Kori does

Reads on any machine. Writes only where it is proven.

Without the udev rule Kori runs read-only and tells you so. Grant it, plug in hardware from the register, and a second set of controls unlocks: cooling, RGB, Kraken LCD.

On any Linux desktop

Reads before it writes.

  • Real-time CPU, GPU, memory, and Kraken readouts
  • Liquid temperature through the kernel hwmon driver
  • Runs read-only without the udev rule, and says so
  • No account, no cloud, no telemetry, no listening socket
70-kori.rules
grants the write path
On validated hardware

Takes the controls.

  • Pump and fan duty on recorded PWM attributes
  • The onboard liquid-temperature curve, eighty points
  • Per-channel RGB on the NZXT RGB Controller
  • Kraken LCD configuration and rendering
Recorded, not claimed

Every figure here comes out of a machine.

The counts are read from a capability record generated by korid --capabilities on kernel 7.1.6-201.fc44.x86_64, serials redacted at the source. The build compares that record against the application repository, so a stale claim fails instead of shipping.

$ korid --capabilitiesserials redacted
{
  "schema_version": 3,
  "context": {
    "kernel_release": {
      "state": "known",
      "value": "7.1.6-201.fc44.x86_64",
      "source": "uname(2)"
    },
    "probed_at_unix_ms": 1786101450276
  },
  "devices": [
    {
      "support": {
        "state": "supported"
      },
      "usb": {
        "id": {
          "vendor": 7793,
          "product": 8225
        },
        "product": {
          "state": "known",
          "value": "NZXT RGB Controller",
          "source": "/sys/bus/usb/devices/1-12/product"
        },
        "serial": {
          "state": "unknown",
          "reason": "redacted",
          "source": "policy:redact-serials"
        },
        "firmware": {
          "state": "known",
          "value": "0105",
          "source": "/sys/bus/usb/devices/1-12/bcdDevice"
        },
        "sysfs_path": "/sys/bus/usb/devices/1-12"
      },
      "hwmon": null
    },
    {
      "support": {
        "state": "supported"
      },
      "usb": {
        "id": {
          "vendor": 7793,
          "product": 12302
        },
        "product": {
          "state": "known",
          "value": "NZXT Kraken Base",
          "source": "/sys/bus/usb/devices/1-9/product"
        },
        "serial": {
          "state": "unknown",
          "reason": "redacted",
          "source": "policy:redact-serials"
        },
        "firmware": {
          "state": "known",
          "value": "0200",
          "source": "/sys/bus/usb/devices/1-9/bcdDevice"
        },
        "sysfs_path": "/sys/bus/usb/devices/1-9"
      },
      "hwmon": {
        "driver": "kraken2023",
        "path": "/sys/devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:0c.0/0000:0a:00.0/usb1/1-9/1-9:1.1/0003:1E71:300E.000B/hwmon/hwmon5"
      }
    }
  ]
}

2 devices validated11 capabilities recorded0 network requests

Hardware not in the record yet? Open an issue with your lsusb -v output at github.com/arthjean/kori.