
我去翻了postmarketOS的设备支持表。
起因是8月17日的一篇博客。荷兰一个叫Catcrafts的开发者说,Fairphone 6的主摄像头,他把驱动写出来了,自动对焦和色彩校正一起跑通。这机器上跑的不是安卓,是主线内核那种真正的Linux——手机脱离安卓跑Linux,卡了很多年的就是摄像头这关。我想知道这一下把它推到了哪,就把wiki页打开一行行数。

18比10,这是我自己数出来的
postmarketOS每台设备的wiki页顶上挂着一个信息框,里面是一长串以status_开头的字段。取值只有几种:Y能用,P部分能用,N不能用,短横线表示这机器压根没这硬件,不参与打分。
Fairphone 6那页我数到41个字段。先剔掉11个短横线的——没有实体键盘、没有红外收发、没有以太网口,不该算在它头上。再剔掉status_fossbootloader(开源引导器),它挂在“软件”那栏,算不上硬件功能,这项我犹豫了一下才拿掉。剩下29项:18项Y,1项P,10项N。
62.1%。这是我按上面这个口径折出来的;懒得剔那个引导器的话,按30项算,正好60%整。
还有个必须交代的:这张表最后一次编辑停在7月12日上午10点08分(UTC)。我数出来的数比那篇博客旧了一个多月,表上摄像头那一格,此刻还写着N。
能用的那18项里,有一项特别刺眼
刷机、UART、USB网络、eMMC、SD卡、电池、屏幕、触摸、3D加速、WiFi、蓝牙、短信、移动数据、全盘加密、OTG、霍尔开关、振动马达,都是Y。第18项,是闪光灯。
灯能亮,相机不能拍。
10项N是内置音频、摄像头、GPS、NFC、指纹、加速度计、磁力计、光线感应、距离感应、气压计。通话标P,wiki上写得很清楚:内置扬声器和麦克风都不通,接蓝牙或USB音频设备能出声,但那是放媒体,不是打电话。
这条也旧了。Catcrafts文章底下贴了张运营商清单,荷兰KPN、德国电信、挪威的Phonero和Telia,四家网络的通话都有人实测拨通。为了搞清楚紧急呼叫能不能用,他直接打给荷兰警方的非紧急电话,对方说这信息不公开,给了个邮箱让他申请。他真发了,还收到回信:测试窗口批在8月18日13点30分到14点15分。
就是今天。
顺手把上一代也数了一遍
光有62%看不出高低,我把Fairphone 5那页也数了。同样口径下也是29项:24项Y,3项P(音频、摄像头、通话),2项N(NFC和指纹),82.8%。
口径有个不干净的地方:Fairphone 5那页干脆没写短横线的行,两张表的字段并不完全对齐,我按各自页面实际写了的算,想严格横比得等有人补模板。大方向不会错——2023年那台磨了两年多磨到八成;2025年这台,一年出头,六成。

摄像头为什么偏偏是最后一关
难的不是那颗传感器本身。
安卓那边,拍一张照片这条链路上压着一大坨闭源的东西:高通的相机服务、厂商私有的调校参数、专跑ISP的固件。postmarketOS一样都不用,只认主线内核的驱动加用户态的libcamera。传感器吐出来的是原始拜耳数据,到一张能看的照片之间,那些活得自己在GPU上算。
关卡具体在高通的qcom-camss这一层:内核先得认识SM7635里那几块相机硬件,在设备树里描述清楚,然后才轮到传感器驱动。
这机器背上挂着三颗传感器。主摄索尼IMX896——官网写的是“Sony Lytia 700C”,我核了一下,Lytia是索尼自家的品牌名,对应型号就是IMX896。广角是豪威OV13B10,这颗主线内核里早有驱动。前摄三星S5KKD1。
三颗里只有广角是现成的,所以最先通的也是广角。
他卡在一片全黑的画面上
广角这一步是另一个人做的,nondescriptpointer,7月21日发的文。他的路子取巧:Fairphone 6的ISP前端叫TFE665,主线内核已经支持TFE530,两者本质是同一套IP,寄存器布局一模一样。于是他把camss-vfe-665.c照搬过来,逐个对偏移量。
然后就卡住了。时序信号看着全对,帧数据全是零。
这种bug最磨人的地方在于,你分不清自己是错在一个字节上,还是错在整个思路上。他挖出来的原因是:RDI写主口的打包格式两代不一样,TFE665走128位总线,那个寄存器该写0x0,TFE530是64位,写0xa。旁边还埋着第二颗雷——少配了一条叫CAM_CC_SOC_AHB_CLK的时钟,缺了它读寄存器不报错,只是悄悄读回错值。
一个0xa改成0x0,画面就出来了。解马赛克丢给GPU跑,大约30帧,用的是libcamera 0.7.2自带的软件ISP。
主摄这一颗,是昨天的事
接着往下啃IMX896的是Catcrafts。8月17日他把结果发出来:主摄驱动写完,自动对焦和色彩校正一起跑通。文章里放了色彩校正调整前后两张样张,后面那张确实好了一大截。
紧接着他自己泼了盆冷水,说这张还是很花,Plasma相机存成jpg也没帮上忙。他干脆拿自己那台安卓的Galaxy A16拍了同一个场景放上来对照——一台千把块的安卓机,成片干净得多。
这种自曝其短的写法,比任何跑分都可信。
待办清单他也列了:色彩校正接着调,把纯软件对焦换成用机身那颗激光测距传感器对焦,然后是前摄和指纹。整套补丁推进主线内核,他自己估至少半年。

为什么试验田偏偏是这台机器
Fairphone是荷兰公司。这机器官网现价549欧元,首发599。5年质保,安卓更新做到2033年6月,12个模块能自己换,官网那句话挺硬气:“没有一处是胶粘死的。”
这些是市场部的说法。真让它成为Linux试验田的是另一些不上广告的细节:解锁引导器走官方渠道,且不需要解锁critical分区;系统镜像能写进209GiB的userdata分区,也能直接dd到SD卡上。连串口地线接哪个测试点,都能在Fairphone公开的维修蓝图PDF里查到编号。
这台手机现在到底能干什么
先把话说清楚:现在不建议拿它当主力机。
那18项Y翻译成人话,是开机、亮屏、触摸、上网、发短信、装应用、把存储加密,打电话也有人实测通过。但内置扬声器和麦克风还是哑的,GPS、NFC、指纹一样都没有,连加速度计都不通,屏幕不会自动转。摄像头刚能拍出一张噪点很重的照片,还没进正式发行的镜像。
适合动手的人很具体:手上正好有台Fairphone 6,愿意再买张SD卡当系统盘,图一台不跟任何账号绑死的手机,且接受它眼下只算半台。反过来更好判断,你要是指望它拍照或者装微信,别碰。
这件事的分量也不在这一台机器上。手机跑主线Linux这条路,屏幕、触摸、WiFi、模组通话都陆续被人啃下来过,唯独摄像头,十来年一直是那个绕不过去也确实没人绕过去的坎。这回通的不只是一颗传感器,是一整条从qcom-camss到libcamera的路径。
把摄像头这一关捅穿,比再发布十台号称“为Linux而生”的手机都管用。而这件事最后是被一个荷兰人在业余时间、靠网友捐款买设备、把一个寄存器里的0xa改成0x0做成的——Linux手机缺的从来不是情怀,是肯把手册摊开、一个字节一个字节去对的人。