跳转至内容

Dell XPS 13 (9350)

来自 ArchWiki

本文或章节未遵循 笔记本电脑页面指南

原因: 硬件表中缺少 ID,缺少无障碍和“功能键”部分。(请在 Talk:Dell XPS 13 (9350) 讨论)
注意 本页指的是 2016 年初的 XPS 13 型号。2016 年末的型号请参阅 Dell XPS 13 (9360),2024 年末的型号请参阅 Dell XPS 13 (9350) 2024
硬件 PCI/USB ID 是否工作?
GPU
无线
蓝牙
音频
触控板
摄像头
读卡器
TPM 1.2/2.0

Dell XPS 13 2016 (9350) 是 XPS 13 系列的第三代型号。该笔记本电脑提供标准版(预装 Windows)和开发者版(仅在预装 Ubuntu 和将 Broadcom WiFi 卡替换为 Intel WiFi 卡方面有所不同)。与旧版本(Dell XPS 13 (9333)Dell XPS 13 (9343))一样,它可以以不同的硬件配置购买。

在 XPS 13 上安装 Arch 的过程与安装在任何其他 PC 上没有区别。有关安装帮助,请参阅 安装指南UEFI。本文档涵盖了 Arch 上硬件支持的当前状态以及安装后的建议。

内容自适应亮度控制

在 XPS 13 中,显示面板(FHD 和 QHD+)在固件中内置了自适应亮度功能,这种“内容自适应亮度控制”(通常称为 CABC 或 DBC)会根据屏幕上显示的内容调整屏幕亮度,这通常是用户不希望看到的,尤其是对于可能在深色和浅色屏幕内容之间切换的 Linux 用户。戴尔已经为此发布了一个修复程序,但它只能在 Windows 中运行,并且仅适用于该笔记本电脑的 QHD+ 型号,因此在安装 Linux 之前应采取此预防措施,XPS 13 (9350) 的 FHD 型号无法修复。这不是面板的问题,而是面板在 XPS 13 上配置方式的问题,因为戴尔 Latitude 13 7000 系列(e7370)FHD 型号使用了相同的面板,但禁用了 CABC。修复程序可直接从 Dell 获取。

安装

安装 Arch Linux 最方便的方法是禁用“安全启动”(Secure Boot > Disable)。但是,您也可以自行签名内核并启用它。有关更多信息,请参阅 安全启动 文章。

如果您的 efivars 未正确设置,最可能的原因是您未在 UEFI 模式下启动。如果问题仍然存在,请务必查阅 UEFI#UEFI 变量 部分。

固件

戴尔通过 Linux 供应商固件服务 (LVFS) 提供固件更新。有关更多信息,请参阅 Flashing BIOS from Linux#fwupd。可以在 fwupd 包中找到该软件包。

或者,您可以手动更新,例如更新到 2020-10-06 发布的一个 BIOS 更新 1.13.0:将更新二进制文件存储在 EFI 系统分区 或 USB 闪存驱动器(FAT32)上,然后重新启动,并在 F12 启动菜单中选择“BIOS Update”。这也有助于解决您的机器在挂起后无法恢复的问题。

Thunderbolt 3 / USB 3.1

USB-C 端口支持 Thunderbolt 3、Displayport-over-USB-C 和 USB 供电,以及 USB 3.1。

如果设备无法正常工作,请确保您已更新到最新的 BIOS(上方)和 Thunderbolt 固件(下方)。

戴尔正在开发一个 fwupd 扩展(github 仓库),允许从 Linux 更新 Thunderbolt 软件。

或者,Thunderbolt 3 固件更新 4.26.11.001, A08 已于 2018-04-05 发布。与 BIOS 更新和 Thunderbolt-nvm Linux 更新不同,这是一个图形应用程序,必须在现代 Windows 环境(MS-DOS 不支持)中运行,或者您可以尝试以下(风险自担的)过程。

在没有 fwupd 或 Windows 的情况下进行 Thunderbolt 固件更新

Thunderbolt 更新比 UEFI 更新要复杂一些。以下内容是在内核 4.16.13 上测试的。您需要下载 Thunderbolt 更新可执行文件,然后从中提取文件。

$ 7z x Intel_TBT3_FW_UPDATE_NVM26_FJJK7_A08_4.26.11.001.exe

如果您没有连接任何 Thunderbolt 设备,则需要强制开启控制器。

# echo 1 > /sys/devices/platform/PNP0C14:00/wmi_bus/wmi_bus-PNP0C14:00/*/force_power

检查控制器的当前固件版本

# cat /sys/bus/thunderbolt/devices/0-0/nvm_version

然后将文件复制到控制器的内存中并进行身份验证。

# dd if=Intel/0x0704_secure.bin of=/sys/bus/thunderbolt/devices/0-0/nvm_non_active0/nvmem
# echo 1 > /sys/bus/thunderbolt/devices/0-0/nvm_authenticate

系统可能会挂起几秒钟,稍后,如果您再次读取 nvm_version,它应该会显示新的版本号。

外接显示器

