mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:36 +01:00
docs(hosts): refresh the ai screenshots and correct its hardware notes
- replace the btop screenshot with the 2026-10-06 annotated capture
(btop + fastfetch + the strata/llama.cpp serving logs); the old
2026-10-01 file is gone, so the README link moves to the new name
- drop the Helix/AI-agents screenshot and its README reference
- fix stale hardware descriptions: the hosts/README.md inventory row and
the idols-ai header comment still said i5-13600KF, and the zswap pool
comment sized its percentages against the old 96G of RAM (now 128G)
- record the hardware history: the platform was rebuilt on 2026-04-27
(PR #257/#258) onto the Colorful CVN Z890 ARK FROZEN + Core Ultra 7
270K Plus, replacing the MSI board and i5-13600KF the host was added
with in 2023-05; the 2x48G kit predates that rebuild, the 2x16G kit
was added 2026-10-06
- make the DIMM bring-up order mandatory and record its failure mode:
with the 48G pair in first, or all four DIMMs from the start, the
board does not POST
- gloss the Chinese BIOS labels in English, marked as translations of
the labels rather than the firmware's own English wording
Left alone on purpose: the 96G swapfile in hosts/idols-ai/disko-fs.nix.
It was grown from 20G to 1x-RAM on 2026-10-02 (a26ab3be), when the host
still had 96G; resizing it again means re-running disko on the machine,
so that stays a separate decision.
This commit is contained in:
1 parent
e653ec3306
commit
a091fe1aca
7 files changed
+49
-30
No files matched your search
@@ -82,9 +82,7 @@ Wallpapers: https://github.com/ryan4yin/wallpapers
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
## Editors / IDE
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 509 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 526 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 623 KiB |
+20
-7
@@ -10,17 +10,30 @@ This directory contains all host-specific configurations for my NixOS and macOS
|
||||
|
||||
Named after characters from "Oshi no Ko":
|
||||
|
||||
| Host | Platform | Hardware | Purpose | Status |
|
||||
| ------------ | --------------- | --------------------- | --------------------- | ----------- |
|
||||
| `ai` | NixOS | i5-13600KF + RTX 4090 | Gaming & Daily Use | ✅ Active |
|
||||
| `aquamarine` | NixOS (libvirt) | Virtual | Monitoring & Services | ⚪ Not Used |
|
||||
| `kana` | NixOS (libvirt) | Virtual | Run AI Agents | ✅ Active |
|
||||
| `ruby` | NixOS (libvirt) | Virtual | Run AI Agents | ✅ Active |
|
||||
| `akane` | NixOS (aarch64) | Virtual (UTM) | aarch64 test VM | ✅ Active |
|
||||
| Host | Platform | Hardware | Purpose | Status |
|
||||
| ------------ | --------------- | --------------------------------------- | --------------------- | ----------- |
|
||||
| `ai` | NixOS | Ultra 7 270K Plus + RTX 4090, 128G DDR5 | Gaming & Daily Use | ✅ Active |
|
||||
| `aquamarine` | NixOS (libvirt) | Virtual | Monitoring & Services | ⚪ Not Used |
|
||||
| `kana` | NixOS (libvirt) | Virtual | Run AI Agents | ✅ Active |
|
||||
| `ruby` | NixOS (libvirt) | Virtual | Run AI Agents | ✅ Active |
|
||||
| `akane` | NixOS (aarch64) | Virtual (UTM) | aarch64 test VM | ✅ Active |
|
||||
|
||||
`aquamarine` is retired; its services now run directly on `youko`
|
||||
(`hosts/12kingdoms-youko/homelab-services/`).
|
||||
|
||||
On 2026-04-27 `ai` was rebuilt on a new platform. The MSI board and i5-13600KF it was added with in
|
||||
2023-05 (the host was originally named `msi-rtx4090`) gave way to the Colorful CVN Z890 ARK FROZEN +
|
||||
Intel Core Ultra 7 270K Plus. The traces in the history are PR #257 (the NIC moved from `enp5s0` to
|
||||
`enp130s0`) and PR #258 (Niri output names renamed, `hardware-intel.nix` added with the Arrow Lake
|
||||
NPU, kernel moved to `linuxPackages_latest`). The 2×48G DDR5 kit was already in place at that point;
|
||||
the repo has no record of when it went in.
|
||||
|
||||
On 2026-10-06 `ai` grew from 2×48G (96G) to 2×48G + 2×16G (128G) across all four DIMM slots, at
|
||||
DDR5-4800 with XMP off — the only stable setting with four DIMMs on this board. The 16G pair must be
|
||||
installed first; with the 48G pair in first the board does not POST. The bring-up order, the BIOS
|
||||
settings, the stress-test recipe, and how to recover a board that will not POST are in
|
||||
[`idols-ai/MIXED-MEMORY.md`](./idols-ai/MIXED-MEMORY.md).
|
||||
|
||||
#### `darwin` - macOS Systems
|
||||
|
||||
Named after characters from "Frieren: Beyond Journey's End":
|
||||
|
||||
@@ -22,18 +22,22 @@ Notes from adding a 2×16G kit to the existing 2×48G kit on this desktop.
|
||||
| JUHOR | 2×48G | DDR5-5600 (PC5-44800) | CL46-45-45-90 | 1.25 V | 2R | `JHE5600U4648JG` |
|
||||
| GLOWY | 2×16G | DDR5-6400 (PC5-51200) | CL32-38-38-90 | 1.35 V | 1R | `VGM5UH64C32AG-DTACW` |
|
||||
|
||||
- When they went in: the 2×16G GLOWY kit was added 2026-10-06; the 2×48G JUHOR kit was already in
|
||||
place when the platform was rebuilt 2026-04-27 (before that the host was an MSI LGA1700 board with
|
||||
an i5-13600KF — see the `hosts/README.md` inventory notes).
|
||||
- Channel A/B, DIMM0 = 48G (2R), DIMM1 = 16G (1R) → 64G per channel, 128G total.
|
||||
- With XMP off both kits run at JEDEC DDR5-4800; the board exposes one XMP profile per kit
|
||||
(`XMP 模块一` / `XMP 模块二`).
|
||||
(`XMP 模块一` / `XMP 模块二`, XMP profile 1 / profile 2).
|
||||
|
||||
## Bring-up order (install the 16G pair first)
|
||||
|
||||
The install order matters — starting from all four DIMMs often fails to train:
|
||||
The order is mandatory. Starting from the 2×48G, or from all four DIMMs, does not POST: no BIOS
|
||||
entry and nothing to change in setup — pull the 48G pair and start from step 1.
|
||||
|
||||
1. Insert **only the 2×16G**, in the board's primary slots (the first-populate pair the manual
|
||||
marks; the working layout has them in `ChannelA-DIMM1` / `ChannelB-DIMM1`).
|
||||
2. Boot to BIOS; confirm `内存模块资源 = 默认模块` (XMP off) — the DRAM voltage comes back at 1.25
|
||||
V.
|
||||
2. Boot to BIOS; confirm `内存模块资源 = 默认模块` (memory module source = default module, i.e. XMP
|
||||
off) — the DRAM voltage comes back at 1.25 V.
|
||||
3. Power off, then insert the **2×48G** in the remaining slots.
|
||||
4. Boot; the board retrains once (1–3 min, possibly a few reboots), then works.
|
||||
|
||||
@@ -43,21 +47,23 @@ Resulting layout: `ChannelA/B-DIMM0` = 48G (2R), `ChannelA/B-DIMM1` = 16G (1R).
|
||||
|
||||
- Verified: `stressapptest` 8G / 32G / 100G all PASS, 0 hardware incidents.
|
||||
|
||||
Current BIOS settings (`超频OC → 内存设置`):
|
||||
Current BIOS settings (`超频OC → 内存设置`, the Overclocking → Memory settings page). The BIOS was
|
||||
used in Chinese; the English in the table translates those labels and is not the firmware's own
|
||||
English wording:
|
||||
|
||||
| Field | Value |
|
||||
| --------------------------------------- | --------------------- |
|
||||
| `内存模块资源` (module source) | `默认模块` (XMP off) |
|
||||
| `Gear选择` (gear) | `Gear2` |
|
||||
| `内存频率(MHz)` | `4800` |
|
||||
| `CPU VDD2电压` | `1.104 V` (Auto) |
|
||||
| `VCCSA电压` | `1.288 V` (Auto) |
|
||||
| `Vdd2Mv` | `1.250 V` (Auto) |
|
||||
| `Memory Voltage VDD` | **`1.250 V`** (fixed) |
|
||||
| `内存电压VDDQ` | **`1.250 V`** (fixed) |
|
||||
| `内存电压VPP` | `1.800 V` (Auto) |
|
||||
| `Primary Timing` `tCL` / `tRCD` / `tRP` | `40` / `40` |
|
||||
| `Primary Timing` `tRAS` | `77` |
|
||||
| Field | Value |
|
||||
| --------------------------------------- | ------------------------------------ |
|
||||
| `内存模块资源` (memory module source) | `默认模块` (default module, XMP off) |
|
||||
| `Gear选择` (Gear mode) | `Gear2` |
|
||||
| `内存频率(MHz)` (DRAM frequency) | `4800` |
|
||||
| `CPU VDD2电压` (CPU VDD2 voltage) | `1.104 V` (Auto) |
|
||||
| `VCCSA电压` (VCCSA voltage) | `1.288 V` (Auto) |
|
||||
| `Vdd2Mv` | `1.250 V` (Auto) |
|
||||
| `Memory Voltage VDD` | **`1.250 V`** (fixed) |
|
||||
| `内存电压VDDQ` (DRAM VDDQ voltage) | **`1.250 V`** (fixed) |
|
||||
| `内存电压VPP` (DRAM VPP voltage) | `1.800 V` (Auto) |
|
||||
| `Primary Timing` `tCL` / `tRCD` / `tRP` | `40` / `40` |
|
||||
| `Primary Timing` `tRAS` | `77` |
|
||||
|
||||
The only hand-set voltages are the two DRAM rails, `Memory Voltage VDD` and `内存电压VDDQ`, both
|
||||
**1.250 V** (the fields read `1.250`, not `Auto`) — this is what `dmidecode` reports as
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
}:
|
||||
#############################################################
|
||||
#
|
||||
# Ai - my main computer, with NixOS + I5-13600KF + RTX 4090 GPU, for gaming & daily use.
|
||||
# Ai - my main computer, with NixOS + Core Ultra 7 270K Plus + RTX 4090 GPU,
|
||||
# 128G DDR5-4800 (mixed 4-DIMM, see MIXED-MEMORY.md), for gaming & daily use.
|
||||
#
|
||||
#############################################################
|
||||
let
|
||||
@@ -50,7 +51,8 @@ in
|
||||
# - zstd: CPU is not the bottleneck here (llama.cpp peaks ~30% util); its ~2.5x ratio
|
||||
# keeps ~5G more anon bytes in the capped pool than lz4, and ~5us decompress is noise
|
||||
# vs the ~100us SSD fault it avoids.
|
||||
# - 10% pool (~9G): the module default 25% (~23G) would compete with the weight cache.
|
||||
# - 10% pool (~13G on 128G): the module default 25% (~32G) would compete with the weight
|
||||
# cache.
|
||||
boot.zswap = {
|
||||
enable = true;
|
||||
compressor = "zstd";
|
||||
|
||||
Reference in new issue
Block a user