Linux install

The current stable release is 0.12.1. Nightly packages, whose filenames change with the build date, are on the nightly release.

Download the 64-bit package:

of_v0.12.1_linux64_gcc6_release.tar.gz

The gcc6 in that filename is historical. The package is the x86_64 build. Raspberry Pi and other ARM boards use the packages on the Raspberry Pi guide.

Distributions

Run the install script that matches the distribution. Each script lives in scripts/linux/<name>/install_dependencies.sh.

Distribution Script directory Notes
Ubuntu 22.04 and 24.04, and Ubuntu derivatives the script recognizes (Linux Mint, elementary OS) scripts/linux/ubuntu Tested in CI on Ubuntu 24.04.
Debian 12 (bookworm) scripts/linux/debian
Debian 13 (trixie) and Raspberry Pi OS Trixie scripts/linux/debian See the package note below.
Arch Linux scripts/linux/archlinux Uses pacman.
Fedora scripts/linux/fedora Uses dnf.

Ubuntu 22.04 can stop on a held libunwind package when libunwind-14 is already installed. Remove that package, then run the script again: sudo apt-get remove libunwind-14. This shows up on some CI images (#8543). A normal desktop install usually does not have that package.

Debian 13 removed libgconf-2-4. The install script still lists it, so apt stops (#8480). Delete libgconf-2-4 from the apt-get install line in scripts/linux/debian/install_dependencies.sh and run the script again. Current openFrameworks does not need that library. On a checkout from before 30 October 2026, the same script may also ask for xorgproto. That package name is the source package. The installable name is x11proto-dev (#8630).

Do not rewrite /etc/lsb-release to look like an older Ubuntu. The Ubuntu script reads /etc/os-release. If it does not recognize a derivative, run the Debian or Ubuntu script that matches the base system.

Dependencies and codecs

From the openFrameworks directory, for Ubuntu:

cd scripts/linux/ubuntu
sudo ./install_dependencies.sh

Swap ubuntu for debian, archlinux, or fedora on those systems.

Optional patent-encumbered codecs, including mp3, are a separate script in the same directory:

sudo ./install_codecs.sh

Compile openFrameworks

cd scripts/linux
./compileOF.sh -j3

-j3 is the number of compile jobs. Use the number of cores, or fewer.

The project generator:

./compilePG.sh

That builds the GUI in the openFrameworks directory and can install the projectGenerator command. Run projectGenerator with no arguments to see its options.

Run an example

cd examples/graphics/polygonExample
make
make run

Editor

VS Code is the makefile editor for Linux. Open the .code-workspace file in an example. Qt Creator is no longer a maintained setup path.