跳转至内容

Dell XPS 13 (9370)

来自 ArchWiki

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

原因: 存根 (请在 Talk:Dell XPS 13 (9370) 讨论)
硬件 PCI/USB ID 是否工作?
GPU 8086:5917
Wi-Fi 168c:003e
蓝牙 0489:e0a2
音频 8086:9d71
触控板
摄像头 0bda:58f4
红外线
Thunderbolt 8086:15d3
指纹传感器1
读卡器 10ec:525a

Dell XPS 13 Early 2018 (9370) 是 XPS 13 系列的第五代型号。该笔记本电脑于 2018 年 1 月发布,提供预装 Windows 的标准版以及预装 Ubuntu 的开发者版。

  1. 开发者版/Linux 版本没有指纹识别器,取而代之的是带有电源指示灯的普通电源按钮。戴尔的 信息在此处

安装

可以通过在启动时按 F2 键来访问 UEFI 设置。

  • 将 SATA 模式从默认的 "RAID" 更改为 "AHCI"。这将允许 Linux 检测到 NVMe SSD。如果与现有的 Windows 安装双启动,更改后 Windows 将无法启动,但 无需重装即可修复此问题
  • 禁用 安全启动 以允许 Linux 启动。
  • 要从随附的 USB-C 转 USB-A 适配器连接的 USB 设备启动,您需要启用 Thunderbolt 启动。启用后,启动时按 F12 将进入引导菜单。也可以直接使用右侧的 USB-C 端口,无需任何 UEFI 调整。

只要在 UEFI 设置中同时启用 SD 卡和 SD 卡启动,就可以从 micro SD 卡启动和安装。

dell-command-configureAUR 可用于在无需重启进入 UEFI 菜单的情况下修改设置。例如,配置电池在充满 75% 时停止充电,并在电量降至 60% 时才重新开始充电

# cctk --PrimaryBattChargeCfg=Custom:60-75

固件

戴尔通过 Linux 供应商固件服务 (LVFS) 提供固件更新。有关更多信息,请参阅 从 Linux 刷新 BIOS#fwupdfwupd 软件包已准备就绪。还提供了 Thunderbolt 控制器的更新。 存在一个问题,即在重新刷新后,Thunderbolt 版本号被检测为 00.00 (目前正在调查中)。

或者,对于 BIOS 更新,您可以简单地将戴尔支持页面上的 .exe 文件复制到任何 FAT32 驱动器(甚至启动分区似乎也可以)。然后通过在启动时按 F12 键进入“BIOS 闪存更新”(BIOS Flash Update)实用程序。

戴尔还发布了 SSD 固件更新,但这些只能在 Windows 下更新,而不能在 Linux 下更新。

显示

enable_psr=1 内核参数在触摸屏型号上似乎无法正常工作。

如果无法调整背光亮度,请将 i915.enable_dpcd_backlight=0 添加为内核参数。

内容自适应亮度控制

XPS 13 的显示面板(FHD 和 4K UHD)默认启用了内容自适应亮度控制(通常称为 CABC 或 DBC,有时也称为 "EcoPower")。虽然在早期型号上禁用此功能需要刷新显示固件,但在最近的 BIOS 版本中,DBC 可以在 "Video" 部分禁用。要测试 DBS 是否已启用,请访问此 测试页面

存储

固件

NVMe SSD 为 Toshiba KXG50ZNV256G、KXG50ZNV512G 或 KXG50ZNV1T02。库存固件版本 AADA4102 在 SSD 进入最低功耗状态时存在严重问题。这会导致设备无响应(内核抱怨只读文件系统)。问题可能随时发生,但在内核 4.18 下,电池供电时问题似乎变得更加普遍。固件版本 AADA4107 似乎可以解决此问题。该固件仅适用于 Windows,但 可以自行在 Linux 下更新

注意 在某些设备上,NVMe SSD 可能是 SK hynix EJ82N00301190264W (1TB),而不是 Toshiba 的。

由于升级只能在 Windows 下进行,并且即使升级了驱动程序,由于 SSD 在最深层睡眠模式下无响应,磁盘也可能完全不被内核检测到,因此以下 内核参数 可作为一种变通方法,防止磁盘进入有问题的睡眠模式(参见 固态硬盘/NVMe)。

nvme_core.default_ps_max_latency_us=6000

性能

当创建任何类型的大文件或进行数据交换时,如果系统变得无响应,您可能需要通过添加 内核参数 libata.force=noncq 来禁用原生命令队列 (Native Command Queuing)。

外设

键盘

