sol — solstone home

Linux app releases

these are the Linux desktop app's own changes: installation, systemd service, desktop integration, and how it syncs to your journal — sol on your Linux desktop.

get sol for Linux →

solstone for Linux 1.0.0

july 19, 2026

# solstone-linux 1.0.0 — the Linux observer, rebuilt in Rust

The standalone Linux desktop observer is now a single native binary. No Python, no pipx, no 15-package system-dependency line — download one file (or apt/dnf install one package) and run it.

This is a drop-in replacement for the previous Python observer: same journal API, same on-disk cache layout, same config, same systemd unit, same D-Bus interface. An existing install upgrades in place and adopts its cache and screen-capture consent untouched.

## What's new vs the Python observer

  • One binary. Roughly 5–15 MB, statically links libFLAC; runtime needs only GStreamer + libpulse (preinstalled on every mainstream desktop).
  • Broader desktop coverage. Universal idle detection via ext-idle-notify-v1 (KDE / wlroots / COSMIC) plus Mutter IdleMonitor (GNOME) — where the Python observer had no idle signal at all; a richer per-desktop screen-lock chain.
  • In-process capture. GStreamer runs in-process (no gst-launch subprocess); Type=notify + watchdog systemd integration.
  • Much smaller footprint than the Python + GStreamer-subprocess pair.

## Install

  • Debian / Ubuntu: sudo apt install ./solstone-linux_1.0.0-1_amd64.deb
  • Fedora / RHEL: sudo dnf install ./solstone-linux-1.0.0-1.x86_64.rpm
  • Any distro (tarball): extract solstone-linux-1.0.0-linux-x86_64.tar.gz and put the binary on your PATH.

Then run: solstone-linux setup, followed by solstone-linux install-service.

Runtime dependencies (preinstalled on mainstream desktops): GStreamer core+good+pipewire plugin, libpulse, and a Wayland ScreenCast portal (or X11).

Checksums are in SHA256SUMS. Licensed AGPL-3.0-only.

solstone for Linux 0.4.5

july 14, 2026

Fixed

  • local cleanup now recognizes segments your journal has already finished processing. when your journal takes a segment in and finishes with it, it no longer keeps the original file on hand. sol used to read that as the file having gone missing, so it re-sent the segment and never released its local copy. sol now takes it as done — after confirming the file name and fingerprint still match, so nothing leaves your machine unconfirmed.

solstone for Linux 0.4.4

july 5, 2026

Fixed

  • stopping or restarting sol now shuts down promptly, even with an upload mid-retry. that upload used to wait out its full retry delay first; now it ends the moment you quit sol or the machine powers off. a bad retry setting in your config no longer leaves the uploader stuck, either.

solstone for Linux 0.4.3

july 4, 2026

Changed

  • the app now calls itself sol everywhere you see it — the launcher, tray, menus, status, and notifications. your journal is the memory it keeps, and solstone is the platform underneath. the command you run stays solstone-linux; nothing about what it does changed, only what it's called.
  • segments your journal rejected or sol couldn't recover are now held for 30 days before they're removed, instead of being dropped silently. status and doctor show the count, so you can see when any are waiting.

Fixed

  • local cleanup now deletes a synced segment only after your journal confirms, file by file, that it holds everything in it. previously a segment could be cleaned up while your journal was missing part of it. if your journal can't yet confirm file by file, cleanup holds off and keeps the local copy.
  • sol now recovers on its own from situations that used to leave it quietly stalled or stopped: the first screen-share dialog being dismissed, a journal that's slow to respond or offline, and speakers muted at startup (it goes on without audio and picks it back up when a device is available). an accidental second copy now declines to run rather than disturb the one already going. a round of smaller stability improvements rides along.
  • closing the lid on a docked KDE laptop no longer makes sol go idle.
  • chat notifications now come back on their own after a network drop, and dismissing a notification no longer counts as opening it.

solstone for Linux 0.4.2

june 29, 2026

Added

  • this observer now sends your journal a small, diagnostics-only health note alongside its regular check-in, covering its name, version, how long it's been running, and whether syncing is keeping up. it carries none of what it experiences with you: no screen, audio, file paths, or titles. just enough for you to see at a glance that an observer is alive and in good health.

Changed

  • this observer now carries the sol mark across your desktop, in the app launcher and menus. the tray status icons are unchanged.

Fixed

  • installing solstone-linux now works cleanly on current debian and ubuntu. the earlier steps could fail while rebuilding the desktop graphics libraries from scratch; the updated install reuses the ones already on your system, so it goes through.

solstone for Linux 0.4.1

june 18, 2026

Added

  • you can now check which version you're running. solstone-linux --version prints it, so when you're following along with the release notes or asking for help, you know exactly what you have.

solstone for Linux 0.4.0

