我看起來好像有一些 13/16 也有回報類似的問題 (不切去 deep 的話休眠就會特別耗電),搞不好也是類似原因
有沒有種可能,你的裝置上有人回報 LTR 很小,導致 PCI-E Root 睡不了覺
沒,這個情況我有排除。原本就是 gopls 跟 firefox 整天在喚醒,我兩個都關掉之後搭這個 workaroud 就會乖乖睡了。然後開 gopls/firefox 耗電量就會再被拉起來。
不排除有可能是特定 ssd 會出事,至少我的不會。在官網回報的時候我也有講清楚 "我猜這可能是應對特定 ssd 的 workaround 造成的後果,如果能在 BIOS 加個選項讓我能手動切換就好了。"
有沒有種可能,SSD廠商在設定這個數值時,是因為它們測到特定組合上電時序會導致開不了,你沒遇到只是“現在”沒遇到,搞不好你那天插著一顆隨身碟就讓它死了,急的哇哇叫
這就只能遇到再說了。不過照理說這應該在 acpi 層正確回傳 1,fw 做成 "不是2就回傳0" 然後預設1 就很怪,我覺得比較像是有 bug 的 workaround。提供 bios 選項應該是比較正常也正確的解法吧
btw 整個原本的 "不斷電" 決策過程完全沒有其他硬體參與,kernel 只憑 acpi 回傳0所以就決定不斷電 (0=裝置不支援休眠)
如果是正常選項,應該各大板廠都要有了
事實上如果開acpi裡面的東西讓客戶改,準備有一堆傻子聽AI的話瞎改,每天接客服接不完
理想上應該修正韌體正確回報 1=自動,但目前韌體只能 2 (強制休眠) 和 0,沒辦法1,所以我的 module 只能設定成2。
對於新的 standby 我只推薦在焊死的板子上面開,沒事不要信 wintel 的邪
那也可以正常回報 1 但預設為 0,然後不提供 bios 選項。比預設 1 然後回報 0 正確,保留懂的人的彈性,也不會踩到你說的坑
回報 1 還是回報 0 也不是 BIOS 決定呀
我前面就說了,底下有一個裝置不滿足,就必須要依照較弱的裝置回報,這是規定
是韌體決定喔,在韌體jjnprb的 acpi method 裡有一行不是2就回傳0
0=要求 kernel 無視裝置,一律不休眠
1=由 kernel 自動判斷,kernel 裡的判斷邏輯跟你講的差不多
2=要求 kernel 無視裝置,一律休眠
當然裝置本身向 kernel 回報的東西 (我支不支援休眠) 是否符合事實又是一回事,所以應該是 acpi 變數設 0,method 正常照變數回報不瞎改,這樣會比較正確吧
BIOS 要不要提供選項調整變數也是另一回事,就像你說的,提供了到時候智障一堆也是麻煩
怕記錯剛剛還特地確認了一下,公司筆電的 bios 有這個設定, pcie/nvme/... (好幾個) 省電設定 (開/關/自動)
幫你問到:RTD3 是 Intel 的工具會用到的參數
Intel 動這個是因為 thunderbolt 接上 Nvidia 的外接顯卡會卡死
所以奉勸一句:
遠離 wintel 喊出來的規格保平安,常常會左腳踩右腳,原地跌倒
intel 定義了 spec, fw 選擇用奇妙的方式實作它(填值是韌體的工作),詳情看
bug-report.md 裡反組譯出來的韌體程式
intel根本沒有把spec訂出來給廠商看,只有他自己看得到,而且還東加密一塊西加密一塊,AI小鬼該停了
如果intel這麼大方 coreboot早就完成10年了