zaclanzon.dev

The missing Linux view

Astral Pins is a GTK4 monitor for the six power pins on ASUS ROG Astral RTX 50-series cards. It reads the onboard ITE IT8915FN monitoring chip and presents per-pin voltage and current, a rolling history, and status information.

The project gives Linux a direct view of telemetry that ASUS exposes through GPU Tweak on Windows. It uses read-only chip access rather than a custom kernel driver. Project source and hardware scope.

Getting the transport right

The documented register map places the chip at address 0x2b, with 24 bytes starting at 0x80: six pins, each with two bytes of millivolts and two bytes of milliamps. Values are big-endian, with the pin order reversed.

The project’s empirical finding was that raw I2C_RDWR transfers through the NVIDIA adapter returned unusable data. The working path uses the kernel’s SMBus read-byte-data interface instead. Each poll performs 24 register reads through ioctl.

IT8915FN registersSMBus byte readsSix pin readings
Read-only data path documented in the repository. The register layout was determined on one card.

The distinction between an I2C device and a successful transfer method is the core of this implementation. Correct addresses and register offsets were not enough without the compatible access path. Implementation.

Making telemetry honest

The interface keeps a two-minute history. Sensor failures replace live readings with dashes and label the retained plot as historical; unrelated GPU telemetry remains independent of connector connectivity.

Threshold checks consider sustained current rather than only a single sample. The tool also checks for a near-zero pin while the connector is under load. These are monitoring heuristics, not a guarantee that the tool can prevent connector damage.

Graph inspection includes a horizontal current guide and a per-pin summary of the highest visible reading at or above that level. Missing history stays distinguishable from a value below the selected level. Graph interaction change.

Installation is part of the project

A shared dependency manifest supports setup for Debian/Ubuntu, Fedora/RHEL, Arch, and openSUSE families. The installer checks for a working NVIDIA driver and installs desktop dependencies and launchers; it does not replace the GPU driver.

The setup work includes dry-run and hardware-free preview modes, plus compatibility checks against distribution packages. Those checks exercise packaging and desktop integration, not physical card behavior. Linux setup and dependency maintenance.

Evidence and limits

The register layout was determined empirically on one card. Other Astral models may differ. Simulated tests cover interface and threshold behavior; they do not establish compatibility with every GPU or validate the tool as a protective device.