[筆記] Snapdragon 810@Xperia Z5 音遊用溫度控制(thermal_engine.conf)

前言廢話

近期比較常玩 Bang Dream等音樂遊戲,常常會因為 Xperia Z5 的熱情導致打不到十分鐘就 FPS 狂降,甚至偶爾還會熱到畫面凍結然後譜面加速(汗 的程度,嚴重影響遊戲體驗。
看到有實況主拿著 Zenfone 3 的S625 連打一小時以上+實況都沒有任何障礙,因此試著手動將系統的 thermal-engine.conf 溫控條的更加激進,調整後半個多小時都沒遇到不順暢的情況。雖然邊錄影邊打還是會過熱,不過只拿來打打活動非常滿意。

軟硬體

拍賣撿的 Sony Xperia Z5
Qcom Snapdragon 810(4x1.5 GHz Cortex-A53 & 4x2.0 GHz Cortex-A57)
LineageOS 14.1 20180617-NIGHTLY-sumire
修改前有安裝 FSC™+ 2.2 MOD
Bang Dream!GBP 台+日板、 MLTD

修改方向

悲慘的遊戲過程中,晶片的溫度約在 60 度左右,約超過 59 度手機會開始將 A57 的所有核心關閉且將 A53 小幅度降頻,調度的瞬間畫面會有明顯的延遲;溫度降低後系統會再度把 A57 核心打開,溫度高速上升後再度關閉核心,不斷反覆。拿小電風扇直吹手機背面也只是提高 A57 核心啟動的時間,治標不治本,耗電又勞神。
既然 Zenfone 3 用 Octa-core 2.0 GHz Cortex-A53 玩起來也很順暢,那一開始就把耗電又噴火的 A57 核心關掉應該就能解決問題;因此從原本安裝的 MOD 中將 thermal-engine.conf 拿出來,修改關於 cluster 開關和頻率的設定,再將修改後的檔案放回該 MOD 的壓縮黨中安裝近手機。

由於本來 MOD 作者定義的溫度-限制非常詳細,會不斷導致系統拉高頻率,這邊改成簡單粗暴但有效的限制方式:
  • 42 度以下不限制
  • 42 度以上打開兩個 A57,A53 以 1.5Ghz、A57 以 1.3Ghz 運作,38度解除限制
    沒在玩遊戲時安裝軟體和外出使用時仍然可以利用到 A57 的效能
  • 48 度以上 A57 全關,A53 小降到 1.4Ghz,42度解除
    遊戲啟動後一陣子很容易就達到這個溫度,因為遊戲用 A53 足以流暢執行,此時直接關閉所有 A57 追求低溫度。
  • 53 度以上 A57 全關,A53 小降到 1.2Ghz,48度解除
    冷氣有開的情況下單機打幾首歌約在54度左右,估計冬天有可能維持在 53 度。
  • 59 度以上 A57 全關,A53 降到 0.6Ghz,53度解除
    沒開冷氣周回效率曲幾乎也沒衝到 59 度,所以超過的時候讓系統可以快速降溫。
  • 63 度降到極低頻率保護系統,65度關機

設定檔修改部份


請先取得 FSC MOD(機型正確即可):
https://forum.xda-developers.com/showpost.php?p=73731767&postcount=2
打開壓縮檔的/system/etc/thermal-engine.conf,FSC MOD 若是 3.0 版本將
[emmc_therm__0.DEFAULT]
algo_type monitor
sensor emmc_therm
sampling 1000
thresholds 42000 46000 48900 50200 51400 52000 52600 53200 53600 54000 54500 55000 55500 55900 56300 56800
thresholds_clr 38000 42000 46000 48900 50200 51400 52000 52600 53200 53600 54000 54500 55000 55500 55900 56300
actions cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7+gpu+s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel
action_info 1478400+1536000+0+0+0+1+510000000+171+3+0+100000+0+0 1478400+1248000+0+0+1+1+510000000+171+3+0+100000+0+0 1248000+864000+0+1+1+1+510000000+171+3+0+100000+0+0 1248000+384000+1+1+1+1+305000000+141+3+0+100000+0+0 960000+384000+1+1+1+1+305000000+115+3+0+100000+0+0 960000+384000+1+1+1+1+305000000+95+3+0+100000+0+0 960000+384000+1+1+1+1+305000000+78+8+0+100000+0+0 768000+384000+1+1+1+1+305000000+64+8+0+001800+0+0 768000+384000+1+1+1+1+305000000+52+9+0+001800+0+0 384000+384000+1+1+1+1+305000000+44+12+0+001800+0+0 384000+384000+1+1+1+1+305000000+44+12+0+001800+0+0 384000+384000+1+1+1+1+180000000+44+12+1+001800+0+0 384000+384000+1+1+1+1+180000000+44+12+1+001800+0+0 384000+384000+1+1+1+1+180000000+44+12+1+001800+0+0 384000+384000+1+1+1+1+180000000+44+12+1+001800+0+0 384000+384000+1+1+1+1+180000000+44+12+1+001800+5+0

改成(由於修改當下還沒出3.0,用的是1.7的內容):
[MONITOR_EMMC_THERM_CPU]
algo_type monitor
sensor emmc_therm
sampling 1000
thresholds 42000 48000 53000 59000 63000 65000
thresholds_clr 38000 42000 48000 53000 59000 63000
actions cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7 cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7 cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7 cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7 cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7 shutdown+s_shutdown
action_info 1555200+1344000+1+1+0+0 1478400+1344000+1+1+1+1 1248000+960000+1+1+1+1 600000+864000+1+1+1+1 384000+384000+1+1+1+1 1+5

[MONITOR_MSM_THERM_CPU]
algo_type monitor
sensor msm_therm
sampling 1000
thresholds 42000 48000 53000 59000 63000 65000
thresholds_clr 38000 42000 48000 53000 59000 63000
actions cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7 cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7 cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7 cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7 cluster0+cluster1+hotplug_4+hotplug_5+hotplug_6+hotplug_7 shutdown+s_shutdown
action_info 1555200+1344000+1+1+0+0 1478400+1344000+1+1+1+1 1248000+960000+1+1+1+1 600000+864000+1+1+1+1 384000+384000+1+1+1+1 1+5

[MONITOR_EMMC_THERM_GPU]
algo_type monitor
sampling 1000
sensor emmc_therm
thresholds           51000     57000     59000     63000    
thresholds_clr       42000     51000     57000     59000    
actions              gpu       gpu       gpu       gpu      
action_info          510000000 450000000 305000000 180000000

[MONITOR_MSM_THERM_GPU]
algo_type monitor
sampling 1000
sensor msm_therm
thresholds           51000     57000     59000     63000    
thresholds_clr       42000     51000     57000     59000    
actions              gpu       gpu       gpu       gpu      
action_info          510000000 450000000 305000000 180000000

[emmc_therm__0.DEFAULT]
algo_type monitor
sensor emmc_therm
sampling 1000
thresholds 43000 47700 48900 50200 51400 52000 52600 53200 53600 54000 54500 55000 55500 55900 56300 56800
thresholds_clr 40000 43000 47700 48900 50200 51400 52000 52600 53200 53600 54000 54500 55000 55500 55900 56300
actions s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel s_backlight+battery+modem+s_cam_ltb_tim+s_cam+s_tel
action_info 209+3+0+100000+0+0 141+3+0+100000+0+0 141+3+0+100000+0+0 141+3+0+100000+0+0 115+3+0+100000+0+0 95+3+0+100000+0+0 78+8+0+100000+0+0 64+8+0+001800+0+0 52+9+0+001800+0+0 44+12+0+001800+0+0 44+12+0+001800+0+0 44+12+1+001800+0+0 44+12+1+001800+0+0 44+12+1+001800+0+0 44+12+1+001800+0+0 44+12+1+001800+5+0
把變更存回壓縮檔中,進 Recovery 刷這個壓縮檔後重開就可以感受到明顯的改善;如果版本不同請對照 actions 和 action_info 修改。

附註

如果室溫較低可以試著將關閉所有 A57 的溫度條到更低,以免 A57 在低溫意外的啟動造成憾事。

留言

這個網誌中的熱門文章

卡巴拉島ViX_nriviewer簡易教學

[無用筆記] 單硬碟安裝 VMWare ESXi + Ubuntu 雙系統

[筆記] ASUS X570-PRO lm-sensors 設定