Dell XPS 13 (9350)

提供: ArchWiki
ナビゲーションに移動 検索に移動
ノート: このページでは XPS 13 の2016年前期モデルを扱っています。2016年の後期モデルについては Dell XPS 13 (9360) を見てください。

Dell XPS 13 2016 (9350) は XPS 13 の第三世代モデルです。Windows がインストールされた標準エディションと Broadcom WiFi カードが Intel WiFi カードに置き換えられて Ubuntu がインストールされたデベロッパーエディションがあります。旧モデル (Dell XPS 13 (9333)Dell XPS 13 (9343)) と同じように購入時にハードウェアの構成を多少変えられます。

XPS 13 に Arch をインストールする手順は他の PC の場合と同じです。インストールする方法はインストールガイドUEFI を見て下さい。このページでは Arch におけるハードウェアの対応状況と、インストール後の設定について扱います。

カーネル 4.3 から、Intel の Skylake アーキテクチャがサポートされています。

デバイス 状態 モジュール
ビデオ 動作 i915
ワイヤレス 動作 brcmfmac
Bluetooth ファームウェアのインストール後に動作 btbcm
オーディオ 動作 snd_hda_intel
タッチパッド 動作 ?
ウェブカメラ 動作 uvcvideo
カードリーダー 動作 rtsx_pci
無線スイッチ 動作 intel_hid
ファンクション・マルチメディアキー 動作 ?
TPM 1.2/2.0 動作 tpm

CABC

XPS 13 のディスプレイパネル (FHD と QHD+ の両方) にはパネルのフォームウェアに「コンテンツ適応輝度コントロール」 (大抵は CABC とか DBC と呼ばれます) が組み込まれています。画面上に表示されたコンテンツにあわせて画面の明るさを変えてくれる機能ですが、暗いコンテンツと明るいコンテンツを頻繁に切り替えるユーザーにとっては不快ともなります。Dell はフィックスを提供していますが QHD+ モデルの Windows でしか使用できないため Linux をインストールする前に対処が必要です。XPS 13 (9350) の FHD モデルではフィックスは適用できません。パネルの問題というわけではなく、どちらかといえば XPS 13 のパネルの設定の問題です。同じパネルが Dell の Latitude 13 7000 シリーズ (e7370) の FHD モデルで使われていますが CABC は無効になっています。フィックスは Dell から直接入手できます。

BIOS

Arch Linux をインストールする場合は "Secure Boot" を無効化したほうが簡単です (Secure Boot > Disable)。カーネルに自分で署名して有効なまま起動することもできます。詳しくはセキュアブートの記事を読んでください。

efivars が正しくセットされてない場合、おそらく UEFI で起動できていません。問題が解決しない場合は UEFI#UEFI 変数を見てください。

アップデート

BIOS アップデート 1.4.12 が2016年12月21日にリリースされています。アップデートバイナリを EFI パーティション (/boot/EFI) あるいは USB フラッシュドライブに保存して、再起動し、F12 ブートメニューから BIOS アップデートを選択してください。サスペンドからマシンが復帰しない場合はアップデートで治ることがあります。

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

Dell は Linux Vendor Firmware Service (LVFS) でファームウェアアップデートを提供しています。詳しくは Linux から BIOS を書き換える#fwupd を参照してください。fwupd パッケージで利用できます。

Thunderbolt 3 / USB 3.1

USB-C 端子は Thunderbolt 3, Displayport-over-USB-C, USB パワーデリバリ, USB 3.1 に対応しています。

デバイスが正しく動作しない場合、BIOS (上を参照) と Thunderbolt ファームウェア (下を参照) が最新バージョンにアップデートされていることを確認してください。

Thunderbolt 3 ファームウェアアップデート 2.16.01.003, A04 は2016年8月10日にリリースされました。BIOS アップデートとは異なり、新しい Windows 環境で実行する必要があるグラフィカルアプリケーションが存在します (MS-DOS では実行できません)。

USB-C 端子のホットプラグのサポートはカーネルバージョン 4.7 に含まれている バグフィックス が必要です。また、カーネルをビルドするときに CONFIG_PCI_HOTPLUG=y を使う必要があります。

外部ディスプレイ

USB-C から HDMI や mini Display Port に変換するアダプタを使用して外部ディスプレイに接続しても正しく動作しない場合があります。以下のような報告があがっています:

  • 一瞬画像が表示されてから黒画面になる。
  • 全く画像が表示されない。
  • 数分後にちらつきが発生して使い物にならない。

