「Lenovo ThinkPad X1 Extreme」の版間の差分
(→ハイブリッドグラフィック: 「グラフィック」節について 英語版619871 に同期) |
Kusanaginoturugi (トーク | 投稿記録) (校正(でき・出来)) |
||
(他の1人の利用者による、間の8版が非表示) | |||
3行目: | 3行目: | ||
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|ノートパソコン/Lenovo}} |
{{Related|ノートパソコン/Lenovo}} |
||
+ | {{Related|Lenovo ThinkPad X1 Extreme (Gen 2)}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
{| class="wikitable" style="float: right;" |
{| class="wikitable" style="float: right;" |
||
27行目: | 28行目: | ||
| Intel JHL7540 Thunderbolt || {{G|動作}} || thunderbolt |
| Intel JHL7540 Thunderbolt || {{G|動作}} || thunderbolt |
||
|- |
|- |
||
− | | Synaptics 指紋リーダー || {{ |
+ | | Synaptics 指紋リーダー || {{Y|実験段階}} || 実験段階の python-validity ドライバが必要 |
|} |
|} |
||
44行目: | 45行目: | ||
BIOS アップデートは [[fwupd]] や Windows の Lenovo Vantage アプリケーション、あるいは [https://pcsupport.lenovo.com/en/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x1-extreme/downloads Lenovo のウェブサイト] から行うことができます。 |
BIOS アップデートは [[fwupd]] や Windows の Lenovo Vantage アプリケーション、あるいは [https://pcsupport.lenovo.com/en/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x1-extreme/downloads Lenovo のウェブサイト] から行うことができます。 |
||
− | 最新のバージョンは v1. |
+ | 最新のバージョンは v1.31 であって (2020年6月現在)、これが推奨されます。断わりのない限り、このページの情報は最新のBIOSであることを前提としています。 |
=== ハイブリッドグラフィック === |
=== ハイブリッドグラフィック === |
||
+ | ハイブリッドグラフィックを実現するには下記に示すいくつかの方法があります。 |
||
− | ハイブリッドモードは [[Bumblebee]]や[[nvidia-xrun]]、optimus-manager で動作します。USB-C アダプタや Thunderbolt ドックを繋いだ時に生成されるディスプレイポートと、 HDMI ポートは Nvidia の dGPU に配線されています。BIOSの設定では "Discrete Graphics" (Nvidia のみ) と "Hybrid" (Intel + GPU) の2つのみ選択肢があり、Intel GPU のみを使う選択肢は利用できません。 |
||
+ | |||
+ | USB-C アダプタや Thunderbolt ドックを繋いだ時に生成されるディスプレイポートと、 HDMI ポートは Nvidia の dGPU に配線されています。 |
||
+ | |||
+ | BIOSの設定では 内蔵の Intel GPU を無効化して、全て Nvidia GPU 上で実行することができます。 Nvidia GPU を BIOS の設定から無効化することはできず、 Intel GPU を使う場合にはランタイム電源管理ツールを有効にすることを強く推奨します。 |
||
+ | |||
+ | ==== PRIME offloading ==== |
||
+ | |||
+ | {{Warning|この方法ではランタイム電源管理は対応していません。 Nvidia GPU は周波数低下しますがアイドル状態でも電源は完全には落ちません。}} |
||
+ | |||
+ | {{Pkg|nvidia-prime}} パッケージが特別な設定なしで動きます。 |
||
+ | |||
+ | ==== optimus-manager ==== |
||
+ | |||
+ | {{AUR|optimus-manager}} を使うことで、システム全体で GPU のスイッチングを手軽に行えます。 Nvidia GPU が使われていない場合に無効化するためのランタイム電源管理もサポートしています。 |
||
+ | |||
+ | {{Note|初期設定では {{ic|optimus-manager}} はランタイム電源管理は無効のままです。有効化するためには、 {{pkg|bbswitch}} を[[インストール]]して {{ic|optimus-manager}} の設定を次の様に修正して下さい: |
||
+ | |||
+ | {{hc|head=/etc/optimus-manager/optimus-manager.conf|output= |
||
+ | [optimus] |
||
+ | switching=bbswitch}} |
||
+ | }} |
||
==== Bumblebee ==== |
==== Bumblebee ==== |
||
+ | {{Warning| {{ic|Bumblebee}} は遅く、メンテナンスも不満足でモダンなアプリケーションとは動作に問題があります。 動作する設定例は、今後の人のためにもここに残しておきますが、使用を避けるべきです。}} |
||
− | [[Bumblebee]]のインストール後、次に示すファイルを修正、作成し再起動して、 {{ic|intel-virtual-output -f}}を iGPUで動作している X サーバから実行することで HDMI ポートが動作するようになります。 |
||
+ | |||
+ | 次に示す設定例は、うまく動いていました。 |
||
{{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
{{hc|/etc/X11/xorg.conf.d/20-intel.conf| |
||
82行目: | 106行目: | ||
}} |
}} |
||
+ | 外部ディスプレイは {{ic|intel-virtual-output}} から使えます。 |
||
− | ==== optimus-manager ==== |
||
+ | 詳細は [[Bumblebee#NVIDIA のチップに出力が接続されている場合]]を見てください。 |
||
+ | ==== Nvidia GPU のみを使う ==== |
||
− | optimus-manager はグラフィックを切り替えるために、システムからログアウトさせますが、外部ディスプレイのサポートについて、より高いパフォーマンスと安定性を提供します。次の設定が上手く動作することが確かめられています。 |
||
+ | {{ic|nvidia-xconfig}}が生成するデフォルトの設定を使うことで、HDMI 出力も含めて全ての機能が動作します。 |
||
− | {{hc|/etc/optimus-manager/optimus-manager.conf|<nowiki> |
||
− | [intel] |
||
− | DRI=3 |
||
− | driver=modesetting |
||
− | modeset=yes |
||
+ | === Thunderbolt === |
||
− | [nvidia] |
||
− | PAT=yes |
||
− | ignore_abi=no |
||
− | modeset=yes |
||
+ | Thunderbolt は特に設定をしなくても動作します (ThinkPad Thunderbolt 3 ドックで確認)。セキュリティについて詳しくは [[Thunderbolt]] を見てください。 |
||
− | [optimus] |
||
− | pci_power_control=no |
||
− | pci_remove=no |
||
− | pci_reset=function_level |
||
− | switching=bbswitch</nowiki> |
||
− | }} |
||
− | 上記の設定のために [[bbswitch]] をインストールする必要があります。 |
||
− | + | === ファン制御 === |
|
+ | 第2の(右側の)ファンの制御は [https://github.com/torvalds/linux/commit/14232c6e788cb1f7b96dbd08b077f90923324b24 linux カーネル 5.8 で実装されました]。古いカーネルでは、リンク先の変更をカーネル 5.7 に適用することで可能です。 |
||
− | {{ic|nvidia-xconfig}}が生成するデフォルトの設定を使うことで、HDMI 出力も含めて上手く動作します。 |
||
− | === |
+ | === 指紋スキャナ === |
+ | このラップトップでは古い Synaptics センサ (Validity Technologies として知られています) を使っています (USB ID 06cb:009a)。指紋スキャナはいまのところ libfprint でサポートされていません。 |
||
− | Thunderbolt は特に設定をしなくても動作します (ThinkPad Thunderbolt 3 ドックで確認)。セキュリティについて詳しくは [[Thunderbolt]] を見てください。DisplayPort/HDMI 端子は NVIDIA GPU にのみ接続されています。 |
||
+ | |||
+ | [https://github.com/uunicorn/python-validity リバースエンジニアリングが行われている最中]で、実験的ドライバーが AUR から入手可能です {{aur|python-validity}}。 |
||
+ | |||
+ | 上流の libfprint のバグは [https://gitlab.freedesktop.org/libfprint/libfprint/issues/134 こちら] から確認できます。 |
||
=== 他のハードウェア === |
=== 他のハードウェア === |
||
+ | タッチパッドの操作性が、カーネルメッセージが示すように "intertouch" を有効化することで、大幅に改善されます。これは、カーネルコマンドラインに {{ic|1=psmouse.synaptics_intertouch=1}}を加えるか、 modprobeのエントリに次のように加えることで可能です。 |
||
− | ウェブカメラは何も設定なくても動作しますが、スライダーの状態に関係なく常に接続状態として認識されます (保護スライダーを閉じているとき Windows では「非接続」画像が表示されます)。ただし、スライダーを閉じているとき、カメラの画像は完全に黒画像となります。 |
||
+ | {{hc|head=/etc/modprobe.d/psmouse.conf|output=options psmouse synaptics_intertouch=1}} |
||
+ | カーネル 5.8 ではこの設定がデフォルトとなっています。 |
||
+ | ウェブカメラは何も設定なくても動作しますが、スライダーの状態に関係なく常に接続状態として認識されます (保護スライダーを閉じているとき Windows では「非接続」画像が表示されます)。ただし、スライダーを閉じているとき、カメラの画像は完全に黒画像となります。 |
||
− | 指紋スキャナはいまのところ libfprint でサポートされていません。リバースエンジニアリングによる開発が [https://github.com/nmikhailov/Validity90 こちら] で進めれていますが、停滞しているようです。上流の libfprint バグが [https://gitlab.freedesktop.org/libfprint/libfprint/issues/134 こちら] から確認できます。 |
||
その他のハードウェアは全て問題なく動作します。 |
その他のハードウェアは全て問題なく動作します。 |
||
127行目: | 145行目: | ||
Windows 環境における Dolby Atmos と同じスピーカーの音質・エフェクトを得るには、[[PulseAudio]] と {{pkg|pulseeffects}} をインストール・設定してください。Dolby Atmos プリセットを [https://github.com/JackHack96/PulseEffects-Presets/tree/master/irs JackHack96 の Github] からダウンロードして PulseEffects GUI の "Convolver" タブで有効化できます。 |
Windows 環境における Dolby Atmos と同じスピーカーの音質・エフェクトを得るには、[[PulseAudio]] と {{pkg|pulseeffects}} をインストール・設定してください。Dolby Atmos プリセットを [https://github.com/JackHack96/PulseEffects-Presets/tree/master/irs JackHack96 の Github] からダウンロードして PulseEffects GUI の "Convolver" タブで有効化できます。 |
||
− | === |
+ | === マイクのノイズ除去 === |
+ | PulseAudio の [[PulseAudio/トラブルシューティング#エコー除去・ノイズキャンセルを有効にする|エコー除去・ノイズキャンセルを有効にする]] がノイズ除去に使えます。{{ic|/etc/pulse/default.pa}}に次を追加することで可能です。"mic_geometry" が X1 Extreme 特有の設定です。 |
||
− | [[TLP]] でバッテリーの起動・停止の閾値を設定するには、{{pkg|acpi_call}} をインストールして {{ic|/etc/default/tlp}} を以下のように編集: |
||
+ | |||
+ | {{hc|/etc/pulse/default.pa|2= |
||
+ | ### Enable Echo/Noise-Cancellation |
||
+ | load-module module-echo-cancel use_master_format=1 aec_method=webrtc aec_args="beamforming=1 mic_geometry=-0.0257,0,0,0.0257,0,0" source_name=echoCancel_source sink_name=echoCancel_sink |
||
+ | set-default-source echoCancel_source |
||
+ | set-default-sink echoCancel_sink |
||
+ | }} |
||
+ | |||
+ | === バッテリー閾値 === |
||
+ | |||
+ | バッテリーの充電の閾値は sysfs ノードの {{ic|/sys/class/power_supply/BAT0/charge_start_threshold}}と{{ic|/sys/class/power_supply/BAT0/charge_stop_threshold}}から可能です。 |
||
+ | または [[TLP]] を使うこともできて、バッテリーの起動・停止の閾値を設定するには、{{pkg|acpi_call}} をインストールして {{ic|/etc/default/tlp}} を以下のように編集します: |
||
START_CHARGE_THRESH_BAT0=80 |
START_CHARGE_THRESH_BAT0=80 |
||
STOP_CHARGE_THRESH_BAT0=90 |
STOP_CHARGE_THRESH_BAT0=90 |
||
− | === CPU |
+ | === CPU 温度リミット === |
− | {{Pkg|s-tui}} を使ってストレステストを行うと CPU の電源の上限が 38W となっていることがわかります。 |
+ | {{Pkg|s-tui}} を使ってストレステストを行うと CPU の電源の上限が 38W/80℃ となっていることがわかります。そのため負荷が重い時でも、 i7-8750H では最大周波数は約 2850 MHz となります。カーネル 5.8 と {{pkg|thermald}} 2.3 から、{{ic|thermald}} がインストールされ有効化されていれば、パワーリミットはあるべき設定値に調整されるようになっています。 |
+ | 古いカーネルを使っている場合は、次の2つの方法でもって電源関係の上限を設定することが可能です。 |
||
− | 一時的な修正について詳しくは [https://github.com/erpalma/lenovo-throttling-fix lenovo-throttling-fix ホームページ] を見てください。[https://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux.git/commit/?h=next&id=bcd8aa670b74c026759cd6c06019d98b7b28bfd6 正当な解決方法] は Linux 5.0 または 5.1 で取り込まれる予定です。 |
||
+ | |||
+ | {{Warning|次から示される設定はラップトップの消耗やハードウェアへダメージに繋りかねません。何をしようとしているのか理解した上で実行してください。}} |
||
+ | |||
+ | ==== sysfs を使う ==== |
||
+ | |||
+ | Linux カーネルのバージョン5.4から、CPU の温度ポリシーを設定するための、いくつかのインターフェースが提供されています。主要なものは2つで DPTF ポリシーと TCC オフセットです。DPTF ポリシーでは、周波数スケールの振舞いを制御することができ、TCC オフセットでは、CPU パッケージの温度上限を制御することが可能です。下のスクリプトを使うことで、Windows の場合と同じになるように、この2つを設定することができます。 |
||
+ | |||
+ | {{bc|1=#!/bin/bash |
||
+ | |||
+ | # set DPTF policy to "adaptive performance" |
||
+ | echo "63BE270F-1C11-48FD-A6F7-3AF253FF3E2D" > /sys/devices/platform/INT3400:00/uuids/current_uuid |
||
+ | |||
+ | # enable INT3400 thermal zone |
||
+ | for zone in /sys/class/thermal/thermal_zone*; do |
||
+ | if [ "$(cat $zone/type)" == "INT3400 Thermal" ]; then |
||
+ | echo enabled > $zone/mode |
||
+ | fi |
||
+ | done |
||
+ | |||
+ | # set TCC offset to 5 degrees (Tmax = 95C) |
||
+ | echo 5 > /sys/devices/pci0000:00/0000:00:04.0/tcc_offset_degree_celsius}} |
||
+ | |||
+ | ==== サードパーティー製のツールを使う ==== |
||
+ | |||
+ | {{Pkg|throttled}} と {{ic|intel-undervolt}} (詳細は下) を使うことで、温度と電源の上限を上書きすることができます。しかしこのツールが利用する方法は、上に比べて信頼性が弱いです。 |
||
=== CPU 低電圧化 === |
=== CPU 低電圧化 === |
||
+ | {{Warning|一般にハードウェアへの直接の悪さはないものの、低電圧化は Lenovo や Intel にサポートされていません。もし低電圧化して問題があった場合には、電圧を元に戻して、問題があるか確認してください。}} |
||
− | CPU/Intel GPU の低電圧化を [[CPU の低電圧化#intel-undervolt|intel-undervolt]] で行うことができます。i7-8750H と i7-8850H CPU では -150mV が基本的に安全なラインですが、個人差が存在します。 |
||
+ | CPU/Intel GPU の低電圧化を [[CPU の低電圧化#intel-undervolt|intel-undervolt]] で行うことができます。i7-8750H と i7-8850H CPU では -150mV が基本的に安全なラインですが、個体差が存在します。 |
||
− | === カーネルパラメータ === |
||
+ | 低電圧化によるシステムへの安定性の影響は、それぞれのハードウェアに大きく依存します(a.k.a. "the silicon lottery")。 |
||
+ | === TLP === |
||
− | 2019年1月現在、以下のカーネルパラメータを使うことができます: |
||
+ | |||
+ | PCI(e) バスデバイスへのランタイムパワー制御の有効化によって 6 W 程の節電になります ([https://linrunner.de/tlp/faq/powercon.html#fan-noise-on-ac-power by turning the Nvidia GPU off](?))。 |
||
+ | [[TLP]] はバッテリー動作時にはデフォルトでこれを有効化しますが、 AC 動作時にはしません。 [[TLP]] を使っていて AC 動作時にも有効化したい場合は {{ic|/etc/tlp.conf}} から設定して下さい: |
||
+ | |||
+ | {{hc|/etc/tlp.conf|2= |
||
+ | RUNTIME_PM_ON_AC=auto |
||
+ | }} |
||
+ | 設定後は [[TLP]] を systemd から再起動して下さい。この設定でラップトップは AC 動作時でも劇的に発熱が抑えられるかもしれません。 |
||
− | * {{ic|1=i915.enable_psr=1}} - Intel graphics の panel self-refresh を有効にして、電力を節約します。 |
||
− | * {{ic|1=i915.fastboot=1}} - 起動時にモードセッティングをスキップして、対応するブートローダーでちらつきを抑えます (rEFInd, 解像度を設定した GRUB2 など)。 |
||
− | * {{ic|1=i915.enable_guc=2}} - [[Intel_Graphics#GuC / HuC ファームウェアのロードを有効化|GuC/HuC ファームウェアのロード]]が有効になり、場合により動画のエンコーディングでハードウェアアクセラレーションが効果を発揮します。 |
||
== 仕様 == |
== 仕様 == |
2024年7月10日 (水) 20:44時点における最新版
デバイス | 状態 | モジュール |
Intel UHD 630 Graphics | 動作 | i965 |
Nvidia GTX 1050 Ti (Max-Q) | 動作 | nvidia |
Intel I219-V Ethernet | 動作 | e1000e |
Intel 9560 ワイヤレス | 動作 | iwlwifi |
Realtek ALC285 オーディオ | 動作 | snd_hda_intel |
Synaptics タッチパッド | 動作 | synaptics + libinput |
SunplusIT カメラ | 動作 | uvcvideo |
カードリーダー | 動作 | xhci_hcd |
Intel 9560 Bluetooth | 動作 | btusb |
Intel JHL7540 Thunderbolt | 動作 | thunderbolt |
Synaptics 指紋リーダー | 実験段階 | 実験段階の python-validity ドライバが必要 |
ThinkPad X1 Extreme は Lenovo から2018年度の ThinkPad X ラインナップとして発売された薄型・軽量の 15.6 インチワークステーション・マルチメディアノートパソコンです。
このページでは X1 Extreme で Arch Linux を動作させるときの詳細を扱います。ノートパソコン一般の情報についてはノートパソコンを、他の ThinkPad ノートパソコンについては ThinkPad を見てください。Ubuntu certification page も有益です。
ハードウェア互換性
BIOS アップデート
Arch Linux 環境で必須というわけではありませんが、ノートパソコンを使うときは基本的に BIOS アップデートをすることが強く推奨されます。初期バージョンの 1.13 には複数のバグが存在し、ノートパソコンが文鎮化する可能性があります: Reddit thread discussing the issue; another Reddit thread discussing a different bricking issue。
BIOS アップデートは fwupd や Windows の Lenovo Vantage アプリケーション、あるいは Lenovo のウェブサイト から行うことができます。
最新のバージョンは v1.31 であって (2020年6月現在)、これが推奨されます。断わりのない限り、このページの情報は最新のBIOSであることを前提としています。
ハイブリッドグラフィック
ハイブリッドグラフィックを実現するには下記に示すいくつかの方法があります。
USB-C アダプタや Thunderbolt ドックを繋いだ時に生成されるディスプレイポートと、 HDMI ポートは Nvidia の dGPU に配線されています。
BIOSの設定では 内蔵の Intel GPU を無効化して、全て Nvidia GPU 上で実行することができます。 Nvidia GPU を BIOS の設定から無効化することはできず、 Intel GPU を使う場合にはランタイム電源管理ツールを有効にすることを強く推奨します。
PRIME offloading
nvidia-prime パッケージが特別な設定なしで動きます。
optimus-manager
optimus-managerAUR を使うことで、システム全体で GPU のスイッチングを手軽に行えます。 Nvidia GPU が使われていない場合に無効化するためのランタイム電源管理もサポートしています。
Bumblebee
次に示す設定例は、うまく動いていました。
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "intelgpu0" Driver "intel" EndSection
/etc/bumblebee/xorg.conf.nvidia
Section "ServerLayout" Identifier "Layout0" Option "AutoAddDevices" "true" Option "AutoAddGPU" "false" EndSection Section "Device" Identifier "DiscreteNvidia" Driver "nvidia" VendorName "NVIDIA Corporation" Option "ProbeAllGpus" "false" Option "AllowEmptyInitialConfiguration" EndSection Section "Screen" Identifier "Screen0" Device "DiscreteNVidia" EndSection
外部ディスプレイは intel-virtual-output
から使えます。
詳細は Bumblebee#NVIDIA のチップに出力が接続されている場合を見てください。
Nvidia GPU のみを使う
nvidia-xconfig
が生成するデフォルトの設定を使うことで、HDMI 出力も含めて全ての機能が動作します。
Thunderbolt
Thunderbolt は特に設定をしなくても動作します (ThinkPad Thunderbolt 3 ドックで確認)。セキュリティについて詳しくは Thunderbolt を見てください。
ファン制御
第2の(右側の)ファンの制御は linux カーネル 5.8 で実装されました。古いカーネルでは、リンク先の変更をカーネル 5.7 に適用することで可能です。
指紋スキャナ
このラップトップでは古い Synaptics センサ (Validity Technologies として知られています) を使っています (USB ID 06cb:009a)。指紋スキャナはいまのところ libfprint でサポートされていません。
リバースエンジニアリングが行われている最中で、実験的ドライバーが AUR から入手可能です python-validityAUR。
上流の libfprint のバグは こちら から確認できます。
他のハードウェア
タッチパッドの操作性が、カーネルメッセージが示すように "intertouch" を有効化することで、大幅に改善されます。これは、カーネルコマンドラインに psmouse.synaptics_intertouch=1
を加えるか、 modprobeのエントリに次のように加えることで可能です。
/etc/modprobe.d/psmouse.conf
options psmouse synaptics_intertouch=1
カーネル 5.8 ではこの設定がデフォルトとなっています。
ウェブカメラは何も設定なくても動作しますが、スライダーの状態に関係なく常に接続状態として認識されます (保護スライダーを閉じているとき Windows では「非接続」画像が表示されます)。ただし、スライダーを閉じているとき、カメラの画像は完全に黒画像となります。
その他のハードウェアは全て問題なく動作します。
ソフトウェアの設定
Linux における Dolby Atmos エフェクト
Windows 環境における Dolby Atmos と同じスピーカーの音質・エフェクトを得るには、PulseAudio と pulseeffects をインストール・設定してください。Dolby Atmos プリセットを JackHack96 の Github からダウンロードして PulseEffects GUI の "Convolver" タブで有効化できます。
マイクのノイズ除去
PulseAudio の エコー除去・ノイズキャンセルを有効にする がノイズ除去に使えます。/etc/pulse/default.pa
に次を追加することで可能です。"mic_geometry" が X1 Extreme 特有の設定です。
/etc/pulse/default.pa
### Enable Echo/Noise-Cancellation load-module module-echo-cancel use_master_format=1 aec_method=webrtc aec_args="beamforming=1 mic_geometry=-0.0257,0,0,0.0257,0,0" source_name=echoCancel_source sink_name=echoCancel_sink set-default-source echoCancel_source set-default-sink echoCancel_sink
バッテリー閾値
バッテリーの充電の閾値は sysfs ノードの /sys/class/power_supply/BAT0/charge_start_threshold
と/sys/class/power_supply/BAT0/charge_stop_threshold
から可能です。
または TLP を使うこともできて、バッテリーの起動・停止の閾値を設定するには、acpi_call をインストールして /etc/default/tlp
を以下のように編集します:
START_CHARGE_THRESH_BAT0=80 STOP_CHARGE_THRESH_BAT0=90
CPU 温度リミット
s-tui を使ってストレステストを行うと CPU の電源の上限が 38W/80℃ となっていることがわかります。そのため負荷が重い時でも、 i7-8750H では最大周波数は約 2850 MHz となります。カーネル 5.8 と thermald 2.3 から、thermald
がインストールされ有効化されていれば、パワーリミットはあるべき設定値に調整されるようになっています。
古いカーネルを使っている場合は、次の2つの方法でもって電源関係の上限を設定することが可能です。
sysfs を使う
Linux カーネルのバージョン5.4から、CPU の温度ポリシーを設定するための、いくつかのインターフェースが提供されています。主要なものは2つで DPTF ポリシーと TCC オフセットです。DPTF ポリシーでは、周波数スケールの振舞いを制御することができ、TCC オフセットでは、CPU パッケージの温度上限を制御することが可能です。下のスクリプトを使うことで、Windows の場合と同じになるように、この2つを設定することができます。
#!/bin/bash # set DPTF policy to "adaptive performance" echo "63BE270F-1C11-48FD-A6F7-3AF253FF3E2D" > /sys/devices/platform/INT3400:00/uuids/current_uuid # enable INT3400 thermal zone for zone in /sys/class/thermal/thermal_zone*; do if [ "$(cat $zone/type)" == "INT3400 Thermal" ]; then echo enabled > $zone/mode fi done # set TCC offset to 5 degrees (Tmax = 95C) echo 5 > /sys/devices/pci0000:00/0000:00:04.0/tcc_offset_degree_celsius
サードパーティー製のツールを使う
throttled と intel-undervolt
(詳細は下) を使うことで、温度と電源の上限を上書きすることができます。しかしこのツールが利用する方法は、上に比べて信頼性が弱いです。
CPU 低電圧化
CPU/Intel GPU の低電圧化を intel-undervolt で行うことができます。i7-8750H と i7-8850H CPU では -150mV が基本的に安全なラインですが、個体差が存在します。 低電圧化によるシステムへの安定性の影響は、それぞれのハードウェアに大きく依存します(a.k.a. "the silicon lottery")。
TLP
PCI(e) バスデバイスへのランタイムパワー制御の有効化によって 6 W 程の節電になります (by turning the Nvidia GPU off(?))。
TLP はバッテリー動作時にはデフォルトでこれを有効化しますが、 AC 動作時にはしません。 TLP を使っていて AC 動作時にも有効化したい場合は /etc/tlp.conf
から設定して下さい:
/etc/tlp.conf
RUNTIME_PM_ON_AC=auto
設定後は TLP を systemd から再起動して下さい。この設定でラップトップは AC 動作時でも劇的に発熱が抑えられるかもしれません。
仕様
このページの情報は全て製造番号 20MF000BUS と 20MFCTO1WW のノートパソコンでテストしています。仕様は以下の通り:
- CPU: Intel Core i7-8750H / i7-8850H
- グラフィック: ハイブリッド Intel UHD 630 + Nvidia GTX 1050 Ti Max-Q
- ディスプレイ: Innolux N156HCE-EN1 1920x1080/60Hz IPS (他のメーカー製の場合あり)
- メモリ: 16GB / 32GB
- SSD: Intel 7600p シリーズ 512GB NVMe / Samsung 970 Pro 1TB NVMe