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 入手去折腾。 ...
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
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 就是副屏了,我们尝试在副屏拉起键盘,并且调整一下键盘高度,让它好看点。 ...
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 上,提升一些运行性能。 ...
星海贝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 ,修改图片后打包再刷入就好了,完成后的样子是这样的。 ...