Dell XPS 15 (9560)

提供: ArchWiki
移動先: 案内検索
ノート: このページでは XPS 15 の 9560 版を扱っています。記載されていることのほとんどは Precision 5520 にも当てはまります。
デバイス/機能 状態
サスペンド バグが存在
ハイバネート 動作
内蔵グラフィック 動作
Nvidia 単体グラフィック 動作
Wifi 動作
Bluetooth 動作
rfkill 動作
オーディオ 動作
タッチパッド 動作
ウェブカメラ 動作
カードリーダー 動作
ファンクション/マルチメディアキー 動作
電源管理 設定が必要
EFI ファームウェアアップデート 動作
指紋リーダー 動作せず

このページは Dell XPS 15 9560 (2016年下旬モデル) で Arch Linux を動作させるにあたっての推奨事項を載せています。構成にもよりますがハードウェアの多くが問題なく動作します。例外は指紋リーダーで、サスペンドから復帰したときにロックされることが報告されており、また、Nvidia のプロプライエタリドライバーにはディスクリート GPU にレンダリングをオフロードする PRIME のサポートがありません。

UEFI

インストールする前に UEFI の設定が必要です。起動中に F2 を押すことで UEFI の設定画面を開くことができます。

  • SATA Mode をデフォルトの "RAID" から "AHCI" に変更してください。これで Linux が NVMe SSD を認識できるようになります。プリインストールされた Windows 環境とデュアルブートする場合、設定の変更によって Windows が起動しなくなるので注意してください。ただし、Windows を再インストールしなくても修正することが可能です。
  • "POST Behaviour" の Fastboot を "Thorough" に変更してください。設定を変更しないと断続的に起動が失敗することがあります。
  • セキュアブートを無効化して Linux が起動できるようにしてください。

Arch のインストールは通常通りに行うことができます。詳しくはインストールガイドを見てください。

電源管理

サスペンドとハイバネート

サスペンドとハイバネートは特に設定をしなくても動作します。ただし一部のユーザーはサスペンドから復帰したときにフリーズが発生することがあると報告しています [1]。カーネル 4.10 以上で発生頻度が上がるようです。

ファンと温度の監視・制御

内蔵されている温度計は lm_sensors で読み込むことができます。

ファンの速度は i8kutils-gitAUR に入っている i8kctl で監視できます。サポートされているノートパソコンのリストに含まれていないため、force=1 モジュールオプションを使って i8k モジュールをロードする必要があります。カーネルモジュール#モジュールオプションを設定するを参照してください。ファンの速度を手動で制御することもできますが、ファームウェアの自動制御で使われる速度 (0rpm, 2500rpm, 3200rpm, 3700rpm, 4800rpm, 5100rpm) を全て選ぶことはできず、一部の速度にしか制御できません (0rpm, 2500rpm, 4800rpm)。ファンの手動制御は自己責任で行ってください。詳しくはファンスピード制御#BIOS によるファンスピード制御を無効化を参照。

Nvidia GPU の温度は nvidia-smi ユーティリティで確認できます。ユーティリティは nvidia-utils パッケージに含まれています。

省電力機能

ディスクリート GPU の無効化

ディスクリートの Nvidia GTX 1050 GPU はデフォルトで電源が入るようになっており、UEFI の設定では無効化できません。アイドル状態でも Nvidia GPU の消費電力 (約7W) は少なくありません。無効化するには bbswitchbumblebee をインストールしてから、カーネルパラメータacpi_rev_override=1 を追加してください。そして bumblebeed.service有効化して再起動してください (acpi_rev_override を認識させるのにファームウェアを二回再起動させる必要があります)。

以下のコマンドを実行することで状態を確認できます:

$ cat /proc/acpi/bbswitch

無効化されている場合、OFF と出力されます。

また、以下のコマンドを実行した場合:

$ dmesg | grep bbswitch

以下のように出力されるはずです:

[    4.253642] bbswitch: loading out-of-tree module taints kernel.
[    4.253833] bbswitch: version 0.8
[    4.254093] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[    4.254163] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP
[    4.254225] bbswitch: detected an Optimus _DSM function
[    4.254282] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
[    4.256651] bbswitch: disabling discrete graphics

汎用の省電力設定

