安装
在 Fedora 上用 RPM 安装 Pika,或者从源码构建两半组件;含系统要求、构建依赖、运行时依赖,以及 Flatpak 的现状说明。
系统要求
- GNOME 50 / Wayland —— 目前实际验证过的只有这一个组合(Fedora 44)。
扩展的
metadata.json里也列了 48 和 49,但那是推断,没有实测。 - X11 会话不支持,也没有计划支持。
RPM(Fedora)
一个包同时装两半:
sudo dnf install ./pika-0.1.0-1.fc44.x86_64.rpm
装完扩展还需要手动启用,然后重新登录:
gnome-extensions enable pika@hungtcs.github.io
重新登录是必须的 —— GNOME Shell 不会为新装的扩展重新扫描扩展目录。
从源码构建
构建依赖
sudo dnf install glib2-devel gstreamer1-devel gstreamer1-plugins-base-devel
不需要 gtk4-devel / libadwaita-devel:录制进程没有任何窗口,
设置界面跑在扩展的 prefs.js 里,用的是宿主系统自带的 gjs 运行时。
运行时依赖
pipewiresrc—— 由pipewire-gstreamer提供- 一个 H.264 编码器 —— 有 VA 硬编就用 VA(
vah264lpenc/vah264enc), 否则回落到x264enc/openh264enc
排查采集问题前先确认元件能解析:
gst-inspect-1.0 pipewiresrc
构建
# 录制进程
cargo build --release
# Shell 扩展(在 shell-extension/ 下)
pnpm install
pnpm build
shell-extension/dist/ 的产物布局就是扩展的最终布局,直接软链到
~/.local/share/gnome-shell/extensions/pika@hungtcs.github.io 即可。
打 RPM
./scripts/build-rpm.sh
产物落在 ~/rpmbuild/RPMS/ —— 那是 rpmbuild 的惯例位置,没有改。
Flatpak
Flatpak 是既定的分发目标,清单已经写好(flatpak/io.github.hungtcs.Pika.yml),
但尚未实际验证。门户采集在沙箱内外行为并不一致,断定可用之前要先在
Flatpak 构建下跑一遍。
另外 Flatpak 只能装应用 —— Shell 扩展必须装到宿主,没有办法一次装完两半。