联想在今年出了新的Yoga 14s,用上了各种新处理器,性价比还极高。经过比对,最终以续航为主要因素,Thunderbolt接口为次要因素,选择了搭载新一代Intel CPU(Core i5-1135G7)的版本——毕竟AMD版的官方续航直接坎半,哪怕AMD性能再好,这个也实在无法接受。其预计出货时间为11月1日,刚好还在国内。
前一台电脑是XPS 13 9343,到货验货以及装Linux十分顺利(或许和其有开发者版有关),所以这次本以为也会一样或类似(毕竟之前看到说联想今年换了代工厂,品控似乎有点问题)。然而,到货之后折腾了许多时候,花去很多精力,最终方得装上可用的Linux。于是有了这篇文,稍微记载一下碰上的问题,以及解决流程,方便有人想溯源或提供更好的解决方案;当然,也顺便写点使用感受。
如果只想看解决方法,也可以直接看Arch wiki上的相关页面。嗯对,这个页面是我写的(至少到目前是),所以很简陋。
初次开机及奇妙表现
测试后发现很奇妙,也找不到相关资料,所以我当时总结到了贴吧。
预装了Windows 10,所以开机直接进入Windows 10的初始化。看到说激活后无法退货,而联网就会激活,所以直接跳过联网步骤。至此为止所有操作都是用的触摸板,所以似乎一切正常。然而在轮到输入用户名和密码的时候,忽然发现键盘没有响应。
于是按了电源键,关机,再开,问题消失,重启Windows也没有问题。本以为是初次初始化的问题,然而在通过U盘引导进入Linux之后发现问题仍然存在(无论是图形界面下还是tty下)。这时候也得以完整测试,发现表现很奇妙:
- 无响应实际分两种: a. 完全没有响应,包括切换键盘背光也没有反应; b. 切换背光以及功能快捷键(比如调整屏幕亮度)有效,但其他部分无效;
- 前述第二种状况下等待一段不定的时间,键盘有希望恢复正常响应;
- 挂起后恢复,键盘状况会随机变化。
第一台电脑的USB部分好像还有点问题:右侧的USB Type-A接口和左侧第二个Type-C接口(左侧第一个一直连着电源,没测)在首次使用时,在我所用的非Windows环境(UEFI设置、Linux Live CD)没有响应,直到我进入Windows,之后就没有问题。 而从右侧Type-A插入的U盘,第一次在Windows下,正常识别。重新写了个系统,在非开机状况插入,UEFI不识别。进到Windows下,打开系统管理-磁盘管理,能看到识别到了USB存储设备,但此外什么信息都没有——容量、分区表等一切信息都不存在。关机,拔下来,开机进到Windows,插进去,正确识别了。左侧的Type-C口的Unifying接收器(通过一个转换器)也有类似的遭遇,但没有细究。
于是联系了联想售后,后又等本地服务站联系,终于有人上门。展示了一下现象,签单子,收走。实际是要换货,但我有时间顾虑,所以选择了退货同时重新买一台新的。当然,这样的话,预购时的一年延保活动就没了,当然也不太要紧就是了。
新电脑的USB接口倒是没有这个问题了,而首次启动时键盘也没问题。进入Linux后,也没再见过无响应里的状况一,虽然状况二依然存在。
解决键盘问题
我用dmesg
检查内核日志时发现有一些关于键盘的行说道i8042云云,并建议添加i8042.nopnp
试试。我试了,发现并没有什么用处。
同时呢,还在日志里看到,似乎内核识别了键盘为一个PS/2设备,所以对通过加参数解决问题有点信心了。
然后就去查了内核参数大全,发现这个i8042还有一些其他选项。由于大部分我都看不懂,所以就添加了个code:i8042.debug试试看能发现什么不能。
于是就看到了奇妙的事情——键盘经常是有信号传给内核(因为dmesg里有相应事件),但却没有实际输入任何内容。在大约一半情况下,过了一会,dmesg中也不再交代新的键盘事件——该现象出现速度和我按键盘的频率正相关,但和敲击次数无关。
不过既然事件能识别,那大约应该就是没找对参数了。于是就在网上各种搜,最后找到了:https://askubuntu.com/questions/276493/keyboard-not-working-on-lg-laptop。
简而言之,在启动时,给内核传两个额外的参数就行:
i8042.dumbkbd=1 i8042.nopnp=1
更进一步试验后,发现只需要一个就行,而且还不需要那个等号:
i8042.dumbkbd
表面因素是Linux试图让键盘更高级一点,能指挥它(亮灯),但这个键盘没法好好听指挥。但实际到底是因为什么,我是不太清楚的。简单看了一下那个问题以及下面的诸多回答,没完全看懂最终的实际因素,但大概似乎是因为UEFI应该处理PNP但实际上没有处理?
屏幕闪烁
我在U盘上写过Arch和Ubuntu,本来是为了确认键盘问题。但在装好系统后,发现在arch下会屏幕闪烁,且包括在tty下都会。其具体表现是:当屏幕在短时间内有大量更新时,屏幕部分会闪黑,然后再有刷新时会恢复(tty下则是在有新输入时)。
搜到这个贴子,跟着走到arch wiki的这里,貌似是个bug。目前的临时解法是增加这个内核参数:
i915.enable_psr=0
当然,我很好奇Ubuntu下是怎么配置的,会不会调整其他的就行了。毕竟这个PSR功能似乎可以省电?
另外还看到这个问题,不知道是否相关。
无线网卡接口设备丢失
这是一个很有趣的现象,其表现是:rfkill
可以找到设备,且设备都是未锁定状态;但ip link
里面没有这个接口设备,当然也无法联网。
该现象的触发和不触发机制都比较稳定:从Windows那边「重启」进来就会触发,「关机」过来就不会。这让我觉得应该是Windows对无线网卡进行了什么设置,导致其处于某种状态,使得Linux无法正确使用它。
哦,顺便一提,Yoga 14s用的是Intel AX201。
红外摄像头无红外
默认状况下,红外和常规摄像头都能被检测到,并且有相应设备文件存在。检测到的摄像头名称也能反映它们:C表示Color(彩色),I表示Infrared(红外)。
但这里有个小问题,就是红外摄像头的红外(补光?)灯没有反应,导致红外摄像头拍出的东西非常暗。对常规使用来说,这不是什么问题,但我使用Howdy就比较难受了——一个是不确定红外闪光灯本身的明暗变化是否对识别有加成,一个是普通摄像头在暗光表现不好。
最初没有找到解决方案,但后来发现Issue #269 ,并追踪到这个脚本。照说明执行,即可解决问题。
但目前该脚本需要每次开机手动执行。我正在协助作者将其打包至AUR。
其他杂项
除了上面这些外,还有一些杂项小东西。虽然都不算关键问题,但会很烦人。
音频
装上arch(及Plasma)之后没有声音,以往都是开箱即用所以从来没注意过。
检查内核日志,看到下面这样的内容:
Direct firmware load for intel/sof/sof-tgl.ri failed with error
进行搜索,看了这个贴子,解决方法是安装sof-firmware
。
UEFI固件更新
由于Windows会有背光打不开的问题,联想推了个UEFI固件的更新,日期是2020-10-30。这个bug也是好玩:液晶本身正常,就是背光没有,于是可以自己拿个灯去照着勉强看到;而Windows过一段时间以后(不到10分钟)就会自动恢复正常。我是在Windows大规模更新(早就完成了Windows自己的更新,这里在更新附加的软件)以后才有的这个问题,之前没有。
该UEFI更新是个.exe
文件,要通过Windows来更新。然而更坑爹的是:更新完成后,我的Linux引导项被从UEFI中抹掉了!然而UEFI的其他配置还健在,所以显然不是联想做不到!
没办法,只能自己重新去写。好在只是UEFI里那项丢了,加回去也挺容易。
待解决问题
- 键盘按前文方法设置后,大写锁定的灯不会跟随亮起。虽然不是什么大不了的事,但能跟随还是最好。类似地,键盘背光在每回开机或挂起恢复时都会重置,晚间比较难受。
- 在Linux下,设置2880x1800分辨率的情况下,只能设置90Hz刷新率。虽然理论上看起来更舒服……但耗电啊!
- 我直接上了KDE,然后没继续折腾(比如修改我的awesomeWM配置文件)。然而在使用中偶尔会发生问题:图形界面上除鼠标指针外的所有东西停止绘制,但其他一切正常,比如鼠标指针正常移动、改变形状,播放继续进行。切换tty没有任何问题;合上盖子也会进入挂起。然而挂起后鼠标指针会消失。
个人感受
除去这些问题以外,这款Yoga 14s整体而言我觉得还不错。
其键盘手感比我之前的XPS 13好一点,不过是不同类型的手感;触摸板手感和XPS 13的类似(都是玻璃面板),但要更大一些;摄像头也更好不少(毕竟要承担Windows Hello呢);麦克风杂音很弱(Linux下,没有做任何设置);屏幕素质确实不错(2880x1800 = 1440x900x2x2;号称100% sRGB),而且最高亮度算是有了很大提升。
当然不足也是有的,比如屏幕漏光还是可以发现的(但我的不算很严重,所以就不管了),比如插入电源后外壳稍有漏电。还有一些小的见仁见智的事,比如键盘没有菜单键,比如F系列功能键设为默认时Esc键上的指示灯常亮(不能修改亮灯方法),比如不是我心心念念的插槽内存而非板载内存。
我在挑选的时候,另一个备选项是华硕灵耀X纵横(也就是Zenbook UX393)——贵得多,但好一些,也好看得多。但华硕宁可要祖传的Micro SD读卡器也要舍弃3.5mm耳机接口这件事让我实在无法理解……这方面Yoga 14s就正常多了,带了个耳机口,没带读卡器。按这里测试,这个读卡器是降速版本的,而且华硕居然把无线网卡也焊在主板上了!
电池呢,似乎没有宣传得那么久,我估计能正常使用7个多小时,和我XPS比还要低一些。在系统中用powertop
监测,发现开启WiFi的基础上低计算消耗时功率大约是11W,而XPS大约是8W。可能和我在Linux下没能完全优化好有关吧,不知道Windows下表现会怎么样。
您可以在Hypothesis上的該群組內進行評論,或使用下面的Disqus評論。