Skip to content

Building from source Linux

BenJule edited this page May 31, 2026 · 2 revisions

Building BambuStudio on Linux


Prerequisites

System Requirements

Component Minimum Recommended
CPU x86_64 4-core x86_64 8-core
RAM 8 GB 16 GB
Disk 20 GB free 40 GB free
OS Ubuntu 22.04 / Debian 12 Ubuntu 24.04
Git LFS Required

Supported Distributions

Distribution Package Format CI
Debian trixie .deb GitHub-hosted (container)
Fedora 42 .rpm GitHub-hosted (container)
Ubuntu 22.04 LTS AppImage + .deb Self-hosted runner
Ubuntu 24.04 LTS AppImage + .deb Self-hosted runner
openSUSE Tumbleweed AppImage + .rpm Self-hosted (currently offline)
Arch Linux AppImage + .pkg.tar.zst Self-hosted (currently offline)

Install Build Dependencies

git clone https://github.com/BenJule/BambuStudio.git
cd BambuStudio

# Install all required system packages (requires sudo)
sudo ./BuildLinux.sh -ur

This installs: cmake, ninja-build, gcc, g++, git-lfs, libgtk-3-dev, libgl1-mesa-dev, libglu1-mesa-dev, libssl-dev, libcurl4-openssl-dev, libdbus-1-dev, gettext, nasm, fuse, and more.


Quick Build (Recommended)

Step 1 — Clone

git clone https://github.com/BenJule/BambuStudio.git
cd BambuStudio
git lfs pull        # download binary assets

Step 2 — Build Dependencies

This step takes ~60–90 minutes on first run. The result is cached in deps/build/destdir/ and only needs to be repeated when deps/CMakeLists.txt changes.

./BuildLinux.sh -dfr

Step 3 — Build BambuStudio

./BuildLinux.sh -sfr

Build time: ~30–60 min cold, ~5–10 min with ccache (if configured).

Step 4 — Create Launcher

cd build && ./src/BuildLinuxImage.sh

The binary is now at build/src/bambu-studio. Launch it:

./build/src/bambu-studio

BuildLinux.sh Flag Reference

Flag Description
-u Install system dependencies via apt/dnf
-r Release build (optimized)
-d Build third-party deps
-s Build BambuStudio
-i Build AppImage
-p Build distribution package (.deb or .rpm)
-f Force rebuild even if already done

Flags can be combined: -dfr = deps + force + release.


Package Builds

AppImage

./BuildLinux.sh -isfr

Output: ./build/BambuStudio_ubu64.AppImage

.deb Package (Debian/Ubuntu)

./BuildLinux.sh -sfr && cd build && ./src/BuildLinuxImage.sh && cd ..
./BuildLinux.sh -pr

Output: ./build/bambustudio_*.deb

.rpm Package (Fedora/openSUSE)

./BuildLinux.sh -sfr && cd build && ./src/BuildLinuxImage.sh && cd ..
bash scripts/build_rpm.sh

Output: ./build/bambustudio-*.rpm

Arch Package (.pkg.tar.zst)

./BuildLinux.sh -sfr && cd build && ./src/BuildLinuxImage.sh && cd ..
bash scripts/build_pkg_arch.sh

Accelerating Builds with ccache

ccache can reduce rebuild times from ~60 min to ~5 min when source files are unchanged.

# Install ccache
sudo apt install ccache        # Debian/Ubuntu
sudo dnf install ccache        # Fedora

# Add ccache to PATH (prepend)
export PATH="/usr/lib/ccache:$PATH"
export CCACHE_DIR="$HOME/.ccache"
export CCACHE_MAXSIZE="5G"

# Verify it's active
which gcc    # should show /usr/lib/ccache/gcc

# Build (ccache intercepts GCC transparently)
./BuildLinux.sh -sfr

# Check stats
ccache --show-stats

Add the export lines to ~/.bashrc or ~/.profile to persist across sessions.


Manual / Advanced Build

Configure with CMake

# After building deps:
cmake -S . -B build -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DBBL_RELEASE_TO_PUBLIC=1 \
  -DCMAKE_PREFIX_PATH="$(pwd)/deps/build/destdir/usr/local"

Additional useful CMake options:

Option Default Description
CMAKE_BUILD_TYPE Release Debug for debug symbols
SLIC3R_BUILD_TESTS OFF Build unit tests
BBL_INTERNAL_TESTING 0 Enable internal test features

Build

cmake --build build --target BambuStudio --parallel $(nproc)

Debug Build

cmake -S . -B build-debug -G Ninja \
  -DCMAKE_BUILD_TYPE=Debug \
  -DCMAKE_PREFIX_PATH="$(pwd)/deps/build/destdir/usr/local"
cmake --build build-debug --parallel $(nproc)

Running in a Container (Debian trixie)

To reproduce the CI build environment exactly:

docker run --rm -it \
  --security-opt apparmor=unconfined \
  -v "$(pwd):/work" \
  -w /work \
  debian:trixie bash

# Inside container:
apt-get update && apt-get install -y sudo git curl git-lfs
./BuildLinux.sh -ur
./BuildLinux.sh -dfr
./BuildLinux.sh -sfr
cd build && ./src/BuildLinuxImage.sh

Troubleshooting

See Troubleshooting for common build issues including OOM errors, missing libraries, and git-lfs problems.

Clone this wiki locally