Lenovo ThinkPad T14s (AMD) Gen 3

来自 ArchWiki
硬件 PCI/USB ID 工作?
GPU 1002:1681 有问题
无线 17cb:1103
音频 1022:15e3
TrackPoint
触摸板
网络摄像头 04f2:b74f
指纹识别器 27c6:6594
移动宽带 2c7c:030a
蓝牙 10ab:9309
智能卡读卡器 058f:9540

本文介绍如何在 Lenovo Thinkpad T14s (AMD) Gen 3 笔记本电脑上安装和配置 Arch Linux。几乎所有功能似乎都开箱即用。

有关笔记本电脑相关文章和建议的概述,请参阅 笔记本电脑

固件

只要在 BIOS 中启用所有相关选项(启用 Windows Update UEFI 更新),使用 fwupd 实用程序更新固件即可。

更新 BIOS 固件还可以修复某些错误,这些错误会导致 linux 产生以下输出

[Hardware Error]: Corrected error, no action required.
[Hardware Error]: CPU:0 (19:44:1) MC15_STATUS[Over|CE|MiscV|AddrV|-|-|SyndV|CECC|-|-|-]: 0xdc204000000c011b
[Hardware Error]: Error Addr: 0x00000001faa88180
[Hardware Error]: IPID: 0x0000009600050f00, Syndrome: 0x000001ff0a240700
...
警告: 据报告,UEFI 固件 0.1.40 在此 Thinkpad 上引起问题。 请参阅 #笔记本电脑无法挂起/重启/关机

CPU

围绕 ACPI-cpufreq 存在许多频率缩放问题,导致内部 GPU 在看似随机的时间重置。 这可以通过使用“amd_pstate”(见下文)来修复。 GPU 重置不频繁,但如果打算坚持使用 ACPI-cpufreq 性能缩放驱动程序,则应在购买笔记本电脑之前考虑。 重置会导致屏幕变黑,迫使用户重新启动或通过 登录管理器 重新登录。 在 GPU 重置期间,有时可以切换到 TTY

要跟踪这些问题,请参阅

https://bugzilla.kernel.org/show_bug.cgi?id=213145

https://gitlab.freedesktop.org/drm/amd/-/issues/1974

https://gitlab.freedesktop.org/drm/amd/-/issues/2068

https://gitlab.freedesktop.org/drm/amd/-/issues/2443

提供的过压解决方法不影响 ThinkPad T14s Gen 3 (AMD) 处理器,因为超极本处理器无法过压。

在内核 < 6.5 上,如果不是必须使用 ACPI-cpufreq,则可以使用实验性的 amd-pstate 频率缩放驱动程序,方法是添加 amd_pstate=passive 内核参数(在内核 6.3 之前)或 amd_pstate=active 内核参数(对于内核 6.3 或更新版本)。 请注意,内核参数仅适用于内核版本 5.17 及更高版本。 该驱动程序似乎比 ACPI-cpufreq 驱动程序更稳定,不仅减少了 GPU 重置的次数,而且还降低了空闲 CPU 温度。

由于内核 6.5,AMD P-State EPP 驱动程序默认应用“Active”配置文件,因此通常不需要进行任何更改。

触摸板

触摸板在 Wayland 上运行良好。

但是,有些人偶尔会在 Xorg 上遇到 3-4 秒的冻结。

禁用触摸板活动唤醒

使用以下命令禁用由触摸板引起的唤醒事件。 请注意,这仅适用于触摸板本身及其底部的用于左/右键单击的集成按钮,而不适用于其顶部的 3 个按钮或任何其他输入。

/etc/udev/rules.d/99-disable-touchpad-wakeup.rules
KERNEL=="i2c-SYNA8018:00", SUBSYSTEM=="i2c", ATTR{power/wakeup}="disabled"
提示: 您可以使用 grep -i touchpad -A 1 /proc/bus/input/devices 找到设备名称。


扬声器

扬声器开箱即用。 但是,由于缺少 Dolby Atmos Convolver,它们的音质不如 Windows。

要启用 Dolby Atmos Convolver,请安装 EasyEffects,转到效果 > 添加 Convolver > 导入脉冲

您可以在此处下载“电影”和“音乐”预设

https://files.bestmail.ws/Arch/T14s_G3_AMD/T14S_G3_Music_Movies.irs

它们是在 Windows 10 的 T14s G3 AMD 上创建的。

显示器

您可以为 400nits IPS 面板下载 校准的颜色配置文件

一些用户报告了显示器崩溃/问题,尤其是在休眠/挂起后:一个修复方法是通过将 amdgpu.dcdebugmask=0x10 添加到 内核参数 来禁用面板自刷新。

