2026-08-23¶
Screenpipe Desktop Capture — Built & Installed¶
Built screenpipe from source for passive screen content logging (OCR what you see, not just which window was open).
What was done¶
- Rust toolchain installed via rustup (system Pacman had no Rust/Cargo)
- Cloned screenpipe (
--depth 1) to/tmp/screenpipe - Patched build:
antirez-asr-sys/build.rs— changed-std=c11to-std=gnu11(fixesstrdupimplicit declaration in C11 mode) - Built release binary (~20 min on 8 cores) — 78MB ELF at
~/.local/bin/screenpipe - Autostart configured — added to
~/.config/hypr/modules/autostart.lua:hl.exec_cmd("bash -c 'sleep 15 && screenpipe record --port 3030 &'") - Verified working:
- Health endpoint:
localhost:3030— healthy - Wayland capture: grim capturing both 2560x1440 monitors
- OCR: Tesseract 5.5.3 extracting text from frames
- CLI search:
screenpipe search "drive"— found news.com.au article content - DB:
~/.screenpipe/db.sqlite— frames + OCR text stored
Key commands¶
| Command | What |
|---|---|
screenpipe search "query" |
Find text you saw on any screen |
screenpipe record --port 3030 |
Start capture + API |
curl localhost:3030/health |
Health check |
screenpipe status |
Capture freshness, storage |
Relevant files¶
~/.local/bin/screenpipe— binary (78MB, built from source)~/.screenpipe/db.sqlite— capture database~/.config/hypr/modules/autostart.lua— autostart line added/tmp/screenpipe/— build source (can be deleted)
Build notes¶
- Dependencies:
tesseract 5.5.3,grim,ffmpeg,at-spi2-core,libxcb,cmake,base-devel— all pre-installed - Storage: ~300MB per 8hr session
- Privacy: 100% local, no cloud, no account