使用できるアダプタについては Arch フォーラムの投稿Dell フォーラムの投稿 を見てください。

SATA コントローラ

BIOS で SATA コントローラが RAID On に設定されている場合、ハードディスク (もしくは SSD) が認識されません。Arch をインストールする前に Off あるいは AHCI に設定してください (AHCI が推奨です)。

Linux と Windows のデュアルブート

RAID を無効化したときに Windows が INACCESSIBLE_BOOT_DEVICE エラーを出力しないようにするには、AHCI を利用する SATA ストレージコントローラを使用するように Windows を設定する必要があります (Linux をインストールするために AHCI を使用している場合)。ドライバーはインストールするだけでは有効になりません。以下の方法のどれかで再インストールすることなくドライバーを有効化できます (画一的な方法はありません):

詳しくは Microsoft のサポートページ を読んでください。Windows を再インストールするしかないと言っているところもありますが、それは嘘です。

NVM Express SSD

Cannot find root device

linux カーネルバージョン 4.3 と 4.4 の間で "NVM Express" SSD の nvme モジュールの場所が変更されました。起動時に "cannot find root device" と表示される場合、nvme モジュールが initramfs に存在しないのが原因 かもしれません。その場合、以下の設定で解決します。

/etc/mkinitcpio.conf ファイルを編集:

...
MODULES="... nvme"
...

ブートローダーをアップデート:

# mkinitcpio -p linux

linux は起動時にロードされるイメージの名前に置き換えてください。linux-mainlineAUR をインストールしている場合は linux-mainline になります。

マウントオプション

ソリッドステートドライブ#TRIMフォーラム に書かれているように discard マウントオプションを使用するのは推奨されていません。ソリッドステートドライブ/NVMe#Discard も参照。

NVME 省電力パッチ

Andy Lutomirski は Linux で NVMe デバイスの省電力機能を修正するパッチセットのバージョン 4 をリリースしています。現在のところ、パッチはまだメインラインにマージされていません。以下の AUR パッケージを使用してください。

  • Linux-nvme — Andy の NVME 省電力 APST パッチが含まれたメインラインの Linux カーネル。
https://github.com/damige/linux-nvme || linux-nvmeAUR[リンク切れ: パッケージが存在しません]

ワイヤレス

標準エディションに搭載されている Broadcom BCM4350 は最新の linux カーネルでサポートされています (バージョン 4.4.1-1 現在)。ワイヤレスモジュール brcmfmaclinux-firmware パッケージの brcmfmac4350-pcie.bin ファームウェアを必要とします。

Broadcom アダプタは規制範囲を報告しないため、デフォルトでは世界共通のチャネル・周波数設定が使われます。設定を変更する方法はワイヤレス設定#規制範囲を見てください。

Bluetooth

Intel WiFi

WiFi カードが Bluetooth をサポートしている場合、BT インターフェイスが使えるはずです。必要なファームウェアは linux-firmware に含まれています。

Broadcom Wifi

Bluetooth は問題なく動作します。btusbbluetooth モジュールをロードして bluetooth.service起動有効化してください。詳しくは Bluetooth を参照。

ワイヤレスヘッドセット

Bluetooth ヘッドセットの接続はできるのに音が流れないなどの問題が起こる場合、ファームウェアが必要です。

Broadcom Bluetooth ファームウェアはカーネルに含まれていない (2015年モデルと同一 [1]) ため、Windows の .exe からファームウェアを入手する必要があります。p7zip.exe ファイルを展開して (bluez-utils に含まれている) hex2hcd を使って .hcd ファイルに変換してください:

$ 7z x 9350_Network_Driver_XMJK7_WN32_12.0.1.720_A00.EXE
$ cp Win32/BCM4350C5_003.006.007.0095.1703.hex ./
$ hex2hcd BCM4350C5_003.006.007.0095.1703.hex
# mv BCM4350C5_003.006.007.0095.1703.hcd /lib/firmware/brcm/BCM-0a5c-6412.hcd

もしくは bcm4350-firmwareAUR をインストールしてください。

再起動後、Bluetooth インターフェイスのファームウェアが利用できるようになります。

ビデオ

最新の linux カーネルの i915 ドライバーでビデオチップは問題なく動作します。詳しい設定方法は Intel Graphics を、トラブルシューティングは Intel Graphics#トラブルシューティングを見てください。

起動後に画面が表示されない

