Dell XPS 15

出自 ArchWiki

本文或章节建议与 Laptop/Dell#XPS 合并。

注释: 此页面当前重复了 Dell XPS 15 (9550) 的很大一部分内容,但实际上更旧,最初是为 2011 年型号创建的。应仔细比较各章节与 Dell XPS 后续型号,如果目标页面上尚不存在,则合并,然后该页面可能更适合作为重定向。(在 Talk:Dell XPS 15 中讨论)

此页面正在施工中!更多信息即将推出。

本文或章节不符合 笔记本电脑页面指南

原因: 硬件表需要添加 ID,标题混乱(在 Talk:Dell XPS 15 中讨论)
硬件 PCI/USB ID 工作状态?
以太网
无线网络
音频
蓝牙
触摸板
GPU 部分正常
摄像头

XPS 9550 和 Precision 5510 之间的区别

Precision 5510 本质上与 XPS 9550 变体相同,除了 Intel 无线网卡和 Quadro 1000M 显卡芯片。相比 9550 的 Broadcom 网卡和 960M 显卡芯片。

XPS 15 9560 和 “2017 年初” 修订版

版本 9560 (2016 年和 2017 年) 有专门页面(特别是视频相关问题故障排除)。

系统设置

电源管理

对于 Sandy Bridge 型号 (L502X):挂起工作正常;休眠不正常(它卡在文本模式下的闪烁光标上,甚至不切换视频模式)。

如果休眠/恢复失败,或不能持续工作,请尝试以下每项

  • 创建以下配置文件 (来源)
/etc/systemd/sleep.conf
[Sleep]
HibernateState=disk
HibernateMode=shutdown

声音

本文或章节需要改进语言、wiki 语法或样式。请参阅 Help:Style 以供参考。

原因: 不符合 Help:Style(未使用提示符,未使用内联代码,缩写等)(在 Talk:Dell XPS 15 中讨论)

对于 XPS 9550 变体,声音在 linux 内核中开箱即用。如果您尝试插入耳机,您将听不到来自耳机的任何输出。重新启动后,您将收到一个 虚拟输出 作为您的声卡。

dmesg 给您此输出

snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0
snd_hda_intel 0000:00:1f.3: no codecs found!

如果 Arch 可以检测到您的声卡,aplay -l 应该给您此输出

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

如果 Arch 无法检测到您的声卡,aplay -l 将给您此输出

aplay: device_list:268: no soundcards found...

您可能会在几次重启后恢复声音。这是一个错误,已在此处记录:FS#49157

解决方法

  • 安装 alsa-utils 并运行 hdajackretask,只需切换下拉菜单即可。
  • 挂起并恢复您的计算机 (谢谢 spheenik)
  • 重启您的计算机
  • 禁用声音 BIOS,启动进入 Arch,在 BIOS 中启用声音,启动 Arch 并恢复声音
  • 通过 USB 连接外置声卡

无论如何,目前建议您不要/减少热插拔耳机,因为它会使 ALSA/PulseAudio 崩溃/非常不稳定。

麦克风

注意: 这可能仅适用于 9560 变体

XPS 15 提供用于音频输入和输出的组合插孔。

组合插孔无音频输入

耳机可能仅被识别为耳机。将 model=auto 传递给 snd-hda-intel 内核模块可以解决此问题。这可以通过创建来完成

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

显卡

默认情况下,Intel 和 NVidia 显卡都处于活动状态,这会消耗大量电量。使用下面的仅 Intel 设置,您可以通过禁用 Nvidia 显卡来减少电池使用量。Intel 和 Nvidia 设置描述了如何利用两张显卡并使用 Bumblebee 节省电量。另请参阅 混合显卡

仅 Intel 显卡

如果您的型号配备了您不使用的 nVidia 显卡,您可以尝试使用 ACPI 命令禁用它。根据型号,这对笔记本电脑的温度和电池寿命有小到显著的影响(它可以使电池寿命增加一倍以上!)

  • 为了确保 nVidia 模块不会加载到您的系统中
    • 删除 nouveau 和/或 nvidia 驱动程序
    • 使用 acpi_call(编译 acpi_call 或使用 AUR 软件包 之一)禁用 nVidia 显卡
acpi_call 用法
modprobe acpi_call
./usr/share/acpi_call/examples/turn_off_gpu.sh

sudo /usr/share/linux610-acpi_call/examples/turn_off_gpu.sh

许多结果之一将是 “works!”。使用在以下调用中有效的value

echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call

如果都没有工作,您可以尝试 /usr/share/acpi_call/examples 目录中的其他文件之一。

例如,以下方法适用于 XPS 15 9550 和 L502x 型号

echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call

您可以在之前之后使用此命令来查看电池消耗的变化(您需要先断开扇区连接,数值越低越好)