键盘背光有一个功能,可以在给定超时后自动关闭。可以通过写入 /sys/class/leds/dell\:\:kbd_backlight/stop_timeout 来调整此超时。例如,

# echo "5m" > /sys/class/leds/dell\:\:kbd_backlight/stop_timeout

这将设置超时为 5 分钟。请注意,在连接 AC 电源和电池供电时,会维持不同的超时设置。

触控板

触摸板是基本的 Synaptics PS/2 设备。

光标跳动

触摸板有时会产生 "光标跳动"。有时 libinput 会检测到并进行规避,从而产生类似的 journal 条目

libinput error: event12 - DELL07E6:00 06CB:76AF Touchpad: kernel bug: Touch jump detected and discarded.

这是一个 libinput 错误,结论是这很可能是硬件问题或内核驱动程序中的 bug。

灵敏度

默认情况下,libinput 驱动程序的灵敏度可能不尽如人意。可以使用 xinput 按如下方式更改加速度

$ xinput --set-prop $(xinput | grep 'DELL.*Touchpad' | awk '{print $6}' | sed 's/id=//g') 'libinput Accel Speed' 0.5

摄像头

如果网络摄像头在进入深度睡眠后 无法工作,您需要 更新 BIOS 到版本 1.5.1 或更高版本。一些用户报告了网络摄像头卡在 640x480 的问题。

红外摄像头

红外摄像头可以作为身份验证方法使用 howdy

警告 正如 howdy 文档中所述,“请勿将 HOWDY 作为您系统的唯一身份验证方法”。

指纹识别器

指纹识别器不支持。有一个 libfprint 功能请求

音频

内置音频的报告参差不齐。据传闻,内置音频通常可以正常工作(上次测试于 6.8.1-arch1-1),但其他用户报告了以下问题。

内置音频在大约 2020 年之前工作正常,但由于内核 bug、固件/UEFI 问题或两者兼有,自从内核 5.4 开始 不再工作。

内置声卡在随机情况下工作的可能性很低,大约每几十次启动一次。指示性消息(供搜索引擎查找)

journalctl -k -b
snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
hdaudio hdaudioC0D0: no AFG or MFG node found
hdaudio hdaudioC0D2: no AFG or MFG node found
hdaudio hdaudioC2D0: no AFG or MFG node found
hdaudio hdaudioC2D2: no AFG or MFG node found
snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x200f0000
snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x200f0000
snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x200f0000
snd_hda_intel 0000:00:1f.3: no codecs initialized

截至 2022 年 9 月,似乎没有已知的解决方法(除了蓝牙耳机或扩展坞中的 USB 声卡)。

连接性

蓝牙

蓝牙适配器在从暂停恢复后有时会变得不可用,甚至在热启动后也保持停用和不可见状态。2018 年 10 月底,戴尔宣布了一个内核补丁。然而,对于至少一些用户来说,问题似乎仍未解决。

一个快速的变通方法是在暂停前 rmmod btusb,并在恢复后 modprobe btusb。要做到这一点,您可以在 /lib/systemd/system-sleep/ 中放置一个任意名称的可执行脚本。

#!/bin/sh
if [ "$1" 1 "pre" ]; then
  systemctl stop bluetooth && rmmod btusb
elif [ "$1" 1 "post" ]; then
  modprobe btusb && systemctl start bluetooth
fi

确保它是 可执行的。此变通方法的功劳归于 Cyrus Lien

Wi-Fi

Wi-Fi 适配器包含一个 Qualcomm Atheros QCA6174 模块。它应该在最新的 linux 内核中与 ath10k_pci 驱动程序开箱即用。

对于任何 Wi-Fi 问题,戴尔提供了 指南 来安装最新的 Killer 无线驱动程序。

USB Type-C 端口

9370 只有三个 Type-C 端口(没有其他端口,只有一个音频插孔)。其中两个(在左侧)支持 Thunderbolt 3。没有电源插孔。包装盒中包含一个 45W USB Type-C 充电器。三个 Type-C 端口中的任何一个都可以用于充电。由于笔记本电脑没有 USB-A 端口,因此包含一个戴尔品牌的 Type-C 转 A 适配器。

所有三个 Type-C 端口都支持 DisplayPort 交替模式。这由固件处理,因此即使是早期不支持它的内核也能工作。对于操作系统来说,这看起来就像笔记本电脑有两个 DisplayPort 连接器(除了内部屏幕使用的嵌入式 DP)。到目前为止,已测试了以下适配器。所有这些适配器都会在操作系统中显示为连接到 DP 连接器之一。

