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