If you wish to remain with water cooling there are few options:
- You can boot Windows first to setup the cooler and reboot into macOS.
- NZXT devices forget curves when a computer powers down.
- Corsair and EVGA devices retain curves on-board until reset with the software.
- You can use any one of these open source command line based tools - liquidctl, krakenx, leviathan, and OpenCorsairLink.
Most of these rely on libusb
. There are issues with this. Apple revamped USB in 10.11 so they have a heavy reliance on ACPI. They also use kernel HID to communicate with devices in exclusive mode. Unlike Linux and Windows which can operate in shared mode. As such, you need to use hidapi
to control water loops. The best repo to use is liquidctl/macos-extra. An issue pointed out on the master branch libusb
requires unloading the kernel HID driver, which then renders all keyboards, mice, etc from working. You can reload the kext if you use a script. As in unload driver, start liquidctl then reload driver. But this came with issues. Sometimes I got a kernel panic, other times ports stopped working.
- Clone the
macos-extra
repo to your user folder. Should be/Users/username/liquidctl-macos-extra
. - Install Python 3. This is required.
- Terminal
pip3 install --upgrade pip
This is required. - Terminal
pip3 install /Users/username/liquidctl-macos-extra
- Terminal
liquidctl list
and thenliquidctl status
Full documentation on how to control pumps and fans here: https://github.com/jonasmalacofilho/liquidctl/blob/macos-extra/docs/nzxt-kraken-x-3rd-generation.md#nzxt-kraken-x-3rd-generation
Should you need to power cycle for any reason, you can use launchd
to automaticlly set a pump configuration upon login. This is cleaner and more appropriate than dropping a script.sh
file in your startup items. I have already created a sample of that. See here.
- Copy
liquidctlBoot.sh
to your user folder. - Terminal
chmod +x ~/liquidctlBoot.sh
to make it executable. - Copy
com.jonasmalacofilho.liquidctl.plist
to~/Library/LaunchAgents/
. - Terminal
launchctl load ~/Library/LaunchAgents/com.jonasmalacofilho.liquidctl.plist
. - Power down so the pump forgets and defaults. Once you login, the script should run and the the lights should change.
Errors can be found in system.log using Console. This is a user item, so if you have more than one user, this will not run for anyone else. But that doesn't matter much since you don't need to run it for each user. You set your pump once and done.
Test your cooling with terminal yes > /dev/null &
- You need one instance per core. So if you have four cores, you enter that four times. To stop, killall yes
.
[link] [comments]
Post a Comment