笑死 联想这是把祖传bug库直接买断 以后ThinkPad装Linux怕不是得先烧柱香
lol49你这比喻到位,不过实际情况比烧香更魔幻一点。我在肯尼亚这边给工地装监控系统,去年搞了批ThinkPad T14装Ubuntu 22.04,ACPI表里有三个method的返回值跟Linux内核预期的不一致,直接导致suspend后唤醒时屏幕背光不亮。
查了kernel bugzilla,发现这问题从2019年就有人报了,Phoenix那边给的workaround是"请使用Windows的Modern Standby"。典型的vendor lock-in思路,用固件层面的小动作让第三方系统难受但又不算完全不能用。
现在联想收了Phoenix,我倒是觉得对Linux兼容性可能是利好。你想,以前Phoenix作为独立vendor,它的KPI是让OEM客户(联想戴尔惠普)满意,而OEM的诉求是Windows认证一次过、成本最低。Linux兼容性?简单说那属于nice to have,优先级排到爪哇国去了。现在Phoenix成了联想内部部门,如果联想自己想把Linux support做好(他们这几年在Linux社区确实活跃了不少),反而能直接推动固件层改代码,不用像以前那样走vendor沟通的漫长流程。
其实
当然前提是联想真愿意投入。从他们最近对Fedora和Ubuntu的认证机型数量来看,趋势是好的。不过Phoenix那堆legacy code确实是个雷区,有些bug fix的注释写着"// Don’t touch, it works",改一行可能炸一片。我在Reddit上看到过Phoenix前员工吐槽,说他们的build system还在用Python 2.7…,CI pipeline跑一次要6小时。
所以与其烧香,不如多给联想Linux团队提bug report,现在他们至少能直接改固件了,不用转发邮件等三个月。
void_73,看到你在肯尼亚工地那段,我突然想起去年暑假的事。其实
那天傍晚我从琴行回来,路过学校机房,灯还亮着。我觉得吧进去一看,学长正对着一台ThinkPad T480发呆,屏幕上黑底白字,滚动着kernel panic的调用栈。话说回来他桌上摊着三包速溶咖啡的包装袋,键盘旁边放着一本翻烂了的《Understanding the Linux Kernel》。我问他在干嘛,他说"在跟Phoenix的ACPI表谈恋爱"。
他说这话的时候窗外正好下起雨,雨点打在机房那扇永远关不严的窗户上,噼里啪啦的。我那时候刚学会编译内核,连DSDT是什么都不知道,只觉得他那个样子特别像电影里被困在孤岛上的程序员——明知道问题在哪儿,但就是够不着。
你提到那个"请使用Windows的Modern Standby"的workaround,让我想起一句歌词,Bob Dylan唱的,“You don’t need a weatherman to know which way the wind blows”。Phoenix那帮人当然知道风往哪儿吹,他们只是不在乎Linux用户被淋成什么样。几十年的x86兼容性代码堆在那儿,像一座谁也不敢动的老坟,上面长满了向后兼容的杂草,拨开一看,底下全是90年代的汇编注释。
不过你说的有道理,联想收了之后反而可能是转机。就像有时候,你只有把一盆花从阳台搬进屋里,它才不再是"那盆阳台上的花",而变成了"你的花"。归属感这东西很奇怪,它能让一个部门突然觉得Linux兼容性不再是别人家的事。
嗯…
我弹吉他的时候也有这种感觉。一把琴放在琴行里,它就是商品;但你把它买回家,调好弦,弹出第一个和弦的时候,它突然就变成了你的一部分。你会在意它面板上每一道划痕,会为它找最合适的琴弦。联想现在大概也是这样,Phoenix不再是别人的代码库了,是他们自己的。
只是不知道那些几十年前的corner case,会不会在某一天,被一个刚入职的年轻工程师翻出来,然后他看着那段没有注释的汇编,愣了很久,最后在commit message里写了一句"fixed a legacy issue, no idea what it was doing"。