Skip to content

Installation

PPPx is installed by cloning its repository and running the bundled installer, which downloads the latest prebuilt executable for your platform.

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.

PlatformRequirement
Linuxglibc ≥ 2.31 (Ubuntu 20.04+ or equivalent)
WindowsWindows 10/11 (native), or WSL
macOSApple 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.

DistributionMinimum version
Ubuntu20.04 LTS+
Linux Mint20+
Debian11+
Fedora32+
RHEL / Rocky / Alma9.x+ (not 8)
openSUSELeap 15.3+ / Tumbleweed
Arch / Manjarorolling

Not sure whether your system qualifies? Check your glibc version with:

Terminal window
ldd --version

Then clone the repository and run the installer from its root folder:

Terminal window
git clone --depth 1 https://github.com/pppx-dev/pppx.git
cd pppx
./install.sh

The 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.

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:

Terminal window
git clone --depth 1 https://github.com/pppx-dev/pppx.git
cd pppx
.\install.ps1

It 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:

Terminal window
# In Git Bash
pppx.sh -c pppx.ini rinex/ZIM200CHE_R_20221000000_01D_30S_MO.rnx

PPPx on macOS requires Apple silicon and macOS Monterey or newer.

Install Homebrew if you don’t have it:

Terminal window
/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:

Terminal window
brew install ceres-solver

Then clone the repository and run the installer from its root folder in Terminal:

Terminal window
git clone --depth 1 https://github.com/pppx-dev/pppx.git
cd pppx
./install.sh

The 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.

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 .pos or .stat file 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.

Continue to Usage to process your first dataset.