Alienware 13

来自 ArchWiki

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

原因: 缺少硬件表格和功能键章节(在 Talk:Alienware 13 中讨论)

本文档记录了 Alienware 13 笔记本电脑的特定配置和故障排除。

有关常规安装说明,请参阅安装指南

安装

启动计算机并按 F12 进入启动菜单,从那里我们选择 USB 并从那里启动。

如果您陷入 nouveau 循环或黑屏,请使用 nomodeset 更改内核参数

将 Windows 从 RAID 模式切换到 AHCI 模式

Windows 的默认安装是 RAID 模式,这使得 Linux 无法看到 NVMe 磁盘。但是,一旦以 RAID 模式安装,当磁盘处于 AHCI 模式时,Windows 将拒绝启动。但是,您可以通过以下步骤修复该问题

  1. 右键单击 Windows 开始菜单。选择命令提示符(管理员)
    • 如果您没有看到命令提示符列出,那是因为您已经更新到更高版本的 Windows。如果是这样,请改用此方法来访问命令提示符
      1. 单击开始按钮并键入 cmd
      2. 右键单击结果并选择以管理员身份运行
  2. 键入此命令并按 Enterbcdedit /set {current} safeboot minimal
    • 如果此命令对您不起作用,请尝试 bcdedit /set safeboot minimal
  3. 重启计算机并进入 BIOS 设置(按下的键因系统而异)。
  4. 将 SATA 操作模式从 IDE 或 RAID 更改为 AHCI(同样,语言因系统而异)。
  5. 保存更改并退出设置,Windows 将自动启动到安全模式。
  6. 再次右键单击 Windows 开始菜单。选择命令提示符(管理员)
  7. 键入此命令并按 ENTER:bcdedit /deletevalue {current} safeboot
    • 如果您必须尝试上面的备用命令,您可能也需要在此处执行此操作:bcdedit /deletevalue safeboot
  8. 再次重启,Windows 将自动启动并启用 AHCI 驱动程序。

来源:[1]

触摸板

如果触摸板不工作,请尝试卸载 i2c_hid 模块

# modprobe -r i2c_hid

并重启图形环境。如果这有帮助,请考虑禁用该模块。

无线

Alienware 13 的 WiFi 网络是 Atheros Qualcomm Killer N1525,默认安装未配置。请参阅ubuntu 错误

幸运的是,以下补丁能够使其工作。它已在 Kernel 4.2.5-1 上进行了如下测试

$ git clone https://github.com/sumdog/ath10k-firmware
# cp -a ath10k-firmware/ath10k/QCA6174 /lib/firmware/ath10k/QCA6174
# echo "options ath10k_core skip_otp=y" | tee -a /etc/modprobe.d/ath10k.conf

重启后,无线网络应该可以工作,包括 WiFi AC 速度。

对于 Alienware 13 R3,WiFi 开箱即用。以下内核错误似乎是无害的。

ath10k_pci 0000:3d:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-5.bin': -2

R1 在挂起/休眠时冻结

由于 R1 上 ath10 WiFi 驱动程序的固件崩溃,您可能会在挂起/休眠时遇到系统冻结。一种解决方法是在进入休眠状态之前卸载 ath10 模块,并在唤醒时重新加载它。创建并使之可执行

/usr/lib/systemd/system-sleep/suspend.sh
#!/bin/bash
if [ "${1}" == "pre" ]; then
   rmmod ath10k_pci ath10k_core
   sleep 1
elif [ "${1}" == "post" ]; then
   modprobe ath10k_pci
fi

不要忘记在那之后执行 daemon-reload

请注意,nouveau 驱动程序也可能是挂起问题的根源,因此如果以上方法没有帮助,请尝试禁用它或安装非免费的 NVIDIA 驱动程序来替换它。

显卡

Kaby Lake R3 在尝试启动 X 或在独立 GPU 关闭时运行 lspci 时会遇到 X 锁死。有内核错误bumblebee 错误被打开以跟踪此问题。同时,您可以将以下内容添加到启动时的内核命令行:acpi_osi=! acpi_osi="Windows 2009"

R3 支持 Windows 2012、2013、2015。使用 2009 时,重启不可用。2015 工作正常,并且还启用了 ACPI 重启。

