2011年7月13日 星期三

Linux PHC Undervolting - MSI X410

老婆偶爾玩 Facebook 的 flash game, 閒買給她的 X410 慢
於是好一陣子之前, 拿先前的 MSI CX420 跟老婆換
(這麼說我還蠻愛 MSI 筆電的, MSI 是否該找我寫測試文...XD)

X410當時也是我決定買的, 主要看上輕薄又有 14" 大螢幕
安裝Ubuntu 使用一陣子後, 發現CPU效能對我倒是其次
總是最大轉速的風扇聲, 與左手腕放置地方過熱

搜尋了一下, Windows 上有人使用 RM CPU Clock Utility 來降壓
除了降低CPU電壓, 另外還可以使用額外的 P-state
而在Linux 上要靠 Linux PHC kernel, 達到相同的效果

MSI X410 使用的是 AMD Neo MV-40
基本上預設電壓 1.0V
也只提供 800Mhz 與 1.6Ghz 兩種頻率切換

有了這些資訊, 就開始使用 Linux PHC 來降壓
首先可以透過下列指令加入 Linux PHC PPA

sudo add-apt-repository ppa:linux-phc/ppa

接著更新套件庫與安裝 Linux PHC kernel
sudo apt-get update

sudo apt-get install linux-generic-pae-phc linux-headers-generic-pae-phc linux-image-generic-pae-phc

如果不需要原本 kernel 可以順便移除..
安裝完成後, grub 選擇 phc 的項目重開即可

登入後, 接著要安裝 phc-k8 module
到此下載

安裝phc-k8前請安裝 dkms
sudo apt-get install dkms

接著以 root 做下列動作
1. cp phc-k8_v0.4.4b1.tar.gz /roo
2. cd /root
3. tar jxvf phc-k8_v0.4.4b1.tar.gz
4. cd phc-k8_v0.4.4b1
5. make dkms install

到這如沒出現錯誤訊息 phc-k8 安裝就完成了
重新開機讓系統載入 phc-k8 module

要測試是否 OK 可以用下列指令
cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
這時候你應該會看到下列資訊
8:22 0:22

這是 FID:VID 的組合, 按照說明文件
FID 的意義是 Freq = 800Mhz + (FID*100Mhz)
以筆電預設電壓 1.0V 去看
VID 的意義似乎是 Volt = 1550mv - VID*25mv

為了能夠切換更多的頻率
編譯 /etc/modprobe.d/phc-k8.conf
將  options phc-k8 direct_transitions=1 行前的 # 移除

接著在 /etc/rc.local 加入一行
echo "8:26 4:31 0:35" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
即可
(這裡 上述的 26,31,35 是保守值, 可以自行將上述指令調整輸入, 找出最適合的數值)

重新開機後就可以感受不同了...

可以重開機後交換輸入下列指令, 去體會風扇的變化
echo "8:22 4:32 0:22" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
echo "8:26 4:31 0:35" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls

Update:
最近看這篇, 發現, X410 其中用了散熱'墊', 其實散熱效果很不好, 於是也塗了之前存放的散熱膏, 效果的確不錯. 廢熱明顯不容易累積, 搭配上面的方法, 就不再燙手了.

2 則留言:

Edward Hu 提到...

我前幾天也剛把我X410的OS改裝成opensuse,我想請問一下為什麼在linux底下我電源一拔掉電腦就說電源不足需要進入休眠狀態??明明我充電充一整晚的啊...是不是我需要裝電池驅動還是什麼的啊??

okplaymayday 提到...

回~影子~
這是Ubuntu的bug,我之前也有遇到,要修改電源管理的參數,但我一時忘了要改什麼。

Chisel 學習筆記 - Scala 與 Chisel 基礎語法

標題為筆記, 但這篇比較屬於心得 延續 上一篇 的環境建立, 這次計劃藉由 Jserv 最新的 課程安排 來學習 Chisel, 當然個人目標是能夠按照 Jserv 的課程規劃在 期限之內 完成 Lab 3, 由於個人並非 digital designer (現在這年紀也算老貓學...