有关 USB-C 的完整多显示器支持,请参阅 DisplayLink#USB 3.0 DL-6xxx, DL-5xxx, DL-41xx, DL-3xxx 设备

网络 / Wi-Fi

ath11k 模块中存在一个 已知错误,可能会阻止恢复过程,冻结图形界面并导致无线网卡接口丢失。 手动修复方法是在休眠前禁用 ath11k_pci 模块,并在恢复后重新启用它。 但是,此问题不应再存在。

如果您仍然遇到问题:请参阅 Dell XPS 13 (9310)#Wi-Fi 以获取自动执行此过程的 systemd 服务。

这可以通过睡眠挂钩自动完成 - 如果模块在休眠或挂起之前卸载,它会立即卸载,没有延迟,并且不会发生恢复内核错误

/etc/systemd/system/ath11k-suspend.service
[Unit]
Description=Suspend: rmmod ath11k_pci
Before=sleep.target

[Service]
Type=oneshot
ExecStart=/usr/bin/rmmod ath11k_pci

[Install]
WantedBy=sleep.target
/etc/systemd/system/ath11k-resume.service
[Unit]
Description=Resume: modprobe ath11k_pci
After=suspend.target suspend-then-hibernate.target hibernate.target hybrid-sleep.target

[Service]
Type=oneshot
ExecStart=/usr/bin/modprobe ath11k_pci

[Install]
WantedBy=suspend.target suspend-then-hibernate.target hibernate.target hybrid-sleep.target

您需要 启用 ath11k-suspend.serviceath11k-resume.service

此外,可能还需要 重启 NetworkManager.service

移动宽带

工作正常。 请按照 移动宽带调制解调器 中的说明进行操作,特别是 FCC 解锁 部分。

智能卡读卡器

似乎可以工作并读取卡。 请按照 智能卡 中的说明进行操作。

指纹识别器

按预期工作。 请按照 fprintd 进行操作

电源管理

S3 睡眠 / s2idle

不支持 S3 睡眠。 但是,s2idle 开箱即用,不会导致睡眠/休眠出现问题。

休眠

工作正常。 如果您在休眠后遇到 Wi-Fi 问题,请参阅:网络 / Wi-Fi

电池阈值

可以使用 TLPKDE / GNOME 电源管理或从命令行正确设置电池充电阈值

# echo 75 > /sys/class/power_supply/BAT0/charge_start_threshold
# echo 80 > /sys/class/power_supply/BAT0/charge_stop_threshold

AMD P-State EPP

使用 power-profiles-daemon 或此 udev 规则 + 脚本,根据笔记本电脑是在电池还是充电器上运行来应用不同的 AMD P-State EPP 状态。

/etc/udev/rules.d/99-battery.rules
SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="/usr/local/bin/on_battery.sh"
SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="/usr/local/bin/on_ac.sh"
/usr/local/bin/on_battery.sh
#!/usr/bin/bash

# Change Dirty Writeback Centisecs according to TLP / Powertop
echo '5000' > '/proc/sys/vm/dirty_writeback_centisecs';

# Change AMD Paste EPP energy preference
# Available profiles: performance, balance_performance, balance_power, power
echo 'balance_power' | tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference;

# If required, change cpu scaling governor
# Possible options are: conservative ondemand userspace powersave performance schedutil
#cpupower frequency-set -g powersave;

# Platform Profiles Daemon will do this automatically, based on your settings in KDE / GNOME
# You can how ever, set this manually as well
# Possible profile options are: performance, powersave, low-power
#echo 'powersave' > '/sys/firmware/acpi/platform_profile';

# Radeon AMDGPU DPM switching doesn't seem to be supported.
# Possible options should be: battery, balanced, performance, auto
#echo 'battery' > '/sys/class/drm/card0/device/power_dpm_state'; 

# Should always be auto (TLP default = auto)
# Possible options are: auto, high, low
#echo 'auto' > '/sys/class/drm/card0/device/power_dpm_force_performance_level';

