跳转至内容

Dell XPS 13 (9350)

来自 ArchWiki
(重定向自 Dell XPS 13 (2016))

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

原因:硬件表中缺少 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)。但是,可以自行签名内核并启用安全启动。有关更多信息,请参阅 Secure Boot 文章。

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

固件

戴尔通过 Linux Vendor Firmware Service (LVFS) 提供固件更新。有关更多信息,请参阅 Flashing BIOS from Linux#fwupd。软件包 fwupd 随时可用。

或者,您可以手动更新,例如更新到 2020-10-06发布的 BIOS 更新 1.13.0,将更新二进制文件存储在 EFI 系统分区或 U 盘(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 软件。

或者,2018-04-05 发布了 Thunderbolt 3 固件更新 4.26.11.001, A08。与 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 端口适配器的外接显示器支持在极少数情况下可能无法正常工作。通常,插入屏幕后会显示以下任一情况:

  • 显示图像几毫秒后切换到黑屏;
  • 完全没有图像;
  • 几分钟后出现闪烁,导致基本无法使用。

在某些情况下,间歇性的外接显示器连接可能由 WiFi 干扰 9350 的 USB-C 端口引起——尤其是在笔记本合盖时。通过 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

对于 "NVM Express" SSD 的 nvme 模块位置在 linux 内核版本 4.3 和 4.4 之间发生了变化。如果您在启动时遇到 cannot find root device,可能是因为 nvme 模块未包含在 initramfs 中。在这种情况下,以下方法可能会解决您的问题:

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

然后重新生成 initramfs

无线

安装 linux-firmware 以获取所需的固件 brcmfmac4350-pcie.bin

Broadcom 网卡不会报告其 监管域,因此默认情况下会设置全局的信道和频率设置。

蓝牙

Intel WiFi

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

Broadcom Wifi

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

注意 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 工具禁用 BIOS 对风扇的控制,因为这与 i8k 冲突。您可能还希望 启用启动 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 选择您的声卡,并将 headset-gain 设置为 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 包更新时,您都必须进行相同的修改。此外,这将完全禁用内部麦克风。

麦克风

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

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

组合插孔没有音频输入

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

插入耳机后设备会被识别,但说话时没有音频输入。要解决此问题,您需要将 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 频率被限制在非常低值的 bug。使用 cpupower frequency-info 进行检查。如果是这样,请阅读 此论坛主题以获取调试信息和解决方法。

参见