據科技媒體 Phoronix 報道,近日提交的一個 Linux kernel 補丁針對 AMD P-State 驅動作出優化,可顯著改善 Steam Deck 等 AMD 平台的遊戲幀時間穩定性。測試顯示,在《Civilization VI》測試中,Steam Deck 的 1% Low FPS 提升高達 31.8%,p99 幀時間 (p99 frame time) 亦改善 4.1%,平均 FPS 則維持不變,令遊戲運行更流暢、減少卡頓感。
這套補丁由 Meta Linux kernel 開發者 David Vernet 提交。它在 AMD P-State 驅動中新增可選的「epp_boost」模式。原理是透過 update-util hook,以最多每 10ms 一次的頻率,取樣各核心的 C0 residency(MPERF 與 TSC 差值)。若核心忙碌程度達 50% 或以上,便會將該核心的 MSR_AMD_CPPC_REQ EPP 欄位臨時設為 performance(0),並在連續 300ms 沒有再偵測到忙碌後才恢復原本設定。
問題源於現有 Active(EPP)模式下,平台會根據 EPP (能耗效能偏好)提示在 min_perf(最低效能)與 max_perf(最高效能)之間自主選擇運作點。遊戲主執行緒或渲染執行緒經常因 futex(快速使用者空間互斥鎖)或 GPU fence(GPU 護欄)而短暫阻塞,硬體會把這些短暫停頓解讀為使用率下降,導致醒來後時脈從低點重新爬升,造成尾延遲 (Tail Latency) 增加與 1% Low 幀率變差。
新模式短暫提升核心效能避開副作用
如果強制將全系統 EPP=performance,雖能解決尾延遲,但會令所有核心持續耗電,對手持裝置不利;而單純提高忙碌核心的 min_perf,又會干擾 Steam Deck(Van Gogh APU)SMU(負責動態管理資源分配的專用微控制器)的 CPU/GPU 共用 boost 管理,反而令 frame time 變差。新增的 epp_boost 模式則以「最近忙碌」為條件,僅針對需要的核心作短暫提升,避開上述副作用。
Phoronix 測試指出,在 Steam Deck 運行《Civilization VI》時,主核心中位時脈由約 2.43GHz(98% busy)提升至 3.5GHz,帶來 1% Low 與 p99 幀時間改善。其他採用 AMD Ryzen APU 的遊戲掌機亦有望受惠。
補丁目前仍在 kernel 審查階段,需 AMD 工程師等進一步審核。若最終進入主線,將為 Linux 遊戲體驗,尤其是 Steam Deck 這類共享功耗預算的遊戲掌機帶來實際幫助。