# Runtime PM for PCI Device to auto
find /sys/bus/pci/devices/*/power -name control -exec sh -c 'echo "auto" > "$1"' _ {} \;
for i in $(find /sys/devices/pci0000\:00/0* -maxdepth 3 -name control); do
    echo auto > $i;
done
/usr/local/bin/on_ac.sh
#!/usr/bin/bash

# Change Dirty Writeback Centisecs according to TLP / Powertop
echo '500' > '/proc/sys/vm/dirty_writeback_centisecs';

# Change AMD Paste EPP energy preference
# Available profiles: performance, balance_performance, balance_power, power
echo 'balance_performance' | tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference;

# If required, change cpu scaling governor
# Possible options are: conservative ondemand userspace powersave performance schedutil
#cpupower frequency-set -g performance;

# Platform Profiles Daemon will do this automatically, based on your settings in KDE / GNOME
# You can how ever, set this manually as well
# Possible profile options are: performance, powersave, low-power
#echo 'performance' > '/sys/firmware/acpi/platform_profile';

# Radeon AMDGPU DPM switching doesn't seem to be supported.
# Possible options should be: battery, balanced, performance, auto
#echo 'performance' > '/sys/class/drm/card0/device/power_dpm_state';

# Should always be auto (TLP default = auto)
# Possible options are: auto, high, low
#echo 'auto' > '/sys/class/drm/card0/device/power_dpm_force_performance_level';

# Runtime PM for PCI Device to on
find /sys/bus/pci/devices/*/power -name control -exec sh -c 'echo "on" > "$1"' _ {} \;
for i in $(find /sys/devices/pci0000\:00/0* -maxdepth 3 -name control); do
    echo on > $i;
done

此外,使 /usr/local/bin/on_battery.sh/usr/local/bin/on_ac.sh 可执行

Power Profiles Daemon

软件包 power-profiles-daemonKDE#电源管理GNOME#电源模式 的标准电源管理服务。 它与 TLP 冲突,原因在此处描述: https://gitlab.freedesktop.org/upower/power-profiles-daemon#why-not

  1. 安装 power-profiles-daemon
  2. 启动/启用 power-profiles-daemon 服务。

麦克风 LED

一些用户报告说麦克风 LED 始终亮着。

这并非总是发生,但如果您遇到此问题,请参阅: Lenovo ThinkPad T14 (AMD) Gen 3#静音麦克风 LED 始终亮起

功能键

按键 可见?1 标记?2 效果 备注
Fn XF86WakeUp
Fn+4 XF86Sleep
Fn+Esc 切换 Fn 锁定 有状态指示灯
Fn+F1 XF86AudioMute 有状态指示灯
Fn+F2 XF86AudioLowerVolume
Fn+F3 XF86AudioRaiseVolume
Fn+F4 XF86AudioMicMute 有状态指示灯
Fn+F5 XF86MonBrightnessDown
Fn+F6 XF86MonBrightnessUp
Fn+F7 XF86Display
Fn+F8 XF86WLAN 标记有飞行模式
Fn+F9 XF86Messenger 标记有消息框
Fn+F10 XF86Go 标记有电话应答呼叫
Fn+F11 取消 标记有电话结束呼叫
Fn+F12 XF86Favorites
Fn+Left 首页
Fn+Right End
Fn+P Pause
Fn+S Sys_Req
Fn+K Scroll_Lock
Fn+B Break
Stamp Print
Fn+Space 更改键盘背光亮度级别
  1. 该按键对 xev 和类似工具可见。
  2. 物理按键上有一个符号,描述其功能。

故障排除

笔记本电脑无法挂起/重启/关机

如果您的笔记本电脑无法挂起、重启甚至关机,则可能是由于 2024 年 5 月 5 日发布的 UEFI 固件 0.1.40 引起的。 据报告,此固件会导致多个问题,例如(但不限于)

  1. 笔记本电脑无法挂起/重启/关机;
  2. TLP 和 fwupdmgr 服务无法启动;
  3. 无法重新生成 initramfs,因为 mkinitcpio autodetect 挂钩无限期挂起。

所有这些问题可能都与 AMD Sensor Fusion HUB 设备 的故障有关。 运行 dmesg 将显示类似的错误

[    5.547449] BUG: unable to handle page fault for address: 000000010000003a
[    5.547474] #PF: supervisor read access in kernel mode
[    5.547486] #PF: error_code(0x0000) - not-present page
[    5.547497] PGD 0 P4D 0 
[    5.547509] Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
[    5.547522] CPU: 13 PID: 466 Comm: (udev-worker) Not tainted 6.10.2-arch1-2 #1 
[    5.547557] RIP: 0010:amd_sfh_get_report+0x1c/0x110 [amd_sfh]
...
[    5.557018] CR2: 000000010000003a
[    5.557524] ---[ end trace 0000000000000000 ]---

要解决此问题,请禁用 amd_sfh 内核模块。 请注意,由于您无法重建 initramfs,因此您应首先从引导加载程序中禁用该模块,然后再使其永久生效。 另请参阅 此处此处

参见