cat /sys/class/power_supply/BAT0/current_now

为了使其永久生效,只需使用您的工作命令创建一个 systemd 单元文件

Intel 和 Nvidia 显卡

Optimus 设置包括连接到笔记本电脑屏幕的集成 Intel 芯片,Nvidia 显卡通过此芯片运行。因此,如果没有 Intel 芯片,则无法使用 Nvidia 芯片(某些其他笔记本电脑在 BIOS 中可以选择关闭 Intel 并仅使用 Nvidia,但这台笔记本电脑没有此选项)。

请参阅 Bumblebee 页面 安装说明,特别是经过测试的 Intel/Nvidia 部分。需要注意的主要事项是一次安装 Intel 和 Nvidia 软件包往往可以避免依赖性问题。

屏幕

9550 屏幕闪烁

要修复屏幕闪烁问题,请将 i915.edp_vswing=2 添加到您的启动参数

外接显示器

由于 Display Port 由 Intel 驱动程序控制,因此它往往工作良好,通常会镜像笔记本电脑显示器,而无需配置。要使 HDMI 和 DP 适配器都显示单独的内容,则需要额外的设置。

Display Port 可以通过 USB-C 转 Display Port 适配器访问,它应该是通过 “备用模式” 工作的适配器,例如 plugable 电缆 [1](已知工作正常),还有其他适配器无法工作(KiWiBiRD USB 3.1 Type C THUNDERBOLT 3 to DisplayPort 4K Adapter),尽管不知道为什么无法工作。

多显示器

以下说明应有助于配置笔记本电脑以在两个外接显示器上显示单独的输出。这些说明本质上类似于 Bumblebee 页面上的 说明,尽管 Intel 虚拟显示器的最新进展减少了所需的步骤和软件包数量。

  • 首先,按照上一节中的说明安装 Intel 和 Nvidia 驱动程序以及 Bumblebee。
  • 运行 Xorg -configure 以生成 xorg.conf 文件。它可能具有不同的文件名,因此请注意输出,无论它在哪里生成,都将其复制到 /etc/X11/xorg.conf。这应该生成如下内容(对于两个外接显示器)
/etc/X11/xorg.conf
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	Screen      1  "Screen1" RightOf "Screen0"
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
	ModulePath   "/usr/lib/xorg/modules"
	FontPath     "/usr/share/fonts/misc/"
	FontPath     "/usr/share/fonts/TTF/"
	FontPath     "/usr/share/fonts/OTF/"
	FontPath     "/usr/share/fonts/Type1/"
	FontPath     "/usr/share/fonts/100dpi/"
	FontPath     "/usr/share/fonts/75dpi/"
EndSection

Section "Module"
	Load  "glx"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Monitor"
	Identifier   "Monitor1"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Device"
	Identifier  "Card0"
	Driver      "nvidia"
	BusID       "PCI:1:0:0"
EndSection

Section "Device"
	Identifier  "Card1"
	Driver      "intel"
	BusID       "PCI:0:2:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Section "Screen"
	Identifier "Screen1"
	Device     "Card1"
	Monitor    "Monitor1"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection
  • bumblebee.conf 文件更改为以下设置(这些设置分散在整个配置文件中)
/etc/bumblebee/bumblebee.conf
KeepUnusedXServer=true
Driver=nvidia
# In the [driver-nvidia] section,
XorgConfFile=/etc/X11/xorg.conf
  • 将以下内容添加到您的 .xinitrc 文件中。
~/.xinitrc
# Start Bumblebee, create VIRTUAL display, and configure monitors.
optirun true
intel-virtual-output
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto

# Turn off the laptop display (optional of course, leave out if you want triple display).
xrandr --output LVDS1 --off

# Execute a window manager or desktop environment here.
# ex: exec awesome
  • 运行 startx 并检查您的显示器是否工作正常。

.xinitrc 的修改自动化了显示器的配置。首先,启动 optirun 以运行 Bumblebee。然后,intel-virtual-output 实用程序(包含在 xf86-video-intel 版本 2.99+ 中)创建了一些 VIRTUAL 显示器;VIRTUAL2 是映射到我的 HDMI 端口的显示器,运行 xrandr 以自行仔细检查。其余命令可能因您的配置而异,请注意 LVDS1 是笔记本电脑屏幕,而 HDMI1 实际上是 Display Port。

无线局域网

请记住,使用网络管理器(如 NetworkManager)需要 wireless_tools,有关更多信息,请参阅 无线网络配置

蓝牙

一些用户可能需要运行

hciconfig hci0 reset

才能使 blueman 工作

将电源管理与 TLP 一起使用可能会导致问题。通过设置以下内容将蓝牙设备从 USB 自动挂起中排除

/etc/default/tlp
…
USB_BLACKLIST_BTUSB=1

可以解决此问题。

BIOS

