星期一, 1月 19, 2026

AudioLinux 優化筆記 (Ryzen 9950X & RTX5060) - V4.0

AudioLinux 優化筆記 (Ryzen 9950X & RTX4060) - V4.0

硬體環境:

  • CPU: AMD Ryzen 9 9950X (Zen 5, 16 Cores)
  • GPU: NVIDIA RTX 4060
  • Audio: USB DAC (Direct Passthrough)


一、 BIOS 設定 (主機板層級)

核心目標: 建立 1:1 低延遲資料通道,關閉干擾源,並開放控制權給 OS。

1. 記憶體與時脈架構 (FCLK / UCLK / BCLK)

這是影響聲音密度與爆音與否的關鍵。目標是達成 MCLK = UCLK 的 1:1 同步。

  • Ai Overclock Tuner: EXPO I
  • Memory Frequency (MCLK): DDR5-5600MHz
    • 說明: 這是 Ryzen 9000 達成 1:1 同步的最佳甜蜜點。
  • FCLK Frequency (Infinity Fabric): 2000MHz
    • 關鍵: 負責 CPU 內部資料交換的高速公路。2000MHz 是最穩定的數值,過高易產生 WHEA 錯誤導致聲音毛躁。
  • UCLK DIV1 Mode: UCLK=MCLK
    • 關鍵: 強制記憶體控制器 (UCLK) 與記憶體頻率 1:1 同步。嚴禁使用 Auto (1:2),否則延遲會大幅增加。
  • BCLK Frequency: 100.0000 (維持預設)
    • 警告: 請勿更動此數值。USB DAC 對 PCIe Bus 時脈非常敏感,更動 BCLK 會導致嚴重的 Timing Jitter。

2. 關鍵電壓設定 (Voltage)

為了支撐上述的高速同步傳輸,必須鎖定「物流部門 (SOC)」的供電。

  • CPU SOC Voltage: 1.20000 V (Manual Mode)
    • 作用: 穩定 FCLK 2000MHz 的核心。 電壓不足是導致 USB 瞬斷或 Click/Pop 雜音的主因;過高則徒增熱量。
  • DRAM VDD / VDDQ Voltage: 1.25000 V
    • 作用: 確保 DDR5-5600 訊號完整性。
  • CPU Core Voltage: Auto
    • 作用: 配合 Linux 頻率浮動自動調節,避免鎖死電壓導致高溫。
  • Digi+ VRM (LLC): Level 4
    • 作用: 防止高負載時掉壓 (Vdroop)。

3. CPU 核心與功能優化

  • SMT Control: Disabled (關閉超執行緒,純 16 核)
  • PSS Support: Enabled (讓 Linux amd_pstate 接管頻率)
  • Global C-State Control: Auto (讓 AudioLinux EXTREME2 接管睡眠)
  • SVM Mode & IOMMU: Disabled (BIOS 層級先關閉)

4. 關閉干擾裝置 (Advanced \ Onboard Devices)

目標: 減少 IRQ 佔用與電氣雜訊。

  • HD Audio Controller: Disabled
    • 作用: 關閉主機板內建音效,釋放中斷資源給 USB DAC。
  • Wi-Fi / Bluetooth Controller: Disabled
    • 作用: 使用實體網路線,消除無線射頻干擾 (RFI)。
  • Serial Port: Disabled
    • 作用: 關閉傳統序列埠,減少系統輪詢。
  • LED Lighting (Aura): Stealth Mode (或 Off)
    • 作用: 關閉 RGB 燈光控制晶片,減少電氣雜訊。

二、 AudioLinux 核心與啟動設定

核心目標: 軟體層面的硬體直通 (Passthrough) 與 5.4GHz 鎖頻。

  • Boot Mode: 5) EXTREME2: All but POLL only isolated cores
    • 作用: 針對隔離核心啟用 0-latency 模式 (Busy Wait),消除喚醒延遲。
  • Kernel Parameters (啟動參數):
    • IOMMU 設定: iommu=pt
      • 說明: Passthrough Mode。這是在 Linux 6.x 核心中唯一能有效移除 "Translated" 模式的指令,達成真正的記憶體直通 (Verified)。
    • AMD P-State: amd_pstate=passive
  • RAMROOT: 8000MB / 24000MB (ZRAM)
  • Blacklist: snd_hda_intel (停用顯卡音效)

三、 CPU 頻率策略 (5.4GHz)

目標: 使用 Userspace Governor 達成全核鎖定。

  • Scaling Driver: amd_pstate (Passive Mode)
  • Governor: userspace
  • Turbo Boost: ON (必須開啟才能突破基頻)
  • Fixed Frequency: 5400000 (5.4 GHz)
    • 結果: 配合強大的散熱,讓 Zen 5 架構穩定運行於高時脈甜蜜點。

四、 核心分配策略 (ISOLATED CORES)

群組 核心 (Cores) 分配對象 類型 說明
Group 1 8 - 15 hqplayerd App [右腦/CCX1] 運算專區,溫度較高 (Tccd2)。
Group 2 7 USB DAC IRQ [左腦/CCX0] 輸出通道,溫度較低 (Tccd1)。

五、 驗收指標

1. IOMMU 直通確認

執行:sudo dmesg | grep -i iommu

  • 成功: 顯示 Default domain type: Passthrough
  • 意義: 記憶體位址翻譯層已移除。

2. 頻率與溫度確認

執行:htopsensors

  • Core 8-15: 鎖定 5400MHz,溫度較高。
  • Core 7: 專注處理中斷。
這是core 8-15鎖定5500MHz持續跑PCM384 to DSD512一小時的溫度,極為漂亮


這是htop 整體負載相當低



3. 延遲測試

執行:cyclictest

  • Max Latency < 15 μs

新增補充:HQPlayer Embedded 設定 (針對 RTX 5060)

設定目標: 平衡 RTX 5060 的高吞吐量與 Ryzen 9950X 的 L3 快取機制,避免運算瓶頸。

  • Number of blocks to process at once: 8
    • 設定理由 (GPU 端 - 吞吐量優先):
      您的 RTX 5060 (Blackwell 架構) 運算吞吐量極大。若設定值太小 (如預設或 1~4),會導致 CPU 必須頻繁地傳送零碎的小封包,造成 PCIe 通訊瓶頸 (Overhead),讓顯卡因為「等不到資料」而空轉。
    • 設定理由 (CPU 端 - 快取命中率):
      Ryzen 9950X 雖然強大,但並非 X3D 版本,單一 CCD 擁有 32MB L3 快取。設定為 8 是目前測試出資料量能完美塞入 L3 快取、而不會溢出到主記憶體 (RAM) 的最大甜蜜點。
    • 結論:
      此數值能確保運算資料全程在 「CPU L3 Cache ↔ PCIe ↔ GPU」 之間極速流動,完全不觸碰相對慢速的系統記憶體,達成最低延遲。

2026-01-28 Update

後來我直接把Turbo boost關了,讓CPU跑在基礎頻率4300MHz,降低CPU的壓力,AMD Zen5真的溫度超低,搭配CUDA offload, poly-sinc-gauss-系列, AHM7EC8B, 44KHz, 48KHz穩定升頻到DSD1024, 還是走網路到NAA,之前走網路到NAA無法用DSD1024, 問題出在網路不穩定上,給NIC單獨隔離一顆CPU core後,問題就解決了。

NIC isolated CPU1

溫度



NIC的溫度偏高了點
但CPU溫度極低,這還是在強制ALL CPU in C0的狀態下

CPU Usage


GPU usage


 HQP Client






沒有留言: