Razer Blade
Razer Blade 是 Razer 旗下的游戏笔记本电脑系列。截至 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 版本中,由于 Andrew Duggan 的工作,触摸板仅在 Linux 4.0+ 上没有基于 libinput 的 X.Org 输入驱动程序 (xf86-input-libinput) 的情况下工作。
在 2018 版本中,触摸板可在 vanilla 内核和 BIOS 版本 1.05 下工作。
在 2019 版本中,触摸板可在 vanilla 内核和 BIOS 版本 1.02 下工作。
触摸屏
虽然触摸屏开箱即用就能提供基本功能,但最好使用 touchegg 来配置多点触控手势。这些包括双指滚动、右键单击等。
显卡驱动
显卡在标准 Intel 驱动程序下工作良好,您可以使用 xf86-video-intel 软件包安装这些驱动程序。有关安装和配置的更多信息,请参阅Intel graphics。
屏幕闪烁问题似乎可以通过将 AccelMethod 更改为 uxa 来解决,如SNA 问题部分所述。
# 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 建议后,也请尝试恢复到 nvidia525 驱动程序而不是 nvidia535 驱动程序;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 系列笔记本电脑上不可用。
音频
无声音
在较新的型号(例如 2021 年的 RZ09-0409x)上,内置 Intel 声卡和耳机插孔(aux 端口)需要 Sound Open Firmware 才能工作。
如果检测到扬声器但没有声音,请尝试脚本 verbs,直到有合适的内核修复程序可用。
耳机插孔声音差
在较新的型号(例如 Blade 14+ 2021)上,耳机插孔的质量非常差/音量低,无法使用。您可以使用蓝牙、内置扬声器或 USB 音频适配器来解决此问题。
扬声器声音差
Razer 型号可能需要均衡才能达到其在 Windows 配置中的良好音质。EasyEffects、Calf 或 Carla 可以与参数均衡器一起使用来解决该问题。均衡可以自动应用于 PipeWire 滤波器,这可能比持续运行这些工具之一更用户友好。
在以下示例中,Freq、Q 和 Gain 设置直接从保存的 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"
默认输出的 ID 可以通过 wpctl status | grep '\*' | head -n1
或检查 wpctl status
找到。
通过重启 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"
默认输出的 ID 可以通过 wpctl status | grep '\*' | head -n1
或检查 wpctl status
找到。此效果可以与上一节中描述的均衡链接,方法是在 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,并且将来会默认为该选项。
电源管理
如果您使用 optimus manager 在 Intel 和 NVIDIA 驱动程序之间切换,则 配置选项 1 兼容。
电源模式和风扇控制
Razer-Laptop-Control 可用于在平衡、游戏和创作电源模式之间切换,以及手动调整风扇 RPM 以获得更好的游戏性能和散热。您可以通过 razer-laptop-control-dkms-gitAUR 软件包安装驱动程序,并使用 razer-laptop-control-gitAUR 软件包安装 CLI 工具。
故障排除
2016 型号问题
摄像头
在此型号使用的摄像头视频驱动程序上使用高分辨率(超过 360p)时,存在已知问题。此问题在 Linux 内核的此问题 #207045 中得到了很好的描述。您可以使用 Arch 构建系统 构建您的自定义内核并应用这个小的 补丁[死链接 2024-10-12 ⓘ]来解决它。
以下是如何修补您的内核。
2014 型号问题
- 触摸板(多点触控,尽管这可能是一个内核错误,但此后已修复)
- 增加/减少屏幕亮度键不起作用
- 增加/减少键盘亮度键不起作用
可能的触控板解决方案
$ 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 支持。cheese 在将分辨率更改为 720p 并重新启动后可以工作。将 quirk 乘以 2 的幂加 1 会进一步提高视频质量到一定程度。“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#编写单元文件。
休眠问题
如果您遇到休眠停滞问题,请尝试在 /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 启动