Check out my first novel, midnight's simulacra!

Counterforce: Difference between revisions

From dankwiki
No edit summary
Line 11: Line 11:


==Stage I: Linux sensor/control support==
==Stage I: Linux sensor/control support==
Various coolant elements require closed source to properly use them. Perhaps foremost among these are the excellent products of Germany's [https://shop.aquacomputer.de/index.php?language=en Aquacomputer]. Almost all overclocking management requires closed-source Windows-only tools. This is ridiculous: the space of controls and data exported by these devices is fairly small. A fan exposes a single scalar control (PWM level) and generates a single scalar datafeed (revolutions per unit time). A pump is the same. A thermistor generates a single scalar datafeed (measured temperature).
Various coolant elements require closed source to properly use them. Perhaps foremost among these are the excellent products of Germany's [https://shop.aquacomputer.de/index.php?language=en Aquacomputer] and California's [https://www.corsair.com/us/en/ Corsair]. Almost all overclocking management requires closed-source Windows-only tools. This is ridiculous: the space of controls and data exported by these devices is fairly small. A fan exposes a single scalar control (PWM level) and generates a single scalar datafeed (revolutions per unit time). A pump is the same. A thermistor generates a single scalar datafeed (measured temperature).


There ought be a single API to access these various hardwares, with unified open source TUI/GUI apps atop them. Linux ought support these controls, including writes to firmware.
There ought be a single API to access these various hardwares, with unified open source TUI/GUI apps atop them. Linux ought support these controls, including writes to firmware.

Revision as of 03:10, 19 August 2022

Counterforce is my project for next-level computer cooling, management, modeling, and visualization, borne out of a few years spent watercooling. My first nascent writeup was posted to reddit's r/watercooling on 2022-08-18. I want to bring Linux to the same levels of hardware awareness long available to Windows users through tools like HWInfo...and then wildly surpass those levels. The ambitious end goal is to automatically model the physical cooling system, and associate it with sensors without human interaction. The rapid rise in power consumption and heat generation driven by recent CPUs, GPUs, and SSDs mean more users concerned with what as once considered "extreme cooling" (AMD's second generation Threadripper processors, for instance, were explicitly marketed with an expectation of water cooling). I expect this project to require several years, along with some custom hardware, and it might prove infeasible for arbitrary builds.

The core principles of this effort include:

  • Users ought not need to know (or pretend to know) the relationships between hardware control and cooling effect.
  • Control of audible noise is almost as important as control of cooling effect.
  • Changes within and without the system ought be integrated into control in realtime, and without user intervention.
  • Quality visualization is critical for understanding the generation and elimination of heat.
  • Closed source has no place in the coolant loop.

This is less a single software project than a movement, perhaps a manifest. Changes will be necessary in a variety of tools.

Stage I: Linux sensor/control support

Various coolant elements require closed source to properly use them. Perhaps foremost among these are the excellent products of Germany's Aquacomputer and California's Corsair. Almost all overclocking management requires closed-source Windows-only tools. This is ridiculous: the space of controls and data exported by these devices is fairly small. A fan exposes a single scalar control (PWM level) and generates a single scalar datafeed (revolutions per unit time). A pump is the same. A thermistor generates a single scalar datafeed (measured temperature).

There ought be a single API to access these various hardwares, with unified open source TUI/GUI apps atop them. Linux ought support these controls, including writes to firmware.

Major efforts here would include:

  • Dusting-off and enhancement of the it87 driver for ITE chips
  • Improvement of Linux's smbus and i2c layers
  • Reverse engineering of Aquacomputer and Corsair products to produce Linux drivers
  • Development of a cross-platform UI for control and data import

Stage II: Data discovery and visualization

Stage III: Volume-based coolant control

Stage IV: Intelligent coolant control

Stage V: System discovery and visualization