Installation
PPPx is installed by cloning its repository and running the bundled installer, which downloads the latest prebuilt executable for your platform.
System requirements
Section titled “System requirements”PPPx is light: processing a 24-hour GNSS file at a 30 s sampling rate needs about 150 MB of resident memory and one CPU core. Memory and CPU use scale with the number of constellations and the data rate.
| Platform | Requirement |
|---|---|
| Linux | glibc ≥ 2.31 (Ubuntu 20.04+ or equivalent) |
| Windows | Windows 10/11 (native), or WSL |
| macOS | Apple silicon (ARM), macOS Monterey or newer |
PPPx is distributed as an AppImage built on Ubuntu 20.04, so it is portable across modern Linux distributions with glibc ≥ 2.31.
| Distribution | Minimum version |
|---|---|
| Ubuntu | 20.04 LTS+ |
| Linux Mint | 20+ |
| Debian | 11+ |
| Fedora | 32+ |
| RHEL / Rocky / Alma | 9.x+ (not 8) |
| openSUSE | Leap 15.3+ / Tumbleweed |
| Arch / Manjaro | rolling |
Not sure whether your system qualifies? Check your glibc version with:
ldd --versionThen clone the repository and run the installer from its root folder:
git clone --depth 1 https://github.com/pppx-dev/pppx.gitcd pppx./install.shThe installer downloads the latest pppx executable and installs both pppx and the wrapper script pppx.sh into ~/.local/bin, with pppx.sh configured to use the table files of the clone.
Windows
Section titled “Windows”The easiest way to run PPPx on Windows is WSL (Windows Subsystem for Linux) — just follow the Linux instructions inside it. PPPx also runs natively from PowerShell or cmd.exe.
Clone the repository, then run the installer from its root folder in PowerShell:
git clone --depth 1 https://github.com/pppx-dev/pppx.gitcd pppx.\install.ps1It downloads the executable, fetches the required DLLs, installs them to C:\Users\<YOUR_USER_NAME>\AppData\Local\Programs\PPPx, and adds that folder to your user PATH.
The installer also installs and configures pppx.sh (pointing it at the table folder of your clone). pppx.sh cannot run in PowerShell or cmd.exe, but it runs in Git Bash, which ships with Git for Windows — the same tool you used for git clone. Product downloads rely on curl, which Git Bash provides:
# In Git Bashpppx.sh -c pppx.ini rinex/ZIM200CHE_R_20221000000_01D_30S_MO.rnxPPPx on macOS requires Apple silicon and macOS Monterey or newer.
Install Homebrew if you don’t have it:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"PPPx is linked against the latest ceres-solver, so install that too:
brew install ceres-solverThen clone the repository and run the installer from its root folder in Terminal:
git clone --depth 1 https://github.com/pppx-dev/pppx.gitcd pppx./install.shThe installer downloads the latest pppx executable, bypasses Apple’s quarantine check, and installs both pppx and the wrapper script pppx.sh into ~/.local/bin, with pppx.sh configured to use the table files of the clone.
Try it online
Section titled “Try it online”You don’t need to install anything to try PPPx or to look at a solution: the PPPx Web Viewer runs in any browser and does both.
- Process a RINEX file. Upload a RINEX observation file and it is processed on the server with a fixed configuration: ionosphere-free PPP with the FGO solver, using L1/L2 for GPS and QZSS, E1/E5a for Galileo, B1/B3 for BeiDou, and G1/G2 for GLONASS.
- View a solution. Load a PPPx
.posor.statfile to get a position time series and a map view — see Visualization.
The online configuration is fixed, so install PPPx locally whenever you need control over the solution mode, solver, constellations, frequencies, products, or any other configuration option.
Next steps
Section titled “Next steps”Continue to Usage to process your first dataset.