RTX 5090 node motherboard and PCIe lane decision#

Status: Reference Last verified: 2026-09-26 Canonical for: motherboard choice, CPU lane budget, M.2 slot layout, GPU link width and the onboard-versus-add-in 10GbE path for the RTX 5090 nodes (PC1, PC2, PC3)

Consolidated from the pre-order IdealTech decision (2026-09-22/23), the platform sections of the earlier overview, and the node decision record (2026-09-24). Prices are the IdealTech list of 2026-09-22 unless stated.

Decision#

Every node uses the MSI MAG X870E Tomahawk Max WiFi with a Ryzen 9 9950X:

It cost RM450 more than the promotion's MSI PRO X870E-S EVO. That buys the second CPU-connected Gen5 M.2 slot and a widely deployed, well-validated board. No AM5 board offers anything this design needs beyond it.

The lane budget#

AMD specifies 28 native lanes on the 9950X, 24 usable for devices; the other four are the chipset uplink. Every AM5 CPU, X3D included, has the same I/O model, so a different AM5 CPU cannot add lanes. The Tomahawk makes the best allocation available:

Ryzen 9 9950X, 24 usable device lanes
├── 16  PCI_E1  ── RTX 5090, PCIe 5.0 x16
├──  4  M2_1    ── dedicated CPU NVMe path
└──  4  M2_2    ── general-purpose path, shared with rear USB4
chipset (behind the x4 uplink)
├── M2_3, M2_4  ── PCIe 4.0 x4 each
├── PCI_E2      ── PCIe 3.0 x1
└── PCI_E3      ── PCIe 4.0 x4

A GPU at x16 plus three CPU-direct x4 drives would need 28 device lanes, which AM5 cannot supply. No BIOS update, chipset or premium VRM creates the missing four.

Slot layout as ordered#

Slot PC1 PC2 PC3
PCI_E1, CPU Gen5 x16 GIGABYTE RTX 5090 GAMING OC Zotac RTX 5090 Zotac RTX 5090 Solid OC
M2_1, CPU Gen5 x4 9100 Pro 2 TB, model cache 9100 Pro 2 TB (OS and cache partitions for now) 9100 Pro 2 TB, model cache
M2_2, CPU Gen5 x4 9100 Pro 2 TB, OS/Docker/outputs 9100 Pro 1 TB OS drive, to be bought 9100 Pro 1 TB, OS
M2_3, M2_4, chipset Gen4 x4 Free Free Free

M2_2 must be set to x4 in the BIOS. On the Tomahawk, M2_2 shares its four lanes with the rear USB4 controller. With both enabled, each gets x2; selecting full x4 for M2_2 disables the rear 40 Gbps USB-C ports (MSI specification). USB4 has no role on a service node, so take x4. The GPU link is unaffected either way. PC2 can leave USB4 enabled until its OS drive arrives.

If the model cache ever outgrows 2 TB, put further drives in the chipset Gen4 slots and split model families across them rather than striping. The loader never realised more than about 4.6 GiB/s in a workload, well under a Gen4 x4 link (node record). The two SSDs and a future NIC share the chipset uplink, which is fine for OS, output and cache-fill traffic.

Why the Tomahawk Max and not the included PRO X870E-S EVO#

The PRO X870E-S EVO has one CPU-connected Gen5 x4 M.2 slot, chipset Gen4 slots, onboard 5GbE and a Gen5 x16 GPU slot. It would run one model drive with the OS on a chipset slot, which is what the pre-order plan assumed. The ordered builds put the OS drive on the second CPU slot, which only the Tomahawk provides without touching the GPU's lanes.

The board choice also follows the fleet's popular-parts rule. As of 2026-09-24, G.Skill's validation list did not include the new PRO X870E-S EVO, and TeamGroup had validated two kits on it against nine on the Tomahawk Max. The Tomahawk line is widely deployed, so BIOS issues and failure modes are known and later debugging is easier. One board across PC1–PC3 means one BIOS configuration and one spare-parts set.

The RTX 5090 has a PCIe 5.0 x16 host interface. Halving the link to x8 does not disable CUDA cores, reduce the 32 GB of VRAM or slow the card's internal GDDR7. It does halve host-to-device bandwidth:

Negotiated link Approximate bandwidth per direction
PCIe 5.0 x16 63.0 GB/s
PCIe 5.0 x8 31.5 GB/s

That link carries model upload, CPU offload, spilled tensors and streamed transfers. During purchasing the founder told the agents to keep x16, so the pre-order docs treat it as a hard requirement. It is not one now. Three RTX 5090 hosts ran at Gen5 x8 with warm floors in the normal 575–600 W range and small cold penalties: machine 137184 (7.28 s MiniMax penalty, 26.9 GiB/s pinned H2D), 143669 (7.09 s) and 56934 (5.60 s) (multivariable journal). The storage reader, not the GPU link, was the tighter limit on those paths. These are cross-host observations (137184 and 56934 were one GPU of a two-GPU host), not a same-machine x8/x16 test.