遅延起動 KMS (デフォルト) を使っていてモジュールのロード時に画面が表示されなくなる場合、initramfs に i915intel_agp を追加したり、特殊なカーネルパラメータを使用することで解決する可能性があります。カーネルパラメータを使用する方法は Intel Graphics#起動中 "Loading modules" するときに画面がブラックアウトするを、initramfs にモジュールを設定する方法は カーネルモード設定#KMS の早期開始を見てください。

Linux カーネル 4.8 以上

警告: i915 モジュールの以下のオプションはカーネルを汚染します。自己責任で使ってください。

RC6

i915.enable_rc6=1 は安定して機能します。高い値に設定しても無視されます。このオプションで有効になる深い GPU の電源状態 (RC6p と RC6pp) は gen7+ ハードウェアには存在しません [2][3]

パネルセルフリフレッシュ

i915.enable_psr=1 でパッケージを効率的な C ステートにすることで優れた省電力機能を使うことができます。ただし、このオプションを使用すると頻繁にフリーズが発生します。オプションの値を 2 や 3 にした場合も同じような省電力効果は得られますがフリーズは発生しません [4]i915.disable_power_well=0i915.enable_psr=1 i915.enable_rc6=1 の組み合わせがおそらく PSR の安定設定です。

フレームバッファ圧縮

i915.enable_fbc=1 は安定しますがあまり消費電力を抑える効果はありません。

GuC

i915.enable_guc_loading=1 i915.enable_guc_submission=1GuC のロードを有効にできます。

Linux カーネル 4.3 以下

カーネル 4.3 以下を使っている場合、i915.preliminary_hw_support=1 カーネルパラメータが必要です。Intel Graphics#Skylake サポートを見てください (カーネル 4.3 以上や linux-bcm4350AUR[リンク切れ: パッケージが存在しません] を使っている場合はパラメータは不要です)。

Linux カーネル 4.5 以下

新しい i7-6560 CPU 付属の Iris 540 Graphics が搭載されている場合、カーネル 4.6 未満では GPU が数分間ごとにフリーズします。https://bugs.freedesktop.org/show_bug.cgi?id=94161 のバグが原因であり、Xorg の設定で DRI を無効化することでフリーズを減らせます:

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
	Identifier  "Intel Graphics"
	Driver      "intel"
	Option	    "DRI"	"false"
EndSection

あるいはカーネルのブートパラメータに i915.enable_rc6=0 を追加してください。

タッチパッド

設定前はキーの押下しか動作しません。xf86-input-libinput をインストールすることでマウスとして使えるようになり、タッチスクリーンも利用できるようになります。設定方法は libinput を見てください。「タップでクリック」などの機能はデスクトップ環境で設定できます。

代わりのドライバーとして xf86-input-synaptics をインストールすることもできますが、既にメンテナンスモードに入っているため xf86-input-libinput を使用することを推奨します。さらに、デスクトップ環境からタッチパッドを簡単に設定することができない可能性があります。また、X サーバーの再起動が必要です。

psmouse のエラー

タッチパッドは動作しているのに dmesg | grep -i psmouse でエラーが返ってくる場合、psmouse を無効化すると良いでしょう。まず設定ファイルを作成:

/etc/modprobe.d/modprobe.conf
blacklist psmouse

そしてファイルを /etc/mkinitcpio.conf に追加:

...
FILES="/etc/modprobe.d/modprobe.conf"
...

