快轉到主要內容

微星MSI Modern 15筆電安裝Linux的眉角,設定Nvidia雙顯卡、風扇轉速

· 民國113年甲辰年
·
切換繁體/簡體
分類   Linux系統 Linux系統安裝教學
標籤   Linux MSI Windows
目錄

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

這個是之前用Arch Linux的時候拍的照片。

這是是2020年上市的筆電,2021年那個時候我大概買二萬多。搭載的是處於擠牙膏換代階段的i5-10210u處理器,這處理器真的尷尬,不上不下的效能,內顯也沒更新成Xe。還有負責搞笑的Nvidia MX350獨顯,2GB VRAM幾乎不能跑AI模型,頂多用來加速影片編碼,外出的時候就是掛在那邊耗電,讓續航力只有3小時。好家在螢幕有72% NTSC加上15吋大螢幕,加上他們自稱是創作者筆電就買了。

這台筆電有一個特技:螢幕能夠180度放平。儘管我一直不知道這能幹嘛。不如360度翻轉筆電帥氣。

早期一段時間我是用Photoshop畫圖,螢幕顏色很不賴,但是這依賴專有軟體MSI True Color調色,顏色才會比較鮮艷。換到Linux後,面板的顏色就一直是黃黃的了,用GIMP修圖都覺得怪怪的。我嘗試將.icm抽出來都沒用。

雖說如此,我裝Linux現在依然用的好好的,4核8緒夠用啦。出廠只有一個512GB NVME與8GB RAM,原廠有預留升級空間,用螺絲起子就能輕鬆拆卸,各自多加一條,方便我搞雙系統。

MSI Modern 15 A10對Linux的支援度普通,多虧裡面用了很多Intel的零件才能開箱即用,要注意的是風扇需要專門的韌體。我在Github找到了能控制風扇轉速的ISW-Modern韌體,以及限制充電上限的模組。不裝這個的話,風扇不轉會燒壞的。

過去只有壞過一次鍵盤,原廠保固內更換,早知道電池應該一起更新的…長期接著電源使用,根據Linux讀到的資料,健康度只剩下60%,以後必須設定充電上限才能保護電池健康度。

1. Linux對Modern 15的支援度
#

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

2021年,這台筆電出廠時裝的是Windows 11,然後從2022年到現在,我嘗試過了各種發行版,包括FreeBSD、Fedora、Ubuntu、openSUSE、Arch Linux、Linux Mint之後,目前使用的是Debian搭配KDE Plasma桌面,以求穩定。

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

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

CPU和GPU的風扇轉速需要安裝ISW程式,載入特定的EC驅動才能控制。

筆電闔上螢幕進入suspend模式會睡死,滾動發行版更容易出問題。這個要查看dmesg然後排除問題…好麻煩,我直接在桌面環境系統設定將它改成闔上螢幕「只關閉螢幕」不睡眠。


關於原廠軟體部份

MSI True Color這個程式可以調整螢幕顏色,修改色溫,Linux沒有對應程式,只能嘗試從中取得校色檔來用。

這得從Windows取出.icm檔案。MSI TrueColor安裝後,會在C:\Windows\System32\spool\drivers\color產生.icm檔案。Linux桌面支援讀取.icm檔案達成色彩管理,不過似乎效果不大,螢幕顏色的改變沒有Windows明顯。

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

這台筆電的喇叭外放很爛。原廠有送一個喇叭音效軟體Nahimic,聊勝於無。在Linux可以用EasyEffects代替,效果還更好,能夠拯救破爛音效。

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

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

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

  3. 然後切換為Debian開機。

  4. 在安裝系統選取硬碟的時候,筆電的NVME裝置代號不會是/dev/sda,而是/dev/nvme0n1

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

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

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

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

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

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

  1. 安裝防止Intel CPU過熱的thermald,啟用開機服務:
sudo apt install thermald

sudo systemctl enable --now thermald
  1. 安裝power-profiles-daemon,這樣KDE系統匣就會出現省電與效能模式的開關:
sudo apt install power-profiles-daemon

sudo systemctl enable power-profiles-daemon

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

sudo apt install 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,不過我覺得讓ISW自己調整就夠了。

圖形程式MControlCenter可以管理風扇轉速還有設定充電上限,注意MControlCenter與ISW-Modern使用的核心模組不一樣。

  1. 按照作者指示,用指令稿安裝acpi_ec核心模組,以及ISW
sudo apt install dkms build-essential linux-headers-$(uname -r)

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 isw@15A10RBS.service確認。
sudo isw -w 15A10RBS

sudo systemctl enable isw@15A10RBS.service

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

相關文章

Czkawka軟體用法,Linux以圖搜圖、搜尋重複檔案的小工具
分類   Linux系統 Linux好用軟體
標籤   Disk Cleanup Linux Windows MacOS
Kanban Desktop,在Linux桌面放一隻Live2D桌寵!支援連接語言模型
分類   Linux系統 Linux好用軟體
標籤   Desktop Mascot Live2D ChatGPT LLaMA AI Linux Windows
RustDesk使用教學:開源免費遠端桌面,支援Linux、Windows、macOS,可自架伺服器
分類   Linux系統 Self-hosting自架
標籤   RustDesk Remote Desktop Linux Windows MacOS

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

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