The ordered nodes run at x16 because the Tomahawk gives it for free alongside two CPU M.2 slots. x8 is an acceptable trade when it buys something real, such as a third CPU-direct drive, a cheaper board or a second card. Nothing in the current design needs that, so no trade is being made. Before relying on x8 in production, run the node's own cold/warm suite and pinned H2D at x8, since the evidence above is cross-host. Lane width is also not why each node has one GPU; the reasons there are RAM, cooling, failure isolation and how the cards were sold (node record).

Boards and platforms rejected#

AM5 boards with three CPU M.2 sockets#

Several AM5 boards expose three CPU-connected Gen5 M.2 sockets by bifurcating the GPU's 16 lanes. Populating the extra sockets drops the GPU to x8. They were rejected under the keep-x16 instruction. With x8 now acceptable, they remain the way to get a third CPU-direct drive on AM5, but every one costs more than the Tomahawk for a slot the design does not use. Manufacturer lane tables, not retailer descriptions, decide:

Motherboard IdealTech price CPU Gen5 M.2 implementation GPU with all CPU M.2 paths used
MSI MAG X870E Tomahawk Max WiFi RM1,699 Two onboard, independent of the GPU lanes x16 (chosen)
Gigabyte X870E Aorus Elite WiFi7, non-X3D RM1,839 Three; M2B/M2C take GPU lanes x8
Gigabyte X870E Aorus Master, non-X3D RM2,799 Three; M2B/M2C take GPU lanes x8
ASUS ROG Strix B850-E Gaming WiFi RM1,745 Three; M.2_2/M.2_3 take GPU lanes x8
ASUS ROG Crosshair X870E Hero RM4,080 Three via x8/x4/x4 bifurcation x8
MSI MEG X870E Godlike Max RM4,999 Two onboard plus a Gen5 M.2 XPANDER card x8 when the card is used

Sources: Aorus Elite, Aorus Master, B850-E, Crosshair Hero, Godlike. The retailer list also over-counts: the Aorus Master X3D, Aorus Elite X3D Ice, Aero X3D Wood, ASUS X870E Dark Hero and X870E-E Gaming WiFi7 Neo are listed with three Gen5 M.2 sockets, but their manufacturer specifications show two CPU Gen5 paths.

Threadripper#

A third CPU-direct Gen5 path while keeping x16 needs Threadripper (or a bifurcating AM5 board above, at x8). The cheapest lane-correct option on the list was a Threadripper 9960X (RM7,399, 88 usable lanes) on a Gigabyte TRX50 AERO D (RM3,099, three CPU Gen5 x4 M.2 plus one CPU Gen4). That is RM5,800 more than the 9950X and Tomahawk before ECC RDIMMs (price on request), an sTR5 cooler and a 350 W CPU's power and cooling. ComfyUI averages under two CPU cores, so the only thing it would buy is a third CPU M.2 slot, which the design does not need. Revisit only for a measured workload that needs the lanes.

Networking: onboard 5GbE, add-in 10GbE later#

The board's port is 5 Gbit/s Ethernet, about 500–550 MB/s in practice. One NAS hard drive fills a cache at roughly 190–220 MB/s, and prefetch hides fills from jobs, so 5GbE is not the bottleneck. Moving the 42.47 GB MiniMax set takes about 68 s at 5 Gbit/s and 34 s at 10 Gbit/s, before overheads. Neither is a substitute for local NVMe, which reads the same set in seconds.

If measured cache-fill traffic ever saturates 5GbE, add a NIC rather than change the board:

Boards with onboard 10GbE cost more and mostly fail the storage topology:

Option Price Result
Tomahawk Max + TX401 RM1,699 + RM499 = RM2,198 GPU x16, both CPU M.2 at x4, 10GbE on chipset lanes. The chosen future path
Gigabyte B850 AI TOP RM2,099 Onboard 10GbE, but one CPU Gen5 M.2 path. Rejected
ASUS ProArt X870E-Creator WiFi RM2,690 Enabling M.2_2 drops the GPU to x8 (ASUS). Rejected under keep-x16; now technically acceptable, but RM492 more than the NIC path
Gigabyte X870E Aorus Master X3D / Ice RM3,079 / RM3,099 Second CPU M.2 limited to x2 when populated (Gigabyte). Rejected
ASUS ROG Crosshair X870E Dark Hero RM4,120 Valid per ASUS (10GbE, two CPU M.2 at x4 with USB4 off, GPU x16), but IdealTech's listing contradicts that spec, and it costs RM1,922 more than the NIC path
Gigabyte X870E Aorus Xtreme AI TOP RM4,399 One CPU Gen5 M.2 path. Rejected
MSI MEG X870E Godlike Max RM4,999 Valid, but RM2,801 more than the NIC path
Gigabyte X870E Aorus Xtreme X3D AI TOP RM5,799 Second CPU M.2 and USB4 documented at x2 each when populated. Rejected
ASRock X870E Taichi White not listed One CPU Gen5 M.2 socket (ASRock). Rejected

Paying RM1,900–2,800 to integrate a replaceable RM499 function buys no ComfyUI throughput or availability.

Acceptance checks#

With every intended device installed, on each node:

The rest of the node acceptance suite is in the node record.