快轉到主要內容

微星MSI Modern 15筆電安裝Arch Linux,設定Nvidia雙顯卡、風扇溫度

分類   Linux系統 Linux系統安裝教學
標籤   Arch Linux MSI
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

MSI的筆電是可以裝Linux的,不過有些細節要注意。我的筆電型號是微星MSI Modern 15 A10RBS

從2022年到現在,在試過FreeBSD、Fedora、Ubuntu、openSUSE之後,我便長期在Arch Linux定居下來了。Arch Linux的社群資源頗豐,缺韌體到AUR抓就好啦。

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

1. Linux對Modern 15的支援度
#

安裝Linux前就是要確認硬體和軟體的支援度。

「MSI Modern 15 A10RBS-462TW」是2020年上市的筆電,CPU搭載Intel® Core™ i5-10210U,內顯Intel UHD 620,另附贈獨顯NVIDIA GeForce MX350(同時負責HDMI的訊號輸出)。搭載512GB的NVMe M.2 SSD。

硬體部份,使用lsubs列出裝置,觸控板、鍵盤、鍵盤背光、顯示卡、網路攝影機、藍芽、SD卡讀卡機、音效、Wifi網卡、TPM模組,Linux核心都有支援。

CPU和GPU的風扇轉速需要安裝ISW程式調整。

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


軟體部份,MSI True Color沒有Linux版,所以Linux下的螢幕沒辦法像Windows那樣色彩艷麗。不過Linux載入ICC設定檔就可以達到很準確的sRGB顏色了,故不用追求MSI True Color所加料的效果。

MSI Creator Center沒有Linux版,不過它的功能也不過是調整風扇轉速而已,這個可以用Power Profile Daemon+ISW替代。

原廠送的喇叭音效Nahimic可以用 EasyEffects代替,效果還更好。

2. 安裝Arch Linux系統時的眉角
#

  1. 首先在Windows下載 原廠程式,將UEFI和EC firmware更新到最新版。

  2. BIOS的Secure Boot是一定要關的,我懶得自己生成密鑰。TPM開著沒差。

  3. Arch Linux安裝過程大致上跟桌機差不多: 在電腦安裝Arch Linux。我使用KDE桌面。

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

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

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

  7. 開機後,重裝kernel:

sudo pacman -S linux linux-headers
  1. 在那之後會顯示possible missing firmware字樣,把那些驅動名稱拿去Google,通常AUR都會有收。

3. Intel內顯與Nvidia獨顯的切換
#

過去跑Windows時,困擾我的就是內顯獨顯切換的問題,Arch Linux也不例外。

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

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

真的需要用到Nvidia顯卡的話,安裝Nvidia閉源驅動,並使用 EnvyControl,在內顯和獨顯間切換,以確保最大效能。

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

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

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

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筆電廠牌…網路社群有人做了 Ice-Sealed Wyvern (ISW-Modern),適用大多數MSI筆電。可進一步控制風扇,使其按照溫度調整轉速。

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

  1. 按照作者指示,用指令稿安裝acpi_ec核心模組,以及ISW
sudo pacman -S linux-headers dkms
sudo reboot

git clone https://github.com/musikid/acpi_ec.git
cd acpi_ec
sudo ./install.sh
sudo reboot

git clone https://github.com/FaridZelli/ISW-Modern.git
cd ISW-Modern
sudo bash ./install.sh
  1. 編輯/etc/isw.conf,參考 類似機型設定,在底部填入風扇轉速規則:
[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]確認。
sudo isw -w 15A10RBS

sudo systemctl enable [email protected]

sudo systemctl start [email protected]
  1. 要怎麼測試風扇會不會真正轉起來呢?跑stress-ng指令,CPU核心塞滿跑5分鐘就知道了。

相關文章

Arch Linux安裝教學,KDE Plasma桌面+中文輸入法
分類   Linux系統 Linux系統安裝教學
標籤   Arch Linux Arch User Repository
讓Arch Linux安裝更簡單:archinstall script使用教學
分類   Linux系統 Linux系統安裝教學
標籤   Arch Linux
先裝Arch Linux再裝Windows 11,單碟雙系統開機
分類   Linux系統 Linux系統安裝教學
標籤   Arch Linux Windows

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。