省電力の一般的な設定を行うツールをインストールすると良いでしょう。電源管理#ユーザースペースツールを見てください。1.0 以前の TLP では PCIe の電源管理を有効にすると bbswitch が機能しなくなる ので注意してください。Nvidia GPU の PCIe 電源管理を無効にすることで解決できます。例えば TLP の場合、/etc/default/tlp を編集して RUNTIME_PM_BLACKLIST="01:00.0" を追加してください。tlp-gitAUR など最新の TLP では設定は不要です。また、pcie_port_pm=off カーネルパラメータを使うと全ての PCIe ランタイム電源管理が無効になります。

タッチスクリーンの無効化・自動サスペンド

UEFI の設定からタッチスクリーンを無効化することで消費電力を抑えることができます。タッチスクリーンが必要な場合、TLP の設定ファイルの USB_WHITELIST04f3:24a1 を追加することで TLP による自動サスペンドを使うことができます。使用するときだけタッチスクリーンが有効になり、バッテリーの消費量が少なくなります。

NVMe APST の有効化

カーネル 4.11 以前では Linux は NVMe APST をサポートしていないため、NVMe SSD は常に一番電力を消費するパワーステートになります。パッチを適用したカーネルを使用して、適切なパラメータを設定し APST を有効化することで、消費電力を大幅に下げることが可能です。ソリッドステートドライブ/NVMe#省電力 APST を見てください。ASPT を動作させるには nvme_core モジュールの default_ps_max_latency_us パラメータを調整する必要があります。

i915 カーネルモジュールの省電力機能

以下のオプションを i915 カーネルモジュールに指定することで消費電力を小さくすることができます:

enable_fbc=1 enable_psr=1 disable_power_well=0

ただし上記のパラメータによって HD matte ディスプレイの画面にちらつきが発生するという報告があります。カーネル 4.11 からはフレームバッファ圧縮 (enable_fbc=1) はデフォルトで有効になります。

Wifi と Bluetooth

Intel 8265 ワイヤレスカードが搭載された Precision 5520 の場合、iwlwifi カーネルモジュールの power_save オプションを 1 から 5 までの数値に設定できます。カーネルモジュール#モジュールオプションを設定するを参照してください。また、rfkill を使うことで Bluetooth と Wifi を別々に無効化できます。ワイヤレス設定#Rfkill によるブロックを見てください。

グラフィック

内蔵の Intel HD 630 GPU は特に設定をしなくても動作します。任意で xf86-video-intel をインストールして使うことができますが、カーネルに組み込まれているモードセッティングドライバーの方が信頼性が高いため推奨されません。ディスクリートの Nvidia GPU を使わない場合、設定は不要です。使用する場合、いくつか選択肢が存在します。ディスプレイ出力は内蔵 GPU に接続されているためディスクリート GPU から出力を設定する必要はありません。無効化したい場合、#省電力機能に書かれている説明のようにカスタムカーネルのコンパイルが必要です。

オープンソースドライバーと PRIME によるオフロード

デフォルトでは内蔵 GPU を使用して、GPU を必要とするアプリケーションだけ DRI_PRIME 環境変数でディスクリート GPU にオフロードします。詳しくは PRIME を見てください。オープンソースの Nvidia ドライバーである Nouveau は GTX 1050 など Pascal 世代 GPU の電源管理をサポートしていないため [2]、オープンソースドライバーを使用した場合は性能を最大限発揮できません。Nouveau#電源管理を参照してください。

Intel カードのみ

上の#ディスクリート GPU の無効化を見てください。

プロプライエタリドライバーと bumblebee

デフォルトでは内蔵 GPU を使用して、一部のアプリケーションだけ optirunprimusrun を使ってディスクリート GPU でレンダリングする構成です。詳しくは Bumblebee を見てください。垂直同期のサポートに問題があるため、ディスクリート GPU でレンダリングしたアプリケーションにティアリングが発生します。また、ディスクリート GPU と内蔵 GPU のデータの移動が非効率的でオーバーヘッドが存在します。それでも Nouveau よりもパフォーマンスは良くなります。最新安定版の Nvidia (378.13) では機能しませんが (dmesg に rmInitAdapterFailed と表示されます)、最新のベータ版ドライバー nvidia-betaAUR, nvidia-utils-betaAUR, lib32-nvidia-utils-betaAUR なら動作します。カスタムカーネルでベータ版を使うには DKMS 版の nvidia-beta-dkmsAUR パッケージを使用して utils パッケージとバージョンが合うように PKGBUILD を編集する必要があります。もしくは、長期間サポート版 (375.66) のパッケージも動作します (nvidia-llb-dkmsAUR, nvidia-utils-llbAUR, lib32-nvidia-utils-llbAUR)。

