Image viewer for 360° equirectangular photospheres and panoramas.
Links: Source Code | Releases | Changelog
This my very first Rust Application. It stands on the shoulders of the fabulous JavaScript library Photo Sphere Viewer which deserves all credits for the image rendering and controls. SphereView just wraps it in a GTK interface to provide a desktop integration.
You can install stable builds of SphereView from Flathub by using this command:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub io.github.dynobo.sphereview- View panoramas and photospheres interactively
- Lean interface with minimal features
- 100% offline, no telemetry
- Supports Equirectanglar projection (e.g. used by Google Camera)
- Supports formats like JPEG, PNG, WEBP
# Install dependencies (Debian/Ubuntu)
sudo apt install -y \
rustup \
nodejs npm \
libgtk-4-dev \
libadwaita-1-dev \
libglib2.0-dev \
libwebkitgtk-6.0-dev \
blueprint-compiler
# Clone repo
git clone https://github.com/dynobo/sphereview.git
# Change into directory with html/js
cd sphereview/resources/photosphereviewer
# Install node.js dependencies
npm install
# Change back to repository root
cd ../..
# Install rust dependencies and run application
cargo runFor debugging the viewer logic in the browser:
cp resources/assets/demo.webp resources/photosphereviewer/dist
cd resources/photosphereviewer
python -m http.server --bind 127.0.0.1 8000
xdg-open http://127.0.0.1:8000/index.html # /index.html is important! - Photo Sphere Viewer - Displays 360° sphere panoramas.
- three.js - 3D rendering engine.
- GTK4, libadwaita and their rust bindings - UI Framework.
- Poly Haven - CC0 Licensed 3D assets. Source of the demo image.