带有 InfinityEdge 4K 的 XPS 9550

XPS 9550 4K 由于其推出时间不久,目前状态不稳定。大多数错误都源于 Dell 的 BIOS。

下面列出了您可能在 XPS 9550 4K 上遇到的问题

01.02.00
• 亮度工作正常,但淡入淡出缓慢 (XF86MonBrightnessUp / xbacklight -inc:-dec)
• 睡眠恢复大约 80% 的时间工作正常
• 从睡眠状态恢复后,笔记本电脑会重启

01.02.10+
• 速度提高(启动速度更快,应用程序加载感觉更流畅,尤其是在 01.02.13 中)
• 恢复后黑屏(计算机将像开机一样运行,要使显示器工作,请使用键盘快捷键将亮度设置为最大)
• 调暗或增加亮度时,亮度会闪烁/卡顿(在 i3wm 中演示)
• 低亮度设置下屏幕闪烁
• 可能的风扇行为不佳(未确认)
• 电池充电不会超过 60%。修复方法是下载并刷新 1.2.14 BIOS 或更高版本。之后刷新 01.02.00 将毫无意义,因为问题会延续到此版本的 BIOS。

01.02.14 下载
• 用户 报告 电池问题已修复
• 恢复后仍然存在黑屏问题。要打开屏幕,请使用键盘将亮度增加到最大。恢复后无法降低亮度,只能最大或关闭。
• 将亮度增加小于 9%(例如,使用 xbacklight)没有任何效果。降低小于 9% 始终会导致降低 9%。

1.02.16 下载
• “恢复后黑屏” 问题似乎已修复!

许多用户推荐 01.02.00 BIOS,因为它被证明是所有更新中最平衡的版本。

摄像头

如果摄像头似乎无法工作(黑屏图像),请尝试启用/禁用自动曝光(例如在 Skype 中,该选项位于视频设置中,在 guc 中也是如此)。实际上,摄像头尝试以 0.5 fps 的速度录制,这就是它看起来无法工作的原因,即使一切看起来正常。

特殊触摸键

默认情况下,特殊触摸键的映射很奇怪。一个更改亮度,一个执行下一曲目。它们似乎与执行相同工作的 Fn+F# 键序列链接到相同的键序列。要修复此问题,请创建此新文件

/opt/dell_touchkeys_keymap
0x90 previoussong # Previous song
0xA2 playpause # Play/Pause
0x99 nextsong # Next song
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle
0x85 prog1 # Second touch key
0x84 media # Third touch key

并将此添加到 /etc/rc.local

/etc/rc.local
…
# Fix touch keys
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap

来源

替代方法

对于 L502x 型号,上述方法可以改进

  1. 无需重新映射播放/暂停、上一首歌曲、下一首歌曲键,因为它们默认映射正确。
  2. 对于第一个(最左侧)触摸键:它在硬件级别以奇怪的方式连接。它似乎同时连接到 Super_L 和 x。最好的选择是使用您的 DE 或类似 xbindkeys 的工具重新映射它。您可能需要使用 xevxbindkeys -mk 仔细检查它到底产生了哪些键。

因此,键映射文件应为(我更喜欢标准位置)

/usr/lib/udev/keymaps/dell-xps-l502x
0x85 prog1 # Second touch key
0x84 media # Third touch key

并将此添加到 /etc/rc.local

/etc/rc.local
…
# Fix touch keys
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x

或者创建一个 udev 规则(前者在启动时重新映射键,后者让 udev 负责重新映射)

/etc/udev/rules.d/99-local.rules
…
# Keymap Dell Touch keys
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"

隐藏键盘按键

对于 L502X 型号:还有一些额外的 Fn+<Key>(序列)在键盘上根本没有标记,但底层硬件仍然会生成它们。以下是它们(如果您发现更多,请将它们添加到下表中)

隐藏 Fn 键
Fn+<键> 生成的按键(序列)
Fn+Esc 睡眠
Fn+Super_L Super_R
Fn+Ins Pause/Break
Fn+Del Ctrl + Pause/Break
Fn+PrntScr Alt + PrtSc/SysRq

触摸板手势

1.2.21 BIOS 更新导致许多用户在 Chromium 中丢失鼠标滚动。已提交关于此问题的错误报告。 一种解决方法是在 chrome://flags 中禁用平滑滚动

libinput

XPS 9550

工作正常,使用 libinput 和 libinput-gestures。

Synaptics

如果使用 Synaptics,请阅读 Synaptics

注释

  • 请记住按 F2 按钮打开 Wi-Fi 和蓝牙。
  • 读卡器很挑剔。尝试插入卡启动,或在启动后插入卡并运行
    # echo 1 > /sys/bus/pci/rescan
    否则,将无法检测到读卡器。似乎某个内核更新导致此解决方法也无法正常工作。需要更多信息。

参见