Xps13-9340 在 Arch linux 上点亮 IPU6 摄像头折腾记录

风险提示 作者对 linux 的驱动层并不了解,以下折腾过程多数由 codex 辅助完成,可能并非最佳实践,此文的目的只是为了记录折腾过程,方便自己原样复刻,折腾的时间点是 2026 年 5 月,linux 内核版本为 7.0.3,桌面环境为 KDE Plasma / Wayland 。 目标 让 Xps 13-9340 的内置摄像头的 RGB 输出在 Arch linux 下可用( IR / Windows hello 实在没能力折腾了),并且最终可被识别为 web camera。 结果以及路线 可用,不过没做到 web camera 按需启用。 大致路线: AUR Intel IPU6 + HAL + icamerasrc + v4l2loopback 最初状态 通过 ArchInstall 脚本安装完系统,并安装完 KDE 环境后,主线内核已经可以识别到传感器,但是用户态没有可用画面(黑帧)。 关键现象如下: 传感器成功识别 OVTI02C1:00 -> ov02c10 libcamera 能枚举到相机,但是抓一帧拿到的是纯黑帧,抓取时摄像头隐私灯会亮。 内核错误关键字 intel_ipu6_isys.isys intel_ipu6.isys.40: csi2-4 error: Frame sync error int3472-discrete INT3472:0c: GPIO type 0x02 unknown; the sensor may not work ov02c10 ... supply dovdd/avdd/dvdd not found, using dummy regulator 想法 经过我和 gemini 还有 gpt 的查询,最终我认为在主线上折腾希望比较渺茫,查询到的资料中虽然没有直接指向从 aur 这条路完全点亮的,但是多少有点进度,所以决定从 aur 入手去折腾。 ...

May 6, 2026 · 12 min

Rocknix 添加带虚拟键盘的 Shell

前言 其实在 Rocknix 的 Tools 目录下,有 QTerminal 这个终端,配合上我在 这篇文章 中配置的屏幕键盘,已经可以不用物理键盘就能控制终端了,可是这个东西实在太丑了,不够优雅。我们得想想办法。 效果 实现 使用一个脚本来实现,我把它存储为 /roms/ports/Bash.sh 这样,前端会直接扫描到脚本,可以通过桌面上的 ports 运行。 #!/bin/bash ( sleep 2 swaymsg workspace 1 swaymsg 'for_window [app_id="foot"] fullscreen enable' wvkbd-mobintl --output DSI-1 -L 500 & foot -f monospace:size=18 -e bash killall wvkbd-mobintl ) & disown 为了防止意外,我还另外写了 Clear_MainScreen.sh Clear_SubScreen.sh 两个脚本也放在同样的目录下,用于关闭主屏和副屏上运行的应用。 #!/bin/bash swaymsg '[workspace="1"] kill' killall wvkbd-mobintl swaymsg workspace 1 #!/bin/bash swaymsg '[workspace="2"] kill' killall wvkbd-mobintl swaymsg workspace 1

April 26, 2026 · 1 min

Rocknix 中屏幕键盘的配置

序言 在我使用 Ayn Thor 安装 Rocknix 后,我发现这个系统没有全局的屏幕键盘,这样产生了很多不便,比如 Ayn Thor Linux(Rocknix) 的安装和折腾过程 中提到的,游戏里打不了字完全无法创建角色的问题。 效果 方法 首先先看看 Rocknix 上有哪些屏幕键盘,无敌的 Gemini 告诉我说,可以试试 wvkbd 或者 wvkbd-mobintl 我们 SSH 上去看看 SM8550:~ # wvkbd-mobintl Initializing keyboard Found 54 layouts Found 2 layers Resize 1920x120 1.000000, 55 layouts 看来成功拉起来了,那现在问题是想办法给它拉到副屏上去,这样比较优雅,毕竟我使用的是神奇的双屏掌机嘛。 首先,确认一下双屏的屏幕名称 SM8550:~ # swaymsg -t get_outputs Output DSI-2 'Unknown Unknown Unknown' (focused) Current mode: 1080x1920 @ 120.000 Hz Power: on Position: 0,0 Scale factor: 1.000000 Scale filter: nearest Subpixel hinting: unknown Transform: 90 Workspace: 1 Max render time: off Adaptive sync: disabled Allow tearing: yes Available modes: 1080x1920 @ 120.000 Hz 1080x1920 @ 60.000 Hz Output DSI-1 'Unknown Unknown Unknown' Current mode: 1080x1240 @ 59.999 Hz Power: on Position: 1920,0 Scale factor: 1.000000 Scale filter: nearest Subpixel hinting: unknown Transform: 90 Workspace: 2 Max render time: off Adaptive sync: disabled Allow tearing: no Available modes: 1080x1240 @ 59.999 Hz 看分辨率,显然 DSI-1 就是副屏了,我们尝试在副屏拉起键盘,并且调整一下键盘高度,让它好看点。 ...

