Skip to content

About

Unofficial Linux userspace driver for the FK360 EL ARGB USB display

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

FK360 EL ARGB Linux 数显驱动

FK360 EL ARGB 水冷头 USB 数显的非官方 Linux 用户态驱动。程序从 Linux 的 hwmon、 /proc 和可选的 nvidia-smi 读取硬件数据,经 /dev/hidraw* 更新水冷头数显。 不需要编译内核模块,也不需要运行 Windows 安装包。

运行要求

  • Linux
  • Python 3.10 或更高版本
  • 设备的 /dev/hidraw* 写入权限(可通过仓库内的 udev 规则配置)
  • NVIDIA 显卡数据可选依赖 nvidia-smi,其他功能不受影响

Python 程序只使用标准库,不需要安装 pip 软件包。

已确认的设备与协议

  • USB HID:VID 0145、PID 1001
  • 输出报告:65 字节(含第一个 report ID 字节)
  • 动态数据命令:00 02 ...
  • 内容:CPU/GPU 温度、负载、频率、风扇、功耗、内存占用、磁盘温度和系统时间
  • 默认发送节奏为每 1 秒更新、每份报告发送 1 次;如需复现 Windows DLL 的节奏,可设为 interval = 0.5、repeats = 15、repeat_delay = 0.02

CPU 功耗优先通过 Intel RAPL 的顶层 package-* 能量计数器计算,缺失时回退到 MMIO package 或 AMD hwmon power*_input。不会把 psys、core 和 uncore 重复相加。GPU 功耗 来自 NVIDIA nvidia-smi power.draw 或 GPU hwmon。许多内核将 RAPL energy_uj 设为 仅 root 可读,因此普通用户测试可能显示 0.0W,安装后的 root 服务可以正常采集。

目前已在 0145:1001 实机上确认自动识别、HID 写入和数显点亮。该项目是根据设备通信 行为逆向实现的非官方驱动,不隶属于设备制造商。

冷头上的 ARGB 灯如果使用单独的主板 3 针 5V 接口,并不经过此 USB HID 协议,需要由 主板固件或 OpenRGB 单独控制。

快速测试

cd fk360el-linux
python3 fk360el.py --list-sensors
python3 fk360el.py --dry-run
sudo python3 fk360el.py --once --verbose

最后一条命令会真正写入冷头,并在发送一帧后退出。数显只亮大约一秒是 --once 的预期 行为。持续更新请运行:

sudo python3 fk360el.py --verbose

按 Ctrl+C 停止。安装 udev 规则后无需使用 sudo。若自动识别失败,先检查:

lsusb -d 0145:1001
ls -l /dev/hidraw*

也可以显式指定设备:

python3 fk360el.py --device /dev/hidraw3 --once --verbose

一键安装

适用于使用 systemd 的常见发行版:

git clone https://github.com/LuorixDev/fk360el-linux.git
cd fk360el-linux
sudo ./install.sh

安装器会完成以下操作:

  • 安装驱动、配置工具、udev 规则和 systemd 服务
  • 保留已有的 /etc/fk360el.conf,升级时不会覆盖设置
  • 以 root 用户启动服务
  • 立即启动(升级时自动重启)并设置开机自启

安装完成并确认服务正常后,克隆或解压得到的源文件夹可以删除,后台服务不依赖它。

卸载也不需要保留源文件夹:

sudo fk360el-uninstall

卸载命令会停止服务,并删除程序、规则和 /etc/fk360el.conf。

TUI 配置

安装后运行:

sudo fk360el-config

使用上下方向键选择设置,左右方向键修改常用值,按 E 可直接输入,按 Enter 执行保存、 启用、停用或单次测试。保存时,如果服务正在运行会自动重启。

配置命令

不进入 TUI 也可以直接配置:

# 查看当前配置和服务状态
fk360el-config show

# 修改刷新间隔、报告重复次数或显示模式
sudo fk360el-config set interval 1
sudo fk360el-config set repeats 5
sudo fk360el-config set display-mode 0x00
sudo fk360el-config set power-smoothing 0.6

# 自动识别设备,或固定 hidraw 路径
sudo fk360el-config set device auto
sudo fk360el-config set device /dev/hidraw3

# 测试、重启、控制开机自启
sudo fk360el-config test
sudo fk360el-config restart
sudo fk360el-config enable
sudo fk360el-config disable

可配置项保存在 /etc/fk360el.conf:

配置项 含义 默认值
device 空值为自动识别,或指定 /dev/hidraw* 自动
interval 传感器刷新间隔(秒) 1
repeats 每帧 HID 报告重复次数 1
repeat_delay 重复报告间隔(秒) 0.02
display_mode 原始显示模式字节(0-255) 0
power_smoothing EMA 新采样权重;1 为关闭平滑 0.6
verbose 是否持续写入详细日志 false

默认功耗平滑为轻量 EMA:每帧采用 60% 新值和 40% 上一显示值,通常 2–3 帧即可跟上 功耗变化。希望更灵敏可提高到 0.8,完全关闭平滑可设为 1。

服务管理

查看运行状态:

systemctl status fk360el.service
journalctl -u fk360el.service -f

服务单元明确使用 User=root 和 Group=root,因此能够稳定访问 hidraw 和硬件传感器。 已安装文件和配置只有 root 可以修改,同时服务启用了 systemd 的只读文件系统等基础保护。

若安装后设备仍未点亮,先拔插冷头 USB,然后运行:

sudo fk360el-config test
systemctl status fk360el.service

调整

# 只发送一次,便于排错
python3 fk360el.py --once --verbose

# 降低 USB 写入次数
python3 fk360el.py --repeats 1 --interval 1 --verbose

# 传入原始显示模式字节
python3 fk360el.py --display-mode 0x00 --verbose

不同主板导出的 hwmon 名称和标签不完全相同。--list-sensors 可用于确认程序能否看到 CPU、GPU、风扇和磁盘传感器。缺失的数据会按零发送,不会阻止其他项目更新。

测试

python3 -m unittest -v test_fk360el.py

License

MIT

About

Unofficial Linux userspace driver for the FK360 EL ARGB USB display

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages