User-mode emulation for PocketBook 6.1-6.11 firmware on Linux desktop (podman + Wayland)
README.md

pbcore — shared cross-platform helpers #

Tiny static library used by:

  • src/viewer/ (Wayland frontend on the PC),
  • src/probes/host/ (native helper tools that share IPC with the container),
  • src/probes/arm/ (qemu-arm probes invoked inside the container).

Only POSIX dependencies: SysV shared memory and POSIX message queues. No Wayland, no firmware libraries.

File Responsibility
src/frame_source.c Attach to the informer SHM segment (pb_informer_state), read seqlocked snapshots, decode framebuffer_info, build window titles from /var/run/task/.
src/input_bridge.c Open /hwevent, build hwevent_msg payloads (pointer + common), invert the touch matrix via Cramer's rule.
src/geometry_map.c Map surface (window) coordinates to framebuffer pixel coordinates with optional viewporter scaling.

Headers live in include/. Add target_link_libraries(... pbcore) and the include path comes for free via PUBLIC.