1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Surface Pro 6の0.4Ghz病を治す(Linux)

1
Posted at

はじめに

Surface Go 3を知人からもらいタブレットPCに感動したのでヤフオクでSurface Pro 6とSurface Pro 7+をジャンクで購入。7+は不動で6は動作したので早速使おうと思ったらめちゃくちゃ重い。何をするにも重い。どういうことなのか調べてみたら後述する原因が見つかった。

原因

どうやらはるか昔のMicrosoftのファームウェアのバグだった・・・らしい。(引用元:https://www.nichepcgamer.com/archives/1075513592.html)

しかし、自分の環境はすでに最新バージョンが入っており解決されているはずに見えたが、調べた感じIntelの省電力管理ではよくある話らしい。

watch grep "MHz" /proc/cpuinfoで確認したところ、ずっと400.0000で張り付いていた。

原理としてはCPUが既定値以上の高温担った場合クロックを下げてサーマルスロットリングをすることで温度を下げるが、既定値以下であっても高温であると誤認して常時サーマルスロットリングを実行。その結果、0.4Ghzで動き続けるというものだった。

そもそもWindows 11が入っていたときから動作が妙に重かったり、そのせいかディスクアクセスまでめちゃくちゃ遅かったりと予兆は合ったものの、Go 3を使ってたせいもあって割と普通なもんだと思ってた。よくよく考えてみれば8世代のi5がPentiumに負けるはずはない。

解決法を探してたところ、BD_PROCHOTというものがスロットリングを管理しているのでそれを無効化。その後、電源管理ができるtlpを入れて最大値を制限するということに落ち着いた。

※BD_PROCHOTは温度管理機能を無効化するに等しいらしく、真に高温でクロックを下げないといけない場面になると基盤を痛める原因になる場合があるそう。その対策として当方はバッテリー駆動時は1/3のクロックで動くように設定することで対策した。正しいのかは知らない。

環境

image.png

  • OS: Fedora 43 (GNOME)
    linux-surfaceカーネルを導入済み。
    Secure BootはOFFにしてある。ONにしてもこれが動作するのかは未検証。

1. throttledを入れる

throttledというSurfaceやThinkPad関係で同じような原因でクロックが下がっている端末に対して変更を加えるソフトを導入。
当環境はFedoraなのでREADME.mdに従ってFedora用をインストール。

# abn/throttledリポジトリを有効化
sudo dnf copr enable abn/throttled
# throtteldをインストール
sudo dnf install -y throttled

# システム起動時に実行&即時起動を有効化
sudo systemctl enable --now throttled

2. /etc/throttled.confをいじる

vimでもnanoでもなんでもいいのでroot権限でDISABLED_BDPROCHOTの値をTrueにする
当方はvimなのでsudo vim /etc/trottled.confで操作した。

※[BATTERY]と[AC]の2つの項目があるので両方変更する。

3. systemctlでサービスを再起動

sudo systemctl restart throttled
上記のコマンドを実行するとうまく行けばクロック制限が解除される。ただし、負荷が大きいと上限までクロックを上げ始めるのでtlpを入れる。

4. tlpの導入

普通に入れる。
sudo dnf install tlp

5. /etc/tlp.confを触る

sudo vim /etc/tlp.conf

CPU_*_PERF_*の項目を探してコメントアウトする。
image.png

自分はバッテリー駆動の際は最大クロックの1/3に設定し、ACを繋いだ際にはフル稼働するようにした。

6. tlpの再起動

sudo systemctl restart tlp

その後、バッテリー駆動にしたり電源を繋いだりして正しくクロックが制限されているか確認する。

さいごに

i5-8350Uで1/3でもこの記事書くくらいには余裕で動く。そんな重い作業しないし、tlpがなんなのか10年越しくらいに理解したのでいい勉強になった。クロック制限をきつくすればそれなりにバッテリーも節約されそう?

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?