应用较新的 BIOS 和 Thunderbolt 固件版本后,外接显示器工作正常,例如,与外接扩展坞 Dell WD15 完全兼容。

使用 USB-C 转 HDMI 或 USB-C 转 Mini Display 端口适配器连接外接显示器在极少数情况下可能无法正常工作。通常,当插入屏幕时,它会被报告为

  • 显示几毫秒图像然后切换到黑屏;
  • 完全没有图像;
  • 几分钟后闪烁,以至于基本无法使用。

在某些情况下,间歇性的外接显示器连接可能由 9350 的 USB-C 端口与 WiFi 干扰引起——尤其是在盖子关闭时。通过 iw 或 iwconfig 降低 WiFi 功率可能可以实现稳定的外接显示器连接。

有关工作正常的适配器和 Dell 论坛条目 的详尽讨论,请参阅 相应的 Arch 论坛条目

SATA 控制器

当 BIOS 中的 SATA 控制器设置为 RAID On 时,无法识别硬盘(至少是 SSD)。在尝试安装 Arch 之前,请将其设置为 OffAHCI(推荐 AHCI)。

双启动 Linux 和 Windows

为了在禁用 RAID 的情况下正常启动 Windows 而不出现 INACCESSIBLE_BOOT_DEVICE 错误,您必须将 Windows 配置为使用 AHCI 兼容的 SATA 存储控制器,前提是您在安装 Linux 时使用了 AHCI。驱动程序实际上已被禁用,即使它已安装。以下任一方法据报告都可以激活驱动程序而无需重新安装(您的体验可能有所不同)

有关更多信息,请参阅 Microsoft 支持页面。请注意,一些制造商认为重新安装 Windows 是唯一的解决方案,但事实并非如此。

NVMe SSD

linux 内核版本 4.3 和 4.4 之间,“NVMe”SSD 的 nvme 模块位置发生了变化。如果您在启动时遇到 无法找到根设备 的错误,可能是由于 nvme 模块未包含在 initramfs 中。在这种情况下,以下方法可能可以解决您的问题:

/etc/mkinitcpio.conf
...
MODULES=(... "nvme")
...

然后重新生成 initramfs

无线

Install linux-firmware to obtain the required firmware brcmfmac4350-pcie.bin.

Broadcom 适配器不报告其 监管域,因此默认情况下将设置全局的信道和频率设置。

蓝牙

Intel WiFi

如果您的 WiFi 卡支持蓝牙,那么蓝牙接口应该开箱即用,因为所需的固件已包含在 linux-firmware 中。

Broadcom Wifi

蓝牙应该可以立即工作。如果尚未加载,请加载 btusbbluetooth 模块,然后 启动/启用 bluetooth.service。有关更多信息和配置选项,请参阅 蓝牙

注意 Broadcom brcmfmac 内核模块会导致 Dell USB-C 扩展坞出现问题。特别是,当 WiFi 连接出现问题时,USB 端口和以太网连接将停止工作。

无线耳机:奇怪的蓝牙行为

如果您的蓝牙行为不稳定,例如连接丢失、声音卡顿、可以连接但无法通过它听声音等,您可能需要专有固件。

Broadcom 蓝牙固件不在内核中(与 2015 年型号相同 来源),因此您需要从 Windows .exe 文件中获取。您需要使用 7zip 提取 .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

重新启动后,固件应可用于您的蓝牙接口。

视频

视频应能使用当前 linux 内核的 i915 驱动程序正常工作。有关详细的安装和配置指南以及 故障排除,请参阅 Intel graphics

省电

警告 i915 模块的以下选项会污染内核,请自行承担风险!

RC6

i915.enable_rc6=1 似乎是稳定的,将其设置为大于 1 的数字将被忽略。此选项启用的更深层的 GPU 电源状态(RC6p 和 RC6pp)在 gen7+ 硬件上不存在。[1][2]

面板自刷新

i915.enable_psr=1 通过让软件包更长时间地处于更高效的 C 状态,实现了非常好的省电效果。然而,用户会相当频繁地遇到几秒钟的冻结问题,将值设置为 2 或 3 可能会带来类似的省电效果,但没有冻结。i915.disable_power_well=0 结合 i915.enable_psr=1 i915.enable_rc6=1 似乎也是 PSR 的稳定配置。

帧缓冲压缩

i915.enable_fbc=1 是稳定的,但似乎没有带来显著的省电效果。

GuC

使用 i915.enable_guc_loading=1 i915.enable_guc_submission=1 加载 GuC 似乎也是稳定的。

电源 management

风扇

风扇即使在低温下也可能保持运转,消耗电池并产生令人不愉快的噪音,只有在重启时才会停止。这是因为风扇默认由 BIOS 控制。

要阻止这种行为,请按照 Fan speed control#Dell laptops 中的描述配置 i8k,并使用 dell-bios-fan-control-gitAUR 工具禁用与 i8k 冲突的 BIOS 风扇控制。您可能还想 启用启动 dell-bios-fan-control.service 服务,以确保在启动时禁用 BIOS 风扇控制。