その後 initramfs を再生成してください (Mkinitcpio#イメージ作成とアクティベーションを参照)。

ジェスチャー

ジェスチャーの利用方法については libinput#ジェスチャーを見てください。

サウンド

ヘッドフォンでパチパチ/シュッとしたノイズが鳴る

ヘッドフォンを使用しているときにホワイトノイズが混じるという報告が複数存在します。ノイズを除去するには (alsa-utils に含まれている) alsamixer を起動してください。F6 でサウンドカードを選択してヘッドセットのゲイン (左から3番目) を22に設定してください。もしくは次の amixer コマンドを使ってください:

$ amixer -c 0 cset 'numid=10' 1
numid=10,iface=MIXER,name='Headphone Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0
  : values=1,1
  | dBscale-min=0.00dB,step=10.00dB,mute=0

残念ながら PulseAudio によってログイン・ログアウト時 (もしくは PulseAudio サービスを再起動した時) に上記の設定は上書きされてしまいます。alsa-restore.service が起動時に有効になっていても関係ありません。

この問題を回避するには、/usr/share/pulseaudio/alsa-mixer/paths/analog-input-headphone-mic.conf を編集して [Element Headphone Mic Boost] セクションをコメントアウトしてください:

---
#[Element Headphone Mic Boost]
#required-any = any
#switch = select
#volume = merge
#override-map.1 = all
#override-map.2 = all-left,all-right
---

同じく /usr/share/pulseaudio/alsa-mixer/paths/analog-input-internal-mic.conf でも同じセクションをコメントアウトしてください:

---
#[Element Headphone Mic Boost]
#switch = off
#volume = off
---

上記の設定を行うと PulseAudio からゲインの設定が全くされなくなります。

ノート: 上の設定は PulseAudio パッケージを更新するたびに行う必要があります。さらに、設定によって内蔵マイクが完全に無効化されます。

マイク

ノート: 全てのハードウェアに "Digital" チャンネルが存在するわけではありません。

ALS の場合、"Digital" チャンネルのボリュームを上げることでマイクが機能します。

TPM

搭載されている Trusted Platform Module (TPM) は Trusted Platform Module のページに書かれている方法で簡単に設定でき、特別な設定は不要です。TPM を使うなら tpm-toolsAURtrousersAUR などのパッケージが便利です。

TPM 2.0

Dell XPS 13 (9350) に最初搭載されていたのは TPM 1.2 で、TPM Standard バージョン 1.2 をサポートする TPM チップでした。しかしながら2017年1月6日に Dell からリリースされた ファームウェアアップデート (内部バージョン 1.3.1.0_V1) によって TPM チップは TPM Standard バージョン 2.0 の機能セットをサポートするようになります。残念ながら、執筆時点では Linux を使ったり BIOS を直接書き換えることでアップデートを適用する方法はありません。アップデートをインストールするには Windows OS を使うしかありません。USB ドライブで一時的に Windows 環境を起動して、アップデートを実行するのが一番簡単です。

警告: アップデートは一度適用したら戻すことができません。また、TPM のメモリと設定が完全に消去されます。
ノート: BIOS アップデートでは、ノートパソコンに電源ケーブルを接続して安定した状態にしてください。

アップデートをインストールするときは上記のファームウェアのアップデートページに書かれている手順に従ってください。TPM チップを消去・リセットしてアップデートを開始します。Linux でデバイスを使用する場合、"Disable TPM Auto Provisioning in Windows" セクションの最後の手順 11 と 12 はスキップできます。TPM を消去するだけであれば こちらのガイド に従って Windows から .exe ファイルを実行してください。

アップデートが完了したら、Linux カーネルは新しく設定された TPM デバイスを自動的に認識して、自動的に有効化します。TPM 2.0 対応となったチップを活用にするには tpm2.0-tss-gitAUR[リンク切れ: パッケージが存在しません]tpm2.0-tools-gitAUR[リンク切れ: パッケージが存在しません] パッケージをインストールしてください。起動時に TSS のリソースマネージャを機能させたい場合、こちら に便利な systemd サービスが存在します。

サスペンドから復帰した後に CPU が低速になる

サスペンドから復帰したときにコンピュータが非常に遅くなる場合、CPU 周波数が非常に低い値に絞られるバグが発現している可能異性があります。cpupower frequency-info を使用して確認してください。デバッグ情報や回避方法は フォーラムスレッド を読んでください。

lspci と lsusb

以下の lspcilsusb の出力結果を得た環境:

[    0.000000] DMI: Dell Inc. XPS 13 9350/0PWNCR, BIOS 1.3.3 03/01/2016

カーネル:

Linux marv 4.5.4-1-ARCH #1 SMP PREEMPT Wed May 11 22:21:28 CEST 2016 x86_64 GNU/Linux

lspci

00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 07)
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 08)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 9d10 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Device 9d18 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
3a:00.0 Network controller: Broadcom Corporation BCM4350 802.11ac Wireless Network Adapter (rev 08)
3b:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
3c:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01)

lspci -v の全ての出力

USB-C ハブを接続すると、新しい PCI デバイスが認識されます:

01:00.0 PCI bridge: Intel Corporation Device 1576
02:00.0 PCI bridge: Intel Corporation Device 1576
02:01.0 PCI bridge: Intel Corporation Device 1576
02:02.0 PCI bridge: Intel Corporation Device 1576
39:00.0 USB controller: Intel Corporation Device 15b5

lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0c45:670c Microdia 
Bus 001 Device 003: ID 04f3:20d0 Elan Microelectronics Corp. 
Bus 001 Device 002: ID 0a5c:6412 Broadcom Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lsusb -v の全ての出力

参照