june 18, 2026

Added

  • a new solstone-linux settings command lets you adjust how this observer behaves after setup, from one place instead of hand-editing a config file. you can change how often it makes a segment, the framerate, whether it starts paused, the chat bridge, and how long it keeps local cache. setup itself stays prompt-free; your identity and pairing are left untouched.

Changed

  • this observer's settings now live under ~/.config/solstone-linux/, where linux tools expect config to be. if you're upgrading, the move happens on its own the first time you run, with nothing to redo: no re-setup, no re-pairing. your segments stay exactly where they are.

solstone for Linux 0.3.3

june 16, 2026

Fixed

  • the tray status submenu now refreshes its values every time you open it. the segment countdown, cache size, captures today, uptime, and sync line had been showing stale values on reopen on some desktops; they now reflect the current state each time you open the menu.

solstone for Linux 0.3.2

june 16, 2026

Changed

  • the tray status now tells the truth about sync. it shows "connected" only when this observer has genuinely reached your journal with nothing left to send, and clearly says when it's offline, needs updating, or needs to re-authorize, instead of looking fine while quietly falling behind. the same honest status carries across the tray, status, and doctor.

Fixed

  • setup no longer asks for a journal url under any path. if you ran into a lingering "journal url" prompt during setup, that's gone — setup connects to your local journal automatically, and solstone-linux setup --server-url <url> still points at a journal you reach directly.

solstone for Linux 0.3.1

june 15, 2026

Changed

  • chat notifications now use the journal's current callosum connection path, with the observer key still sent in the authorization header.

solstone for Linux 0.3.0

june 14, 2026

setup is now zero-config: the observer connects to your journal automatically,

with no url to type.

Changed

  • setup no longer asks for a journal url. if your journal runs on another machine you reach directly, set its address with solstone-linux setup --server-url <url>.

solstone for Linux 0.2.0

june 13, 2026

setup is now hands-off: the first time the observer runs, it connects itself

to your journal automatically, with no separate key step.

Changed

  • first run sets itself up. earlier versions asked you to create and paste a key to connect the observer to your journal. now the observer introduces itself to your journal on first run and remembers the connection on its own. you go straight from install to observing, with no manual key step.

solstone for Linux 0.1.1

june 3, 2026

A focused maintenance release: two reliability fixes and a round of

install-instruction corrections from fresh-machine testing on Fedora,

Debian, and openSUSE.

Fixed

  • Idle monitors no longer silently drop observations. When a monitor produced no frames during a segment (a static screen with nothing changing on it), GStreamer still wrote a header-only WebM file. Those empty files were finalized, uploaded, and then failed to process in your journal — so that monitor's segment was lost without any signal. The observer now drops these empty recordings at the source and emits an observe.stream_silent event (logged at WARNING) so the gap is visible instead of silent.
  • Install no longer clobbers your system icon theme. On GNOME, install-service was writing a stray index.theme into the shared hicolor icon directory, which shadowed the system index and caused unrelated app icons to render as the solstone diamond. The installer now drops only the solstone status icons (the system index already declares their directory) and self-heals any previously broken install on the next install-service run. A foreign or unreadable index.theme is left untouched.

Documentation

  • Corrected the Fedora and Debian system-dependency lines after fresh-box install testing: dropped packages that do not exist in their repos (gstreamer1-plugin-pipewire on Fedora, gir1.2-gdk-4.0 on Debian) and hoisted the cairo / pycairo build toolchain onto the main install line so a fresh install succeeds in one shot. Added gstreamer1.0-tools to the Debian line — gst-launch-1.0 is required for screen recording and is not pulled in transitively.
  • Added a verified openSUSE dependency block and mirrored the corrected dependency lists between README.md and INSTALL.md.
  • Updated the install path to lead with pipx install solstone-linux, then solstone-linux install-service, then solstone-linux setup.

Internal

  • The release script now tags the commit and cuts a GitHub release only on a production PyPI run; a TestPyPI run no longer leaves a tag or public release behind.

solstone for Linux 0.1.0

may 19, 2026

First public release of solstone-linux — the Linux desktop observer

for your solstone journal.

solstone-linux runs as a systemd user service in your GNOME Wayland

session. It experiences screen and audio along with you, holds short

segments locally, and uploads them to your journal in the background.

Install paths

  • From PyPI: pipx install --system-site-packages solstone-linux, then solstone-linux install-service to register the systemd unit.
  • From a clone: git clone this repo and run make install-service for development or unreleased changes.

Both paths rely on host packages for PyGObject, GStreamer with the

PipeWire plugin, PipeWire itself, pactl, and xdg-desktop-portal

with ScreenCast support. PyGObject and the GStreamer bindings ride

along from system site-packages — that is why --system-site-packages

matters.