要使用可切换显卡,请参阅bumblebee 说明。该实用程序能够按需打开和关闭专用显卡,而无需重启计算机或重新打开会话。

需要注意的是,某些 Alienware 笔记本电脑(Alienware 13 R3)显示 lspci 挂起问题,其中 lspci/startx/etc… 在探测非活动独立 NVIDIA GPU 时挂起并冻结系统。

Intel 节能选项

为了最大限度地延长电池续航时间,建议使用以下额外的节能选项

/etc/modprobe.d/i915.conf
options i915 enable_fbc=1 enable_guc_loading=1 enable_guc_submission=1 enable_psr=1

有关每个选项的更多信息,请参阅Dell XPS 13 (9360)#节能

OLED 屏幕亮度

使用 Gnome,亮度控制键会切换屏幕显示,但它不会更改亮度级别。屏幕空白功能也不起作用。以下命令可用于将亮度设置为 50%。

$ xrandr --output eDP1 --brightness .5

在内核支持亮度控制之前,我们可以使用以下脚本从 sysfs 读取亮度值,并将 xrandr 亮度降低应用于它

/usr/local/bin/xbacklightmon
#!/bin/sh

path=/sys/class/backlight/acpi_video0

luminance() {
    read -r level < "$path"/actual_brightness
    factor=$((max))
    new_brightness="$(bc -l <<< "scale = 2; $level / $factor")"
    printf '%f\n' $new_brightness
}

read -r max < "$path"/max_brightness

xrandr --output eDP-1 --brightness "$(luminance)"

inotifywait -me modify --format '' "$path"/actual_brightness | while read; do
    xrandr --output eDP-1 --brightness "$(luminance)"
done

使其可执行并将其添加到自动启动,您就完成了设置。我们使用 inotifywait 来了解值何时被修改,这样我们就不会忙于等待,但仍然可以做出响应。

OLED 屏幕在恢复后不亮

有时,当您睡眠计算机并恢复时,OLED 屏幕会闪烁但实际上不会再次亮起。要解决此问题,请使用以下 xrandr 命令

/usr/local/bin/resmon
#!/bin/sh
xrandr -d :0.0 --output eDP-1 --off && xrandr -d :0.0 --output eDP-1 --auto

这是一个脚本,以便在显示器在恢复后关闭时可以轻松运行它:您可以将其添加到键盘快捷键,或使用运行命令,以任何一种方式都更容易。

HDMI/Mini-DP 音频

HDMI 和 mini-DP 连接到 NVIDIA 显卡,这意味着为了让它们播放音频,您需要通过连接到 NVIDIA 设备的声卡路由音频。但是,默认情况下,GPU 的音频出于某种原因被禁用。要启用它,请按照NVIDIA/故障排除#HDMI 没有音频进行操作

键盘灯

本文或本节的事实准确性存在争议。

原因: Setuid 可执行文件可能非常危险且容易受到攻击。提到的存储库自 2017 年以来也未见过提交(截至撰写时为 5 年)。(在 Talk:Alienware 13 中讨论)

要访问键盘灯,可以通过向正确的设备发送数据来控制它们 (ID 187c:0527 Alienware Corporation)

有很多程序,例如 pyAlienFX 或 Alienware-KBL,但这些程序都无效,但以下 GitHub 项目通过使用 libusb 向 USB 发送数据的方式可以正常工作。

$ git clone https://github.com/snooze6/hack-alienfx
$ make all

如果出现类似于 "FILE is not defined" 的编译错误,请尝试添加

/usr/include/readline/rltypedefs.h
...
#include <stdio.h>
...

编译完成后,通过运行以下命令进行测试

# ./run seq/snooze

键盘灯应该可以工作了。

要将其注册为命令并且可以在没有 root 权限的情况下使用此程序,我们可以执行以下操作

# cp run /usr/local/bin/
# mkdir /usr/local/fx
# cp seq/* /usr/local/fx
# chmod 4755 /bin/fx
# cp lights.sh /usr/local/bin/lights
# chmod +x /usr/local/bin/lights

现在应该可以通过执行以下命令触发

$ lights
$ lights on
$ lights off

从控制台。

我们可以简单地将命令添加到能源管理或启动项中,以使键盘灯自动更改。

如果这不起作用,请尝试 alieneffects-13r3,专门为 Alienware 13 R3 制作,或 alienfx