先给结论:7900 XTX 本身只到 PCIe 4.0(RDNA3 没有 5.0),插在 5.0 槽上协商成 4.0 是它的上限,正常。x8 才是要查的点。
排查顺序:
lspci -vv -s <BDF> 看 LnkCap(Maximum Link Width)和 LnkSta(Current Link Width)。LnkCap 就是 x8 → 物理只走到 x8,BIOS 无解;LnkCap=x16 而 LnkSta=x8,才继续往下查。
看主板/整机的 lane 分配表。Intel 消费级 CPU 直连通道有限,OEM 板(Legion 这类)常见把 x16 拆成 x8+x8,或者占用 M.2 时主槽降 x8。你那块 OCuLink 走 M.2 CPU 直连 x4,很可能就是从同一组通道里切的。
lspci -tv 看两张卡挂在哪一级、中间有没有 switch。可以用 sudo lspci -vv | grep -E "LnkCap|LnkSta" 快速对比两张卡特性和当前状态。
BIOS 里找 PCIe bifurcation / M.2 与 PCIEX16 共享之类的项;OEM BIOS 常常不暴露,不暴露基本就是板子定死。
再给个现实判断:你两卡没有 P2P,Strata 走 layer split,卡间通信本来就走 host/PCIe,x8 对单卡 decode 基本无影响,主要影响双卡 prefill 的通信暴露;真正拖后腿的是 OCuLink 那条 x4(你 H2D 6.2 vs 13.4 GB/s 已经把差距测出来了)。所以值不值得为 x8 折腾,先看双卡测试里通信占 prefill 的比例再定。