April 26, 2026 · 3 min

Ayn Thor Linux(Rocknix) 的安装和折腾过程

就在几天前,听说 Rocknix 项目支持运行 Steam 了,立刻下单 Thor 开始折腾,之前想玩双屏寨机很久了,不过想着安卓系统就算了,这能运行 Linux 甚至还能跑 Steam ,高低得折腾一下 时效警告 下文中的折腾如果无特殊提及版本,均为 nightly 20250419 版本 折腾的结果 硬件上双屏没问题,系统前端不支持双屏,Steam 等也不支持双屏,在非 DS 类模拟器运行的情况下,下屏基本算是摆设(可通过命令在下屏启动轻量的监视器等,参阅我的另一篇文章 Rocknix 中屏幕键盘的配置)。 Steam 启动非常慢(首次安装更慢),但是启动起来后比较流畅,轻量级的游戏也非常流畅(后续在我更新后的 nightly-20260511 版本中,已经有了 arm 原生 steam 倒是快了非常多,不过新增的 game scope,不打开这个模式的话,默认启动的是小屏版,你按 home 键开启大屏版后,下次启动会卡加载动画,启动 game scope 的话,它会关闭 sway,你的下屏基本没用了,更严重的是触摸是有问题的)。 官方只支持两种 VPN ,并没有喜闻乐见的 Xray 等网络工具的支持,折腾需要透明代理,或者自己想办法使用 SSH 进去运行 。 缺少系统级中文(其实是 CJK 都缺)字体,需要自己安装,不安装的话只有游戏前端支持中文,Steam 以及其他模拟器中会变为方框。 Steam 应用内,时区没有默认设置,需要手动配置。 兼容性差强人意,我测试过的几个游戏 土豆兄弟(Brotato) 完美运行 尼尔:机械纪元(NieR:Automata) 能进游戏,止步于创建角色,即使我唤醒 Steam 屏幕键盘,也无法输入名字,配置好 屏幕键盘 后完美运行。 怪物猎人崛起(MONSTER HUNTER RISE) 闪退,我还在想办法折腾(调整了一堆东西也没跑起来,我放弃了)。 看门狗(Watch Dogs) 报错后死机,我对运行起来不抱什么希望了。 目前没有很方便的方法直接安装在 UFS 中,需要 TF 卡,我选择了把安卓的 userdata 分区切分出一部分挂载在 Rocknix 上,这样可以把一些大型游戏安装在 UFS 上,提升一些运行性能。 ...

April 24, 2026 · 6 min

星海贝M500初音未来联名(Hiby M500_MIKU)折腾记录

前段时间在 Hiby 国际网站买了初音联名 M500 ,其实我本人并不是什么 HiFi 玩家,但是关键是,它是初音联名啊,而且买之前我发现海鲜市场上有 4G 版解锁拨号盘和信息功能,下单回来折腾一下。 拆箱 什么,你以为会有图吗,网上那么多拆箱图去看一下就行了,我才懒得传图。 有点意思的是,国际版设备开机之后, BL 锁直接是没锁的,要不是我收到的日期和生产日期只差一周,那我肯定怀疑买到摸摸机了,不过后面的一些探索证明了它可能的确是 Hiby 故意不锁的。 Root 思路 说实话,我已经很久很久没有玩过安卓机了,我印象中的刷机还是先安装 TWRP ,不过仔细回忆一下,现在似乎是用 Magisk 之类的,刚拿到机器的时候甚至有点修为尽失的感觉,还好现在还有 Claude 。 言归正传, Root 思路都差不多,这台机器较为简单。 9008 回读所有分区,先备份 这台机器并没有刷写过 eFuse , 9008 可以用同 CPU 的 Firehose 随便进。 关机按 prev + next 插数据线进入 9008。 安装 Magisk 。 复制回读的 init_boot 分区到手机内,用 Magisk 修补。 用 9008 或者 fastboot,爱用啥用啥,写回 init_boot 。 关机按 next 插数据线进入 fastboot 。 启动第一屏更改 这个设备的第一屏不知道为什么做得十分奇怪,对比度太低,再加上自己是 LCD 屏,根本看不清楚。 好在上面我们已经从 9008 提取出了分区,一般来说第一屏在 splash 分区内,我们只需要用工具拆包 splash.img ,修改图片后打包再刷入就好了,完成后的样子是这样的。 ...

March 23, 2026 · 3 min