电源

省电

要节省更多电池,请使用 TLP 软件包和/或 Powertop

您可以使用 s-tui 工具监控您的机器的功耗和温度。

要最大限度地减少 GPU 的功耗,请确保 i915 正确加载了固件,如 Intel 显卡#启用 GuC / HuC 固件加载中所述。

默认情况下,Intel Turbo 模式在电池供电时似乎被禁用以节省电力。如果不需要,TLP 可以配置为在电池供电时重新启用 Turbo,但并不总是成功。解决方法是使用 acpid 来检测交流适配器断开连接,并在短延迟后通过 添加以下内容来重新触发 TLP

/etc/acpi/handler.sh
...
     ac_adapter)
       case "$2" in
           ACPI0003*|AC|ACAD|ADP0)
               case "$4" in
                   00000000)
                       logger 'AC unplugged'
                       sleep 2
                       tlp true
                       ;;
                   00000001)
                       logger 'AC plugged'
                       sleep 2
                       tlp false
                       ;;
               esac
               ;;
           *)
               logger "ACPI action undefined: $2"
               ;;
       esac
...

睡眠

请参阅 电源管理/挂起和休眠#更改挂起方法

根据制造商(参见 此上游内核 bug),该机器故意使用 S2 而不是 S3,并且他们正在努力修复 S2 的功耗问题。

注意 在旧的 BIOS 和/或内核版本中 无法使用电源按钮从睡眠中唤醒笔记本电脑。在这种情况下,睡眠按钮(Fn+End,或者如果启用了 "Fn 锁定" 则为 End)仍然可以唤醒机器。这已通过 BIOS 更新修复。

热节流

默认情况下,热节流在约 80°C 时激活,导致最大持续 CPU 频率约为 2.4Ghz,远低于戴尔标准 Windows 安装中的频率。

Package temperature above threshold, cpu clock throttled (total events = 971)

可以使用 throttledintel-undervolt 来解决此问题,两者都可以用于设置更高的触发温度。两者也可以用于 降压 以进一步减少节流,但系统固件版本高于 1.12.1 似乎会禁用此功能

散热模式 / 风扇配置文件

就像在 Windows 中使用 Dell Power Manager 一样,您可以设置机器的风扇和 CPU 的散热配置和行为。这可以使用 smbios-thermal-ctl(1) 来完成。

  • "Quiet" 和 "Cool Bottom" 配置文件将 CPU 功耗限制为 11W (18W 提升),从而降低了整体系统性能。
  • "Balanced" 和 "Performance" 配置文件取消了此限制。
  • 散热配置文件更改可能无法可靠地改变 CPU 功耗限制。通过 Thunderbolt 扩展坞连接时,情况似乎更糟。
  • 在某些情况下,启动后(特别是使用 "Quiet" 配置文件时),功耗可能会被限制在 10W。
  • 断开并重新连接电源、更改散热配置文件或只是等待可能可以解决这些问题。

为了更精细地控制风扇,可以使用 i8kutils 来指定风扇启动的温度。这可能会与 BIOS 风扇控制冲突,而 BIOS 风扇控制可以使用 dell-bios-fan-control-gitAUR 禁用。

功能键

出于某种原因,许多 Fn 组合会产生 XF86Launch3

按键 可见?1 有标记?2 效果
Fn+Esc 启用 Fn 锁定
Fn+F1 XF86AudioMute
Fn+F2 XF86AudioLowerVolume
Fn+F3 XF86AudioRaiseVolume
Fn+F4 XF86AudioPrev
Fn+F5 XF86AudioPlay
Fn+F6 XF86AudioNext
Fn+F7 Meta_L + Tab
Fn+F8 Meta_L + P
Fn+F9 XF86Search
Fn+F10 切换键盘背光
Fn+F11 Print
Fn+F12 Insert
Fn+Home XF86RFKill3
Fn+End XF86Sleep
Fn+Super_L Super_R
Fn+Ctrl_R Menu
Fn+Up XF86MonBrightnessUp
Fn+Down XF86MonBrightnessDown
Fn+Q XF86Launch3
Fn+W XF86Launch3
Fn+E XF86Launch3
Fn+R Print
Fn+A XF86Launch3
Fn+S Scroll_Lock
Fn+D XF86Launch3
Fn+F XF86Launch3
Fn+G XF86Launch3
Fn+B Pause
  1. 通过 wev 和类似工具可以看到按键
  2. 物理按键上有符号,描述了它的功能
  3. 默认由 systemd-logind 处理