プロプライエタリドライバーと PRIME によるオフロード

あらゆるレンダリングでディスクリート GPU を使用して、内蔵 GPU はディスプレイ出力にのみ使用します。ディスクリート GPU が常に稼働するため負担がないときの電力消費は増大します。グラフィック性能を必要とするアプリケーションは Bumblebee よりもずっと良い動作をするようになり、PRIME Synchronization で垂直同期が機能するためティアリングは発生しません。bumblebee を削除して NVIDIA Optimus, Nvidia README, PRIME Synchronization スレッド の手順に従ってください。BusID は PCI:1:0:0 です。PRIME 同期を有効にしてちらつきを無くすには nvidia_drm カーネルモジュールに modeset=1 パラメータを追加してください (カーネルモジュール#モジュールオプションを設定するを参照)。最新安定版 (378.13) やベータ版 (381.09) には PRIME Synchronization を GTX 1050 で使うためのバグフィックスが含まれていないため、長期サポート版の Nvidia ドライバー (nvidia-llb-dkmsAUR, nvidia-utils-llbAUR, lib32-nvidia-utils-llbAUR) を使う必要があります [3]

タッチパッド

タッチパッドは特に設定をしなくても動作します。Synaptics 製のタッチパッドなので synclient を使って機能を確認したり設定を変更できます。

中ボタンの設定

タッチパッドには下部に大きなクリック領域が存在しますが、無効化したり 1, 2, 3 ボタンに設定することができます。例えば、タッチパッドの大部分を "button 1" として中央の下部ゾーン (中ボタン) と右の下部ゾーン (右ボタン) に分けたい場合、以下の内容で /etc/X11/xorg.conf.d/50-synaptics.conf を作成します:

Section "InputClass"
   Identifier "touchpad catchall"
   Driver "synaptics"
   MatchIsTouchpad "on"
   # enable clik zone and configure 3 buttons on bottom
   Option "ClickPad" "1"
   Option "SoftButtonAreas" "60% 0 82% 0 40% 60% 82% 0"
   # other commons options than you may want to configure
   # scroll with two fingers (enabled vertically, disabled horizontally)
   Option "VertTwoFingerScroll" "1"
   Option "HorizTwoFingerScroll" "0"
   # enable tap as click: 1 finger -> left button, 2 fingers -> right, 3 fingers -> middle
   Option "TapButton1" "1"
   Option "TapButton2" "3"
   Option "TapButton3" "2"
   # idem but for click with 1,2,3 fingers. Use "0" to disable. 
   Option "ClickFinger1" "1"
   Option "ClickFinger2" "3"
   Option "ClickFinger3" "2"
   # palm detection. These parameters somehow works, YMMV. 
   Option "PalmDetect" "1"
   Option "PalmMinWidth" "10"
   Option "PalmMinZ" "200"
EndSection

ファームウェアのアップデート

Dell によって提供されているファームウェアアップデートは fwupdate または fwupd パッケージでインストールできます。利用可能なファームウェアのバージョンは こちら からも確認できます。

または、MS-DOS 実行ファイルのファームウェアファイルを FAT32 でフォーマットされた USB メモリに (または EFI ブートパーティションに直接) コピーして、ブートメニューから "BIOS Flash Update" を起動することでもファームウェアアップデートはインストールできます。

指紋リーダー

搭載されている指紋リーダーは Validity/Synaptics 製のモデルで USB ID は 138a:0090 です。現時点では Linux ドライバーが存在しませんが、オープンソースの Linux ドライバーが Windows ドライバーをリバースエンジニアリングして開発されている途中です [4]

トラブルシューティング

Xorg が起動時にフリーズする

起動時にすぐログを出力せずに Xorg がフリーズする場合、NVIDIA のカードを無効化して Intel のカードを使っているときは、上記の#ディスクリート GPU の無効化に書かれているように acpi_rev_override=1 カーネルパラメータを追加してください。

ノート

サスペンドのファンクションキーはキーボードには印字されていませんが、Fn+Insert がそれにあたります。

参照