Dell XPS 13 (9350)
Dell XPS 13 2016 (9350) は XPS 13 の第三世代モデルです。Windows がインストールされた標準エディションと Broadcom WiFi カードが Intel WiFi カードに置き換えられて Ubuntu がインストールされたデベロッパーエディションがあります。旧モデル (Dell XPS 13 (2015)) と同じように購入時にハードウェアの構成を多少変えられます。
XPS 13 に Arch をインストールする手順は他の PC の場合と同じです。インストールする方法はインストールガイドや UEFI を見て下さい。このページでは Arch におけるハードウェアの対応状況と、インストール後の設定について扱います。
カーネル 4.3 から、Intel の Skylake アーキテクチャがサポートされています。
デバイス | 状態 | モジュール |
ビデオ | 設定後に動作 | i915 |
ワイヤレス | 設定後に動作 | brcmfmac |
Bluetooth | ファームウェアのインストール後に動作 | btbcm |
オーディオ | 動作 | snd_hda_intel |
タッチパッド | 設定後に動作 | ? |
ウェブカメラ | 動作 | uvcvideo |
カードリーダー | 動作 | rtsx_pci |
無線スイッチ | 動作 | intel_hid |
ファンクション・マルチメディアキー | 動作 | ? |
目次
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
USB が認識されない
Arch Linux の USB が認識されないことがあります。セキュアブートを無効化 (Secure Boot > Disable) してレガシーブートを有効化 (General > Advanced Boot Options > Enable Legacy Option ROMs) してください。
UEFI システムが認識されない
BIOS UEFI が efivars を認識しないことがあります。その場合 BIOS オプションの General > Boot Sequence > Add Boot Option から efi ファイルを手動で追加してください。
アップデート
BIOS アップデート 1.4.4 が2016年6月30日にリリースされています。アップデートバイナリを EFI パーティション (/boot/EFI
) あるいは USB フラッシュドライブに保存して、再起動し、F12 ブートメニューから BIOS アップデートを選択してください。
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
を使う必要があります。
SATA コントローラ
BIOS で SATA コントローラが RAID On
に設定されている場合、ハードディスク (もしくは SSD) が認識されません。Arch をインストールする前に Off
あるいは AHCI
に設定してください (AHCI
が推奨です)。
Linux と Windows のデュアルブート
RAID
を無効化したときに Windows が INACCESSIBLE_BOOT_DEVICE
エラーを出力しないようにするには、AHCI
を利用する SATA ストレージコントローラを使用するように Windows を設定する必要があります (Linux をインストールするために AHCI
を使用している場合)。ドライバーはインストールするだけでは有効になりません。以下の方法のどれかで再インストールすることなくドライバーを有効化できます (画一的な方法はありません):
- セーフモードで起動してから通常モードに戻す
- Windows のデバイスマネージャで
Microsoft Storage Spaces Controller
を選択 - レジストリのエントリを修正
- 他のレジストリエントリを修正
詳しくは 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 も参照。
ワイヤレス
標準エディションに搭載されている Broadcom BCM4350 は最新の linux カーネルでサポートされています (バージョン 4.4.1-1 現在)。ワイヤレスモジュール brcmfmac
は linux-firmware パッケージの brcmfmac4350-pcie.bin
ファームウェアを必要とします。
Broadcom アダプタは規制範囲を報告しないため、デフォルトでは世界共通のチャネル・周波数設定が使われます。設定を変更する方法はワイヤレス設定#規制範囲を見てください。
Bluetooth
Intel WiFi
WiFi カードが Bluetooth をサポートしている場合、BT インターフェイスが使えるはずです。必要なファームウェアは linux-firmware に含まれています。
Broadcom Wifi
Bluetooth は問題なく動作します。btusb
と bluetooth
モジュールをロードして 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
再起動後、Bluetooth インターフェイスのファームウェアが利用できるようになります。
ビデオ
最新の linux カーネルの i915
ドライバーでビデオチップは問題なく動作します。詳しい設定方法は Intel Graphics を、トラブルシューティングは Intel Graphics#トラブルシューティングを見てください。
起動後に画面が表示されない
遅延起動 KMS (デフォルト) を使っていてモジュールのロード時に画面が表示されなくなる場合、initramfs に i915
と intel_agp
を追加したり、特殊なカーネルパラメータを使用することで解決する可能性があります。カーネルパラメータを使用する方法は Intel Graphics#起動中 "Loading modules" するときに画面がブラックアウトするを、initramfs にモジュールを設定する方法は Kernel Mode Setting#Early KMS start を見てください。
Linux カーネル 4.2 以下
カーネル 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 からゲインの設定が全くされなくなります。
音を鳴らしていないときに大きなポップノイズが発生する
tlp
などを使って sound_power_save をオフにしてください:
# nano /etc/default/tlp ... SOUND_POWER_SAVE_ON_BAT = 0 ...
マイク
ALS の場合、"Digital" チャンネルのボリュームを上げることでマイクが機能します。
サスペンドから復帰した後に CPU が低速になる
サスペンドから復帰したときにコンピュータが非常に遅くなる場合、CPU 周波数が非常に低い値に絞られるバグが発現している可能異性があります。cpupower frequency-info
を使用して確認してください。デバッグ情報や回避方法は フォーラムスレッド を読んでください。
lspci と lsusb
以下の lspci
と lsusb
の出力結果を得た環境:
[ 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)
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