Lenovo ThinkPad T420 (简体中文)
本文涵盖了在Lenovo T420笔记本上安装和配置Arch Linux的信息。
安装
此型号笔记本支持UEFI,也支持传统BIOS。
使用最新的Archiso没有遇到安装问题。
其余安装过程请参考official install guide。
硬件
除了以下硬件外,其余硬件安装完成即可使用:
指纹扫描器
指纹扫描器可以在fprint和PAM配合下完美工作(建议同时安装fingerprint-gui)。
查看 Fingerprint GUI以获得更多细节。
部分多媒体按键
未测试
- 火线
笔记本设置
ACPI
ACPI 支持完善。没有明显问题。
Tp_smapi
不幸的是,tp_smapi在Thinkpad T420上只被部分支持。很多特性从0.41开始才能工作。例如,硬盘驱动器保护机制HDAPS现在工作得非常好。请阅读链接的wiki入口。
一些特性,如设置电池开始充电阈值仍然不工作。为了控制电池充电阈值,请安装Perl脚本tpacpi-bat,它位于AUR.
通过以下命令加载内核模块acpi_call
:
modprobe acpi_call
通过命令手工设置阈值
perl /usr/lib/perl5/vendor_perl/tpacpi-bat -v startChargeThreshold 0 40 perl /usr/lib/perl5/vendor_perl/tpacpi-bat -v stopChargeThreshold 0 80
这个示例中40和80表示满电量的百分比。请调整为你需要的值。你也可能想编写一个简单的set-battery.service
并且启用它以便在启动系统时自动执行。虽然这些值应该是永久有效的,但实际上它们会在电池被移除时重置。
[Unit] Description=Set battery capacity [Service] Type=oneshot ExecStart=/usr/bin/perl /usr/lib/perl5/vendor_perl/tpacpi-bat -v stopChargeThreshold 0 80 ExecStart=/usr/bin/perl /usr/lib/perl5/vendor_perl/tpacpi-bat -v startChargeThreshold 0 40 [Install] WantedBy=multi-user.target
另外,如果你装了Windows作为双引导,你仍然可以通过联想电源管理器来控制电池阈值。它会直接与电池控制器通讯来达到目标。
如果使用systemd,你可能想在systemd-modules-load.service加载失败时屏蔽tp_smapi,因为新型号的ThinkPad都能够通过ACPI控制一切(逻辑混乱,没理解原作者什么意思)。
CPU频率调整
CPU frequency scaling在这个机型的所有可能处理器上都能正常运作。
风扇
thinkpad_acpi需要配置才能让用户空间程序正确控制风扇转速。
/etc/modprobe.d/thinkpad_acpi.conf
options thinkpad_acpi fan_control=1
thinkfanAUR配置文件需要知道如何控制风扇转速。用以下配置替换默认的传感器配置:
/etc/thinkfan.conf
sensor /sys/devices/virtual/thermal/thermal_zone0/temp
你可以通过在rc.conf文件中添加或删除DAEMONS
数组中的项来启动它。它最终看起来将类似于:
DAEMONS=(...@thinkfan...)
或者,如果你使用systemd,请使用:
# systemctl enable thinkfan.service
Laptop Mode Tools
使用Laptop Mode Tools时未发现任何问题。
可能的Bug#使用电池时关机
AUR中的tlp是另一个可选的可替换Laptop Mode Tools的工具。
触摸板
触摸板和小红帽能直接工作,但触摸板实在太过灵敏而不便使用,因为它被当作是鼠标对待。为了修复这个问题,安装xf86-input-synaptics包并把以下两个文件加入你的/etc/X11/xorg.conf.d/
目录中:
50-thinkpad-trackpoint.conf
Section "InputClass" Identifier "ThinkPad TrackPoint" MatchProduct "TPPS/2 IBM TrackPoint" MatchDevicePath "/dev/input/event*" Option "EmulateWheel" "true" Option "EmulateWheelButton" "2" Option "XAxisMapping" "6 7" Option "YAxisMapping" "4 5" EndSection
50-twofingerscroll.conf
Section "InputClass" Identifier "two finger scrolling" Driver "synaptics" MatchProduct "SynPS/2 Synaptics TouchPad" MatchDevicePath "/dev/input/event*" Option "VertTwoFingerScroll" "on" Option "HorizTwoFingerScroll" "on" Option "EmulateTwoFingerMinW" "8" Option "EmulateTwoFingerMinZ" "40" Option "TapButton1" "1" EndSection
请按自己需要调整。阅读Touchpad Synaptics以获取更多信息。
要调整小红帽的速度/灵敏度,请在/etc/rc.local
中添加如下配置:
/etc/rc.local
TPDEV=/sys/devices/platform/i8042/serio1 echo -n 180 > $TPDEV/speed echo -n 200 > $TPDEV/sensitivity
可取值范围是1-255。
NVIDIA Optimus
Bumblebee在具有NVIDIA Optimus的型号上工作正常。
可选内核引导参数
使用如下内核引导参数可以减少电池消耗:
i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1
故障解决
多媒体键
开箱即可使用的多媒体键:
- 无线网络开/关
- 背景灯光设置
- 键盘灯
- 静音
开箱不可直接使用的媒体键:
你必须找到变通方案并且自己绑定剩下的键。
重新绑定前进/后退键
前进/后退键(方向键旁边的键)可以容易地重新映射为PageDown/PageUp。
安装 xmodmap及其软件包xorg-server-utils[损坏的链接:package not found]
新建一个~/.Xmodmap
文件,内容为:
keysym XF86Back = Page_Up keysym XF86Forward = Page_Down
把此行添加到你的~/.xinitrc
文件中使它工作:
xmodmap ~/.Xmodmap
你也可以重新映射上一首(Fn+方向左
)和下一首(Fn+方向右
)为Home/End:
keysym XF86AudioNext = End keysym XF86AudioPrev = Home
打开/关闭触摸板
一些情况下(Fn+F8
)键无法正常打开或关闭触摸板。有一个简单的键盘绑定需要添加到你的~/.xbindkeysrc
文件中以使快速切换触摸板键能够工作。为使它工作,运行xbindkeysrc
。这将会绑定 Fn+F8
到'切换触摸板开/关'功能。(在i3wm 和 xfce4中通过测试,这些情况下Fn+F8
原本都不工作)
# 切换触摸板开/关 "synclient TouchpadOff=`synclient -l | grep -ce TouchpadOff.*0`" m:0x0 + c:199 XF86TouchpadToggle
音量提升/降低键无法改变音量
又一个~/.xbindkeysrc
中的快速键绑定以改变音量(在一些环境中本来不工作)。运行xbindkeys
使设置生效。截取自Xbindkeys:
#提升音量 "amixer set Master playback 1+" m:0x0 + c:123 XF86AudioRaiseVolume
#降低音量 "amixer set Master playback 1-" m:0x0 + c:122 XF86AudioLowerVolume
为了生静音按钮工作,我把它与Alsa接口绑定:
# Toggle mute "amixer set Master toggle" m:0x0 + c:121 XF86AudioMute
使用电池时关机
有用户汇报T420在使用电池时关机变为重启。有一些办法能够尝试修复这个问题,以下展示了三种。
一种办法是禁用模块ehci_hcd
。查看Kernel modules#Blacklisting以获得更多信息。
或者是禁用Laptop Mode Tools
把!laptop-mode
添加到DAEMONS
数组,它位于文件/etc/rc.conf
:
DAEMONS=(...!laptop-mode...)
这篇论坛帖子详细描述了其他能让你电脑正常关机的方法。关闭laptop-mode
守护进程会使电池持续时间受损,所以当移动使用中又需要正常关机时帖子里的方法会更方便。
重启时挂起
这是一个很多笔记本上都存在的问题,可以通过禁用e1000e
内核模块修复。
无背景灯控制
有一个用户报告亮度控制(fn+home, fn+end)在一些桌面环境中不工作。可以通过添加如下内核参数修复此问题:
acpi_backlight=vendor acpi_osi=Linux