Dell XPS 13 (9350)
| 硬件 | 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 之前,请将其设置为 Off 或 AHCI(推荐 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") ...
无线
Install linux-firmware to obtain the required firmware brcmfmac4350-pcie.bin.
Broadcom 适配器不报告其 监管域,因此默认情况下将设置全局的信道和频率设置。
蓝牙
Intel WiFi
如果您的 WiFi 卡支持蓝牙,那么蓝牙接口应该开箱即用,因为所需的固件已包含在 linux-firmware 中。
Broadcom Wifi
蓝牙应该可以立即工作。如果尚未加载,请加载 btusb 和 bluetooth 模块,然后 启动/启用 bluetooth.service。有关更多信息和配置选项,请参阅 蓝牙。
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 修改增益设置。
麦克风
对于 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-toolsAUR 和 trousersAUR。
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-gitAUR 和 tpm2-tools-gitAUR。要使 TSS 资源管理器在启动时正常工作,提供了一个方便的 systemd 服务,其变体在此 处 讨论。
CPU 恢复挂起后降速
如果您在恢复挂起后遇到电脑运行缓慢的问题,您可能遇到了一个错误,即 CPU 频率被限制在一个非常低的值。使用 cpupower frequency-info 进行检查。如果属实,请阅读 此论坛主题 以获取调试信息和解决方法。