Rusty PIMA is Now on Linux — Install as .deb or .rpm and Open PDFs Natively
The Rusty PIMA Linux desktop client is live. Install via your package manager, and your PDF sheet music opens directly in Rusty PIMA — native Rust, no browser, no Electron, zero configuration.
Download Rusty PIMA for Linux
Available as a native .deb or .rpm package for x86_64.
Classical guitarists on Linux have traditionally had one reliable option for PDF annotation: a ballpoint pen and a laser printer (assuming your printer drivers actually worked on Linux without a 3-hour forum deep-dive). Today that changes. Rusty PIMA is now available as a native Linux desktop application, packaged as a .deb for Debian and Ubuntu-based systems, an .rpm for Fedora and RHEL, and easily installable on Arch Linux variants!
To understand our overall vision, the unique fretboard stamp features, and why our metronomes have been gathering dust since 2018, read our main announcement: Introducing Rusty PIMA — Collaborative Classical Guitar Score Editor.
This isn't a web wrapper or an Electron app. Electron apps eat RAM like a classical guitarist eats tapas after a grueling 3-hour recital. Rusty PIMA is compiled from pure Rust, rendered with egui (an immediate-mode native GUI framework), and ships as a single self-contained binary. It starts in under a second and runs comfortably without turning your CPU fan into a jet engine during a Villa-Lobos tremolo section.
"Your fingering annotations are serious work. They deserve an app that treats your CPU and battery life with the same respect."
Installation
Packages register Rusty PIMA as a PDF viewer via the freedesktop.org Shared MIME Info specification. Once installed, right-clicking any PDF in your file manager will show Rusty PIMA as an option under "Open With".
Debian / Ubuntu
Ubuntu 22.04+, Debian 11+, Linux Mint, Pop!_OS, elementary OS
# Download and install
wget /downloads/rustypima-linux.deb
sudo apt install ./rustypima-linux.deb
Fedora / openSUSE / RHEL
Fedora 38+, openSUSE Leap 15.5+, RHEL 9+, AlmaLinux, Rocky Linux
# Download and install
wget /downloads/rustypima-linux.rpm
sudo dnf install ./rustypima-linux.rpm
Arch / Manjaro / EndeavourOS
Arch Linux, Manjaro, EndeavourOS, Garuda (yes, we know you use Arch btw 💅)
# Convert .deb to Arch pkg
wget /downloads/rustypima-linux.deb
debtap rustypima-linux.deb
sudo pacman -U rustypima-*.pkg.tar.zst
After installation, run rustypima from any terminal, or launch it from your application menu. It will appear in the Office, Education, and Music categories. You can also set it as your default PDF viewer:
xdg-mime default rustypima.desktop application/pdf
How PDF File Association Works
When the package installs, it drops three files onto your system and runs a pair of standard update hooks:
/usr/bin/rustypima— the main executable, compiled for x86_64/usr/share/applications/rustypima.desktop— the freedesktop Desktop Entry declaringMimeType=application/pdf/usr/share/mime/packages/rustypima.xml— MIME type registration for.pimaannotation files/usr/share/icons/hicolor/512x512/apps/rustypima.png— the app icon
The postinst script runs update-mime-database and update-desktop-database immediately, so the association is active the moment installation finishes — no reboot, no re-login required. Your file manager (Nautilus, Dolphin, Thunar, Nemo) will show Rusty PIMA in the "Open With" dialog for every PDF on the next file access.
What You Can Do With It
The full annotation toolkit is available on Linux, identical to the iPad and Android experience:
PIMA Fingering Stamps
One-click p, i, m, a, c stamps directly onto score notation. Precisely sized and coloured to your preference. Learn more about the design details in our Guitarist Stamps feature breakdown.
Barre Chord Tool
Draw Roman numeral barre indicators (CIII, CVII, ½C) with dashed span lines that fit cleanly across any measure.
Left-Hand & String Stamps
Drop 1–4, 0, X finger numbers and circled string indicators ①–⑥ precisely onto notes without layout disruption.
Freehand Pen & Highlighter
Mouse or graphics tablet drawing with variable width, full colour picker, and a semi-transparent highlighter mode.
Comment Pins
Expandable notes pinned to exact score positions. Ideal for teacher feedback or personal practice reminders.
Real-Time Collaboration
Join a shared room with a 6-character code. Annotations sync instantly with iOS, Android, and other desktop clients via Yrs CRDT.
Multi-Size Screen Tracking
Enable "Track Other's Screen" mode to auto-sync pan and zoom. Uses normalized center-screen coordinates so your widescreen Linux monitor smoothly follows an iPad or mobile screen without distortion.
Under the Hood: Rust, egui, and Yrs CRDT
Rusty PIMA's Linux client is built entirely in Rust. The UI renders through egui via eframe, compiled against wgpu (a cross-platform GPU API) and with Wayland support enabled. It works on both Wayland and X11 compositors without configuration.
PDF rendering uses pdfium-render, a safe Rust binding to Google's PDFium library — the same renderer used in Chrome and Android. Pages are rendered at native resolution for crisp results on HiDPI displays.
Collaboration is powered by Yrs (pronounced "wires"), the Rust port of the Y.js CRDT library. Y-CRDTs (Conflict-free Replicated Data Types) are a class of data structures that allow multiple users to edit shared state simultaneously without locking, without a central arbiter, and without ever producing merge conflicts. Two guitarists can place fingering stamps on the same measure at the same millisecond — both edits survive, both are visible to every participant instantly.
The desktop client connects to the Rusty PIMA server over a secure WebSocket (wss://rustypima.com/ws/). Local PDF files are never uploaded to any server — only the annotation diff vectors are transmitted. The PDF itself stays on your machine.
Cross-Platform Screen Tracking Across Displays of Different Sizes
A common challenge when teaching or presenting scores remotely is display disparity — a teacher using a 4:3 iPad Pro and a student on a 16:9 widescreen Linux desktop monitor see completely different physical viewports.
Rusty PIMA handles this with Normalized Viewport Coordinate Tracking. When "Track Other's Screen" is enabled, the client broadcasts normalized relative focal points across WebSockets via the Rust CRDT core. Followers automatically align their viewports to center on the exact measure being highlighted, auto-scaling and scrolling smoothly regardless of aspect ratio or display resolution.
"Local-first: your score opens in milliseconds whether or not you have internet. Collaboration happens on top, not underneath."
Offline-First by Design
Open any PDF from your filesystem and start annotating immediately. Rusty PIMA does not require an account to open or annotate local files. When you're ready to collaborate, generate a room code and share it with your students or ensemble partners — they join from their own device and your annotations appear on their screen in real time.
Disconnect mid-session? Not a problem. Your local changes accumulate and are replayed when you reconnect. The Yrs CRDT state vector ensures that late-arriving operations are merged correctly, preserving the full annotation history.
Frequently Asked Questions
Which Linux distributions are supported?
The .deb package targets Debian 11 (Bullseye)+ and Ubuntu 22.04 LTS+, including derivatives like Linux Mint, Pop!_OS, Kubuntu, and elementary OS. The .rpm package targets Fedora 38+, openSUSE Leap 15.5+, RHEL 9+, AlmaLinux 9+, and Rocky Linux 9+. Both are compiled for x86_64 (amd64).
Does it work on Wayland?
Yes. The client is compiled with Wayland support enabled via egui/eframe's wayland feature flag. It runs natively on Wayland compositors (GNOME 44+, KDE Plasma 5.27+, Sway, Hyprland) and falls back to XWayland transparently on older setups.
How large is the binary?
The installed binary is approximately 25–35 MB depending on linked system libraries. The package bundles pdfium as a static dependency. There are no runtime dependencies beyond libgtk-3 and standard POSIX libs which are already present on any modern Linux desktop.
Will it auto-update?
Yes. The client checks rustypima.com/api/client/version at startup and notifies you in-app when a newer version is available. You can update with a single click from within the app, or re-download and reinstall the package via your package manager.
Ready to annotate your scores on Linux?
Free to download. Works offline. Collaborate when you need to.
Annotate Any PDF Score — On Any Device
Rusty PIMA runs on Linux, macOS, Windows, iPad, iPhone, and Android. Start on your desktop, continue on your tablet, share with your students.
Visit rustypima.com →