Razer Blade
Razer Blade 是雷蛇的游戏笔记本系列。截至 2018 年,该系列包括 13 英寸型号 (Razer Blade Stealth)、15 英寸型号 (Razer Blade) 和 17 英寸型号 (Razer Blade Pro)。它以非常有限的 BIOS 功能和有限的 Linux 稳定性而闻名。
由于 17 英寸型号上的专有 SBUI 触控板,如果不进行广泛的 USB 协议逆向工程,将极难使其工作。
安装
在卸载 Windows 之前,请确保更新 BIOS。使用 Windows 安装 Razer 驱动程序更容易。您可以在与您的型号相关的 支持页面 上找到更新。
如果您因为某种原因无法启动到 Windows 来执行更新,仍然有一个 补丁,您可以将其应用于您的内核构建以使其正常工作。但是,由于 BIOS 补丁的可用性,此补丁可能不会得到维护。
除了下面列出的例外情况外,正常的安装过程总体上是可以工作的。
触控板
安装 xf86-input-libinput 包:这是唯一能够启用自然滚动功能的包。有关此驱动程序的更多信息,请参阅 libinput。
或者,如果您更喜欢使用 Touchpad Synaptics 驱动程序,请安装 xf86-input-synaptics 包。
如果您在从睡眠中恢复后触控板不工作,重启 i2c_hid 模块似乎可以解决问题。
在 2013 版中,触控板仅在 Linux 4.0+ **不**使用基于 libinput 的 X.Org 输入驱动程序 (xf86-input-libinput) 的情况下工作,这要归功于 Andrew Duggan 的工作。
在 2018 版中,触控板在使用 BIOS 版本 1.05 的 vanilla 内核下可以工作。
在 2019 版中,触控板在 vanilla 内核和 BIOS 版本 1.02 下可以工作。
触摸屏
虽然触摸屏可以开箱即用,但最好使用 touchegg 来配置多点触控手势。这些手势包括双指滚动、右键单击等。
图形驱动
显卡与标准的 Intel 驱动程序配合良好,您可以使用 xf86-video-intel 包进行安装。有关安装和配置的更多信息,请参阅 Intel graphics。
屏幕闪烁问题似乎可以通过将 AccelMethod 更改为 uxa 来解决,如 SNA issues 部分所述。
# cat >/etc/X11/xorg.conf.d/20-intel.conf Section "Device" Identifier "Intel Graphics" Driver "intel" Option "AccelMethod" "uxa" #Option "AccelMethod" "sna" EndSection
如果在滚动时遇到屏幕撕裂,请将以下行添加到上面的配置中:Option "TearFree" "true" 并将 "AccelMethod" 设置为 "sna",注释掉 "uxa"。
如果您拥有 Intel Kaby Lake 芯片 Wikipedia:Kaby Lake,并且使用上述配置无法解决问题,请将 i915.enable_rc6=0 添加到 内核参数中。
混合显卡
如果在启动 Xorg 或 Wayland 之前关闭了独立 NVIDIA GPU,则系统会冻结。唯一可能的解决方案是在启动图形会话后手动禁用/启用独立显卡。然而,有一个 ACPI DSDT 修复可以解决此问题。请参阅 repository 和 DSDT 获取更多信息。
如果您发现电池续航时间比 Windows 差很多,即使在实施了 Powertop、TPL 和 cpupower-gui 的建议后,也请尝试将驱动程序从 nvidia535 恢复到 nvidia525;535xx 系列有一个已知错误,即使 iGPU 设置为集成,也无法正确关闭 dGPU。
键盘背光
有两个驱动程序可以控制键盘背光
- OpenRazer — 允许更改多种 Razer 外设的效果和颜色。推荐用于带有 Razer 外设的台式机设置。它带有一个 Python 库,并且有各种 GUI 可供配置。在笔记本电脑上,BIOS 仍然负责键盘背光的开启和关闭,但无法更改触发器或持续时间(例如,触控板活动不会打开键盘背光)。
- Razer Laptop Control — 这是笔记本电脑专用驱动程序。它允许更改颜色和效果,以及风扇速度和电源模式。它带有一个命令行界面,并优先于 BIOS,允许通过 Bash 脚本等完全控制背光。
已知问题
Thunderbolt
虽然 Thunderbolt 可以工作(已测试 2021 Razer Blade Stealth 13" 上的 Thunderbolt 4),但由于 BIOS 功能有限,可能会出现许多问题。例如,最新的内核在某些 Thunderbolt 驱动程序(例如 blackmagic 视频采集设备)上会发生段错误,而在 Thinkpad 上有效的解决方案,例如关闭 Intel VT 或其他 BIOS 功能,在 Razer 系列笔记本电脑上不可用。
音频
无声音
在较新的型号(如 RZ09-0409x,2021 年款)上,内置 Intel 声卡和耳机插孔(aux 端口)需要 Sound Open Firmware 才能工作。
如果检测到扬声器但没有声音,请尝试 verbs 脚本,直到有合适的内核修复可用。
耳机孔声音差
在较新的型号(如 Blade 14+ 2021)上,耳机插孔的质量非常差/音量低,无法使用。您可以使用蓝牙、内置扬声器或 USB 音频适配器来解决此问题。
扬声器声音差
Razer 型号可能需要均衡才能使其声音效果与 Windows 配置中的效果相媲美。可以使用 EasyEffects、Calf 或 Carla 配合参数均衡器来解决此问题。可以使用 PipeWire 滤镜自动应用均衡,这可能比一直运行这些工具更用户友好。
在以下示例中,频率、Q 和增益设置直接从保存的 LSP 参数均衡器配置中复制 - 在 2022 Blade 15" Advanced RZ09-421 上进行均衡。混合节点将输入量降低 5% 以补偿中频的增加。它使用 wireplumber 智能滤镜功能将滤镜自动连接到正确的接口,而无需更改默认音频接收器。此 pipewire 配置可以放在 ~/.config/pipewire/pipewire.conf.d/razer.conf 下。
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.description = "Equalizer Sink"
media.name = "Equalizer Sink"
filter.graph = {
nodes = [
{
type = builtin
name = eq_band_0
label = bq_lowpass
control = { "Freq" = 18000.0 "Q" = 0.707 "Gain" = 0.0 }
}
{
type = builtin
name = eq_band_1
label = bq_peaking
control = { "Freq" = 250.0 "Q" = 1.0 "Gain" = 4.3 }
}
{
type = builtin
name = eq_band_2
label = bq_peaking
control = { "Freq" = 500.0 "Q" = 1.698 "Gain" = -4.3 }
}
{
type = builtin
name = eq_band_3
label = bq_peaking
control = { "Freq" = 760.612 "Q" = 1.0 "Gain" = -8.7 }
}
{
type = builtin
name = eq_band_4
label = bq_peaking
control = { "Freq" = 8000.0 "Q" = 1.0 "Gain" = -1.2 }
}
{
type = builtin
name = eq_band_5
label = bq_highshelf
control = { "Freq" = 5000.0 "Q" = 0.707 "Gain" = 0.0 }
}
{
name = mix
type = builtin
label = mixer
control = {
"Gain 1" = .95
}
}
]
links = [
{ output = "mix:Out" input = "eq_band_0:In" }
{ output = "eq_band_0:Out" input = "eq_band_1:In" }
{ output = "eq_band_1:Out" input = "eq_band_2:In" }
{ output = "eq_band_2:Out" input = "eq_band_3:In" }
{ output = "eq_band_3:Out" input = "eq_band_4:In" }
{ output = "eq_band_4:Out" input = "eq_band_5:In" }
]
inputs = [ "mix:In 1" ]
outputs = [ "eq_band_5:Out" ]
}
audio.channels = 2
audio.position = [ FL FR ]
capture.props = {
node.name = "effect_input.eq6"
media.class = Audio/Sink
filter.smart = true
filter.smart.name = "effect_input.eq6.smart.1"
filter.smart.target = { node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink" }
}
playback.props = {
node.name = "effect_output.eq6"
node.passive = true
}
}
}
]
通过检查默认接收器 wpctl status 来获取 smart.target 参数的 node.name。
#wpctl inspect 75 | grep 'node\.name' * node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink"
可以通过检查 wpctl status | grep '\*' | head -n1 或查看 wpctl status 来找到默认输出的 ID。
通过重启 pipewire 和 wireplumber 服务来应用设置 systemctl --user restart pipewire && systemctl --user restart wireplumber
左右扬声器信号反转
在 RZ09-421 型号上,左右扬声器声音是颠倒的。
可以使用以下 PipeWire 配置自动纠正。该示例使用 wireplumber 智能滤镜功能将滤镜自动连接到正确的接口,而无需更改默认音频接收器。文件 ~/.config/pipewire/pipewire.conf.d/razer_speaker_swap.conf。
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.description = "remap-FL-FR-to-FR-FL"
media.name = "remap-FL-FR-to-FR-FL"
filter.graph = {
nodes = [
{
name = copyIL
type = builtin
label = copy
}
{
name = copyIR
type = builtin
label = copy
}
{
name = copyOL
type = builtin
label = copy
}
{
name = copyOR
type = builtin
label = copy
}
]
links = [
# we can only tee from nodes, not inputs so we need
# to copy the inputs and then tee.
{ output = "copyIL:Out" input = "copyOR:In" }
{ output = "copyIR:Out" input = "copyOL:In" }
]
inputs = [ "copyIL:In" "copyIR:In" ]
outputs = [ "copyOL:Out" "copyOR:Out" ]
}
capture.props = {
node.name = "remap_input.remap-FL-FR-to-FR-FL"
audio.position = [ FL FR ]
stream.dont-remix = true
node.passive = true
media.class = Audio/Sink
filter.smart = true
filter.smart.name = "swapflfr"
filter.smart.target = { node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink" }
}
playback.props = {
node.name = "remap_output.remap-FL-FR-to-FR-FL"
audio.position = [ FL FR ]
}
}
}
]
通过检查默认接收器 wpctl status 来获取 smart.target 参数的 node.name。
#wpctl inspect 75 | grep 'node\.name' * node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink"
可以通过检查 wpctl status | grep '\*' | head -n1 或查看 wpctl status 来找到默认输出的 ID。此效果可以通过向 capture.props 添加 wireplumber 滤镜智能规则来与上一节中描述的均衡器链接:filter.smart.after = [ "effect_input.eq6.smart.1"]。
通过重启 pipewire 和 wireplumber 服务来应用设置 systemctl --user restart pipewire && systemctl --user restart wireplumber
双启动
在较新的 'Kaby Lake' Intel CPU 上,如果您也与 Windows 进行双启动,您可能会在启动到 Windows 然后重启到 Linux 时遇到一些音频问题。问题是扬声器没有声音,耳机有一些噼啪声——尤其是在使用触控板时。目前还没有官方解决方案,但一个快速的解决方法是完全关闭计算机(即断电,而不是重启)。
安全启动
BIOS 不允许更改签名密钥。因此,在大多数 Razer 硬件上无法设置完整的安全启动系统。已在 2021 Razer Blade Stealth 13" 上测试,但根据论坛帖子和研究,它似乎适用于许多其他 Razer 笔记本电脑。我们测试了使用 efitools KeyTool.efi 或 efi-updatevars 工具附加或更改密钥;两者都不起作用。
挂起问题
- 当执行
systemctl suspend时,如果风扇正在运行,风扇将持续运行(已在 Razer Blade Stealth 13" 2021 上测试)。 - 在较新的笔记本电脑上将挂起方法更改为
deep可能会解决此问题(已在 Razer Blade 15 2023 上测试)。
触控板问题
- 打字时触控板被激活。尽管窗口管理器中设置了打字时忽略触控板,但这种情况仍然经常发生。没有简单的解决方案,并且可能需要禁用触控板的右半部分,因为几乎所有 Razer 笔记本电脑都将触控板置于空格键的偏离中心位置,导致经常从右侧发生意外触摸。
- 几乎所有 Razer 笔记本电脑上的右键单击位置都不方便。使用 libinput 或 synaptics 驱动程序没有已知的方法可以更改鼠标垫的 x, z 分割,使其更好地与手部放置对齐。目前,您必须完全将右手从键盘上移开才能单击鼠标右键。一种变通方法是启用左撇子模式(如果您是右撇子),这样次要点击就是最左边而不是最右边。
摄像头耗电
- 如
powertop所示,无论摄像头是否在使用,它都在持续消耗电力。禁用摄像头的推荐方法可以禁用摄像头,但耗电量保持不变。这些方法包括将blacklist uvcvideo添加到/etc/modprobe.d/blocklist.conf以及echo usb-id > /sys/bus/usb/drivers/unbind。我们观察到减少耗电量的唯一方法是,在系统完全启动后先完全加载 uvcvideo 模块,然后再卸载和解绑。
SwitchBlade UI 不工作 (2013)
- SwitchBlade UI,一些型号中键盘旁边的次要 LCD 屏幕,由于缺少驱动程序而不工作。
技巧与提示
调整
如果您使用的是 GNOME,可以使用 gnome-tweak-tool 来调整窗口和字体缩放。字体缩放比例为 1.25 可以使字体大小更接近 Windows 10 默认显示的大小。
如果您使用的是非 HiDPI 的外接显示器,您可以使用 xrandr 来按照 多显示器 的说明来调整外接显示器的缩放。然而,在 Wayland 上运行 GNOME 可能会获得更好的效果。安装后,单击 GDM 中的齿轮图标将允许您选择 Gnome On Wayland,并默认使用它。
电源 management
如果您使用 optimus-manager 在 Intel 和 NVIDIA 驱动程序之间切换,则 配置选项 1 是兼容的。
电源模式和风扇控制
Razer-Laptop-Control 可用于在平衡、游戏和创意电源模式之间切换,以及手动调整风扇 RPM 以获得更好的游戏性能和散热。您可以通过 razer-laptop-control-dkms-gitAUR 包安装驱动程序,并通过 razer-laptop-control-gitAUR 包使用 CLI 工具。
故障排除
2016 款问题
摄像头
在这些型号所使用的摄像头视频驱动程序中,使用高分辨率(超过 360p)存在一个已知问题。这在 Linux Kernel 的此错误报告 #207045 中有详细描述。您可以通过使用 Arch build system 构建自定义内核并应用此小 补丁[死链 2024-10-12—HTTP 404] 来解决。
以下是如何修补您的内核。
2014 款问题
- 触控板(多点触控,尽管这可能是尚未修复的内核 bug)
- 用于增加/减少屏幕亮度的按键无效
- 用于增加/减少键盘亮度的按键无效
可能的触控板解决方案
$ git clone https://github.com/aduggan/hid-rmi.git -b rb14 # and then install it # depmod -a
然后安装 xf86-input-synaptics 包。
仍未工作的功能:捏合缩放,三键鼠标。
摄像头
设置 uvcvideo 选项 "quirks=128" 似乎可以让摄像头以 720p30 工作,从而支持 Google Hangouts。更改分辨率到 720p 并重新启动后,cheese 可以工作。将 quirk 乘以 2 的幂次或更高可以进一步提高视频质量。对某些用户而言,“quirks=512”似乎效果最好。
/etc/modprobe.d/uvcvideo.conf
## fix issue with built-in webcam options uvcvideo quirks=512
键盘
openrazer-meta-gitAUR 包启用背光控制功能(包括效果)和宏控制。您可以使用 polychromaticAUR 或 razercommander-gitAUR 来设置键盘选项的 GUI。
有关 OpenRazer 的更多信息,请参阅 Razer peripherals#OpenRazer。
无限挂起循环
添加以下内核参数
button.lid_init_state=open
以修复在启动后首次关闭盖子后的挂起-恢复循环。
挂起循环
使用基本安装似乎无法进行挂起(合上笔记本盖子)。盖子状态在第一次(系统挂起)时从“打开”正确过渡到“关闭”,但在打开盖子从挂起恢复后,盖子状态不会变回“打开”。这会导致笔记本电脑进入挂起循环,因为 systemd 监视盖子状态,发现盖子已关闭,并将系统挂起。
在 2016 年 11 月,ACPI 内核驱动程序提交了一个bug。它包含该问题的相当多的文档以及一个似乎能解决问题的变通方法。
要解决此问题,请将以下内容添加到您的内核参数
button.lid_init_state=open
这将指示 acpi 驱动程序在从挂起唤醒时生成额外的打开事件,以保持系统运行。
您可以检查设置是否已被确认
# cat /sys/module/button/parameters/lid_init_state
ignore [open] method disabled
还可以查看所有启动参数
$ cat /proc/cmdline
initrd=\initramfs-linux.img ... button.lid_init_state=open
挂起
一些用户报告笔记本电脑在挂起后立即唤醒。看起来是 XHC(USB 3.0 芯片)导致了唤醒。
您可以通过运行
# echo XHC > /proc/acpi/wakeup
但这在重启后不会保留。要使此命令在每次启动时运行,请参阅systemd#Writing unit files。
挂起问题
如果您遇到挂起卡顿问题,请尝试在 /etc/modprobe.d/ 中添加一个新文件,内容如下
blacklist i2c_nvidia_gpu
如果您在第一次关闭笔记本电脑盖子后出现无限挂起循环,请尝试将 button.lid_init_state=open 添加到您的内核参数中。[https://bbs.archlinux.org/viewtopic.php?pid=1738818#p1738818
如果您在恢复挂起时遇到问题,请尝试将 acpi_sleep=nonvs 添加为内核模块参数。
2017 Stealth 型号屏幕闪烁/失真/有噪点
添加内核参数
i915.edp_vswing=2
其他修复(更改 xf86-video-intel 设置,如 DRI 和 AccelMode)似乎没有帮助。
或者,添加以下内核参数
intel_idle.max_cstate=1
这将更改内核的电源选项。这将增加功耗,因为它会一直保持处理器开启。更多信息可以在 https://gist.github.com/wmealing/2dd2b543c4d3cff6cab7 找到。将 max_cstate 设置尽可能高以减少功耗可能值得一试。用户报告测试了从 8 向下,第一个有效的是 intel_idle.max_cstate=4"。
2013 版可能的触控板解决方案
$ git clone https://github.com/aduggan/hid-rmi.git -b rb14 # and then install it # depmod -a
然后安装 xf86-input-synaptics 包。
仍未工作的功能:捏合缩放,三键鼠标
pcieport PCIe 总线错误
您可能在 dmesg 中看到以下错误
kernel: pcieport 0000:00:1c.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=00e0(Transmitter ID) kernel: pcieport 0000:00:1c.0: device [8086:9d12] error status/mask=00001000/00002000 kernel: pcieport 0000:00:1c.0: [12] Replay Timer Timeout
为避免这些日志消息,请添加内核参数
pci=noaer
2013 版
工作正常的部分
- 无线
- 可切换显卡
- 蓝牙
- 键盘灯(硬件控制)
- UEFI 启动