如果安装了 i8kutils,它将显示风扇速度和温度传感器,使用

$ watch sensors

触控板

默认情况下,只有按键才有效。安装 xf86-input-libinput 对于正确的鼠标支持已足够,它还处理触摸屏——有关配置,请参阅 libinput。诸如点击即点选等功能通常可以在 桌面环境 中进行调整。

或者,您也可以安装 xf86-input-synaptics 作为驱动程序,但“它处于维护模式,并且 xf86-input-libinput 必须优于它”(来自软件包本身的安装说明)。此外,它可能无法在您的 桌面环境 中轻松进行调整。可能需要重启 X 服务器。

从 dmesg 中移除 psmouse 错误

如果作为 root 运行 dmesg | grep -i psmouse 返回错误,但您的触摸板仍然可用,那么禁用 psmouse 可能是一个好主意。首先 创建

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

然后将其添加到

/etc/mkinitcpio.conf
...
FILES=("/etc/modprobe.d/modprobe.conf")
...

最后,重新生成 initramfs

手势

有关当前开发状态和可用方法的信息,请参阅 libinput#Gestures

键盘

默认情况下,键盘背光会在 10 秒无活动后关闭。一些用户可能会觉得这个时间太短而感到恼火。自 BIOS 更新 1.40 以来,可以通过写入 /sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/stop_timeout 来调整此超时,与其他 Dell XPS 笔记本电脑一样。

声音

使用耳机时有线圈杂音

当使用 TLP 且音频未播放但耳机已插入时,您可能会在电脑使用时听到极其烦人的啸叫声。这发生在音频适配器省电功能启用后。默认情况下,TLP 将电池上的超时设置为 1 秒,这会导致在声音暂停后很快出现啸叫。为解决此问题,您可以编辑 /etc/default/tlp 来设置更高的超时值或禁用它。

SOUND_POWER_SAVE_ON_AC=300
SOUND_POWER_SAVE_ON_BAT=300

使用耳机时有高噪声底

有些人报告使用耳机时有白色嘶嘶声/噼啪声。要摆脱它们,您可以从 alsa-utils 运行 alsamixer。使用 F6 选择您的声卡,并将耳机增益设置为 22(从左数第三个杠)或使用 amixer(1) 命令。

$ 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 包更新时,您都必须进行相同的修改。此外,这将完全禁用内置麦克风。

麦克风

注意 并非所有硬件都有“数字”通道。

对于 ALSA,请增加麦克风的“数字”通道以使其正常工作。

组合插孔没有音频输入

注意 这可能仅适用于开发者版。

当您插入耳机时,设备会被识别,但当您对着麦克风说话时没有音频输入。要解决此问题,您必须将 model=auto 传递给 snd-hda-intel 内核模块。您可以通过一个替换文件来实现此目的:

/etc/modprobe.d/fix-audio-input.conf
options snd-hda-intel model=auto

TPM

按原样,信任平台模块(TPM)可以按照 Trusted Platform Module 中的步骤轻松配置,并且不需要其他特殊配置。用于 TPM 的便捷软件包包括 tpm-toolsAURtrousersAUR

TPM 2.0

最初,Dell XPS 13 (9350) 出厂时配备 TPM 1.2 - TPM 芯片配置为支持 TPM 标准 1.2 版本。然而,戴尔发布了一个 固件更新(内部版本 1.3.2.8,A02)用于 TPM 芯片,将其转换为支持 TPM 标准 2.0 版本的功能集。不幸的是,目前该更新无法通过 Linux 或 BIOS 的直接刷新功能进行应用。安装它的唯一方法似乎是通过运行的 Windows OS 进行应用。最简单的方法是在 USB 驱动器上运行一个临时的 Windows 安装,然后从中启动并运行更新。

  • 需要注意的是,此更新是可逆的(即,通过使用 固件更新 回到 TPM 1.2)。它还需要完全清除 TPM 内存和配置。
  • 与 BIOS 更新一样,请确保笔记本电脑已连接到电源,并且该电源是稳定的。

要安装更新,您可以按照上述固件更新页面上的说明清除并重置 TPM 芯片并启动更新。打算以后在 Linux 中使用该设备的用户可以跳过“在 Windows 中禁用 TPM 自动配置”部分中的最后两步(11 和 12)。另一种选择是按照 此指南 清除 TPM,然后在 Windows 中运行 .exe 文件。

更新成功后,Linux 内核应自动识别新配置的 TPM 设备并在下次启动时自动启用它。为了利用现在已成为 TPM 2.0 的芯片,安装一些软件包是值得的——tpm2-tss-gitAURtpm2-tools-gitAUR。要使 TSS 资源管理器在启动时正常工作,提供了一个方便的 systemd 服务,其变体在此 讨论。

CPU 恢复挂起后降速

如果您在恢复挂起后遇到电脑运行缓慢的问题,您可能遇到了一个错误,即 CPU 频率被限制在一个非常低的值。使用 cpupower frequency-info 进行检查。如果属实,请阅读 此论坛主题 以获取调试信息和解决方法。

参见