MSI Modern 15筆電安裝Arch Linux注意事項,雙顯卡、風扇溫度的設定

跟桌電比起來,筆電含有更多內建的硬體設備,所以要額外注意。過去跑Windows時,困擾我的就是內顯獨顯切換的問題,Arch Linux也不例外。

工作用的筆電還敢裝Arch Linux啊?很勇嘛。對我來說,就算開機只有終端機畫面也大概知道怎麼修。但若是開會前掛掉就…所以要妥善安排更新時程XDD

Arch Linux提供的社群資源頗豐,缺韌體到AUR抓就好啦。

我的筆電是微星MSI Modern 15 A10RBS。CPU為Intel i5-10210u,GPU為Nvidia MX350。

以下的安裝過程大致上跟桌機差不多:在主力電腦安裝Arch Linux

我曾經試過安裝GNOME桌面,現在改用KDE Plasma。

但有幾點不同,我特地列出來。

1.安裝系統時的眉角

首先,BIOS的Secure Boot是一定要關的,我懶得自己生成密鑰。

在用fdisk切割硬碟的時候,筆電的NVME裝置代號不會是/dev/sda,而是/dev/nvme0n1

因為Wifi網卡是Intel的,安裝系統前用Arch Linux開機隨身碟內附的iwctl工具連線就可以了,不用準備光纖網路。

在pacstrap的階段,參照Arch Linux Wiki類似機型的建議,安裝intel-ucodeintel-media-driver套件。linux-firmware套件也涵蓋了這臺筆電部份的驅動程式。

2. Intel內顯與Nvidia獨顯的切換

剛裝好系統的時候顯示卡只有Intel的內顯啟動,如果沒裝Nvidia閉源驅動的話,預設是載入nouveau驅動,HDMI孔能輸出訊號。

其實對筆電來說,Nvidia顯示卡是個多餘的耗電玩意,開了續航力直接砍半。沒有用到重度3D計算的話,主畫面顯示用內顯負責就夠了,nouveau驅動照樣能在HDMI孔輸出訊號,而且還很省電。

真的需要用到Nvidia顯卡的話,安裝閉源驅動,再參考Arhc Wiki選一個切換在Nvidia顯卡與Intel內顯切換的套件,例如optimus-managerEnvyControl,在內顯和獨顯間切換,以確保最大效能。

  1. 從AUR安裝optimius-manager
1
yay -S optimius-manager
  1. 如果之前是用nvidia套件安裝Nvidia驅動的話,要將其改成DKMS的版本,optimius-manager才會正常運作:
1
2
sudo pacman -S nvidia-dkms
sudo pacman -R nvidia
  1. 安裝圖形界面optimius-manager-qt,會在系統匣顯示切換顯示卡的按鈕:
1
yay -S optimius-manager-qt
  1. 設定開機啟動Optimius Manager服務:
1
sudo systemctl enable optimius-manager

3. 補齊驅動程式

開機後,重裝kernel:

1
sudo pacman -S linux linux-headers

在那之後會顯示possible missing firmware字樣,把那些驅動名稱拿去Google,通常AUR都會有收。

4. 用ISW-Modern控制筆電風扇溫度

  1. 安裝防止Intel CPU過熱的thermald,啟用開機服務:
1
2
sudo pacman -S thermald
sudo systemctl enable --now thermald
  1. 安裝cpupower監看CPU頻率,還有power-profiles-daemon,這樣KDE系統匣就會出現省電與效能模式的開關:
1
2
sudo pacman -S cpupower power-profiles-daemon
sudo systemctl enable cpupower

最後是比較麻煩的按照溫度控制風扇轉速,通用的風扇控制工具有pwmconfigfancontrol,它會嘗試控制風扇轉速。

1
2
3
4
5
sudo pacman -S lm_sensors
sudo sensors-detect
sudo sensors
sudo pwmconfig
sudo fancontrol

可惜的是,pwmconfig對我的MSI筆電無效,顯示There are no pwm-capable sensor modules installed,大概是缺了核心驅動吧。

上述方法無效的情況下,風扇愛轉不轉的,這樣會燒壞的!此時就得改用針對特定廠牌設計的風扇控制軟體。當然MSI只提供Windows版風扇控制軟體,Linux只能求助網路社群。

所幸MSI還不是太冷門的Linux筆電廠牌…網路社群有人做了「ISW」和「OpenFreezeCenter」,適用大多數MSI筆電。可進一步控制風扇,使其按照溫度調整轉速。

我採用的是Ice-Sealed Wyvern (ISW-Modern)

  1. 按照作者指示,用指令稿安裝
1
2
3
4
5
sudo pacman -S linux-headers dkms
sudo reboot
git clone https://github.com/FaridZelli/ISW-Modern.git
cd ISW-Modern
sudo bash ./install.sh
  1. 編輯/etc/isw.conf,參考類似機型設定,在底部填入風扇轉速規則:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[15A10RBS]
# Modern 15 A10RBS-462TW
address_profile = MSI_ADDRESS_DEFAULT
fan_mode = 140
battery_charging_threshold = 100
# CPU
cpu_temp_0 = 45
cpu_temp_1 = 55
cpu_temp_2 = 65
cpu_temp_3 = 75
cpu_temp_4 = 90
cpu_temp_5 = 95
cpu_fan_speed_0 = 50
cpu_fan_speed_1 = 58
cpu_fan_speed_2 = 65
cpu_fan_speed_3 = 72
cpu_fan_speed_4 = 80
cpu_fan_speed_5 = 85
cpu_fan_speed_6 = 100
# GPU
gpu_temp_0 = 45
gpu_temp_1 = 60
gpu_temp_2 = 70
gpu_temp_3 = 82
gpu_temp_4 = 90
gpu_temp_5 = 93
gpu_fan_speed_0 = 50
gpu_fan_speed_1 = 55
gpu_fan_speed_2 = 65
gpu_fan_speed_3 = 72
gpu_fan_speed_4 = 80
gpu_fan_speed_5 = 85
gpu_fan_speed_6 = 100
  1. 寫入EC,啟動ISW服務,並設定開機自動啟動ISW服務。不確定是否有啟動的話用sudo systemctl status [email protected]確認。
1
2
3
sudo isw -w 15A10RBS
sudo systemctl start [email protected]
sudo systemctl enable [email protected]

另有圖形程式OpenFreezeCenter可以管理風扇,不過我覺得讓ISW自己調整就夠了。

4. 結束

筆電闔上螢幕進入睡眠通常會睡死,桌面環境不論GNOME或KDE皆然。這個要查看dmesg然後排除問題…好麻煩,我直接在系統設定將它改成闔上螢幕「只關閉螢幕」不睡眠。

這樣就完成了,麥克風、相機都正常運作。


感謝您的閱讀。歡迎分享Ivon的部落格(ivonblog.com)的文章,引用或轉載請註明文章網址,並遵守創用CC-姓名標示-非商業性-禁止改作 4.0 國際授權條款。如需商業使用請來信告之。

written by human, not by AI

如果本網站文章對您有幫助,歡迎請我喝杯珍珠奶茶。

留言板

點選按鈕,選擇您覺得方便的留言系統。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要登入Github帳號才能留言。支援markdown語法,方便您張貼程式碼,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus投放的廣告。無論有無登入皆可留言。此處留言只有本站參與者看得到。若您選擇以訪客身份匿名留言,就不會收到後續回覆通知。