從Grub設定修改CPU效能調整驅動參數

2023/02/18 更新(潤筆)

在2022年12月初的現在,隨著Linux 的更新,其中的intel筆電 CPU的pstate電源管理調整的驅動模組有相當進步,續航力跟運作效能的權衡有很大的改善,跟當初敝工作室準備筆電預裝系統時狀況不太一樣(大約2018~2021, Intel有一個低潮期),有必要更新參數了,所以跟大家分享怎麼改,也借這個機會教大家grub 的設定怎麼調整且生效的作法基本。

話不多說,直接說明怎麼作囉,在開機時,我們的吉祥物慕斯開機選單(其實是叫做 Grub2的多重開機程式)選擇第二選項的進階選項,進去會看到一堆 Linux 5.X.X lowlatency 之類可以選擇開機的選項,這就是選擇你想要開機的Linux kernel (核心)。Linux 核心很有趣,就像是一般的程式,我們可以指定特殊的參數要改變它的行為。要怎麼作呢?分兩步驟,1. 改grub2 啟動Linux時的參數設定與2. 使改動生效。所以我們可以從這裡釜底抽薪改變CPU效能調整驅動的設定。

1.改參數設定

首先我們要啟動終端機,使用 nano 編輯器以系統最高權限來編輯grub設定檔,所下命令如下:

sudo nano /etc/default/grub

成功後,你會看到類似這樣的畫面:

這邊要說明的,GRUB_CMDLINE_LINUX_DEFAULT 這一行就是要指定給所有Linux 核心的啟動參數,這個截圖是MF-14V 以後我們會看到的設定,intel_pstate=disable的意思是以傳統的ACPI來作CPU的效能調整而不是CPU本身,hpet則是高精度計時器(作音樂需要,如果你的這個選項是disable,請改成 hpet=enable 也就是啟用)

2019~2021之間, Intel CPU的pstate驅動我們測試曾經會瘋狂的提高頻率然後風扇狂轉,所以我們這一段時間用了比較保險的設定,隨著系統升級以及Linux 的進步(也包含Intel提供的程式碼) ,有相當的改善,只要你有升級或者安裝了5.18以後的Linux核心,就可以安心地改成 intel_pstate=enable ,涉及到的機種包含MZX-550 、 MF-14V、 MD-14D pro、MD-15S 等

改完以後要儲存檔案,nano 編輯器的這個界面最底下可以看到一些指令,”^”的意思是指搭配ctrl的組合鍵,也就是說 ctrl^o 是儲存,ctrl^x 是退出,這邊其實選擇「退出」即可,因為nano 編輯器會問你檔案有變更,要不要存檔,回答y,保持原來的檔名即可

2.使改動生效

改好設定以後,不要馬上重開機,因為我們改的這個文字設定檔其實還不是真正的 grub 設定檔,而算是grub設定檔的「原始碼檔」,我們還要下這個指令

sudo update-grub2

執行完,我們就會看到這個設定檔生效到一系列檔案,完成以後就可以重開機,新的設定就會生效了。

不過這邊要提醒,我們MF-14V、 MD-14D pro、MD-15S等機種出廠的開機預設是用 Liquorix這個特種核心(相當於Ubuntu 的lowlatency 核心,而且效能更好一點,玩遊戲也受惠),它是沒有真正的powersave (省電)電源管理,所以你選了powersave 應該也是沒有作用的喔,需要長續航力時,請切換成 尾綴為mx (相當於ubuntu的 generic核心)的系列核心來開機

背景知識

因為各位Musicha的愛用者有相當人數以前沒有Linux的經驗,這邊簡單解說一下,大眾所熟知的Windows、是「單一產品」,然而Linux 則不是,大家現在習以為常的Linux桌面其實不是Linux本身。比較精確的說法我們會叫做 “GNU/Linux” 作業系統,是「一群軟體」的大整合,真正的 Linux 只是一個系統核心(kernel),把這個心臟配裝上骨頭(glibc函式庫與GNU重要公用程式群)、皮( Xwindows或wayland 圖形界面),才會是完整的作業系統,電影駭客任務描述的就是這種Unix系作業系統的電腦世界(連Mac也是這樣的體系喔)。

然後 GNU/Linux 有很多派, Debian派、Ubuntu派、Arch派、MX Linux派…..等等,GNU/Linux的特色是,各個不同派別會搭配不同的開源社群的不同元件、不同的最佳化策略整合(也可以說是「裝配」)且調校出一個完整的作業系統,可以針對自己訴求的目的特化或者大眾化,例如我們Musicha取向就是作音樂考量最優先的,所以我們現行是以MX Linux 為基礎分支出的特殊版系統,因為有這種彈性,Linux 可以整合出針對各種需要的特製版,使用者獲得所需知識也可以自行「改造」,不像Windows的使用者只能適應Windows,而不是Windows來適應使用者。

最後,你可以能會問,那grub設定裡面還有其他的設定也可以調嗎?可以的喔,例如說選單倒數計時時間縮短、增加,或者開機音樂等等(其實有些機種,我們有藏一個寫好的開機音樂設定,但最後沒有啟用),你可以網路搜尋grub ,了解grub的設定檔有哪些指令可以使用,另外我們的筆電都搭配有Grub Customizer 這個圖形界面程式,也可以方便地進行grub 的調整。

參考

Linux kernel關於 intel pstate的最新文件