Created
June 15, 2025 20:09
-
-
Save bcolloran/f7751b22bc336b51f005c8100680856a to your computer and use it in GitHub Desktop.
Script for installing Tracy on Linux Mint 22.1 under X11 (not default Wayland). Worked for me, YMMV.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env bash | |
| # install_tracy_mint: End-to-end install script for Tracy Profiler on Linux Mint | |
| # This script always operates under ~/tracy and installs Tracy to /usr/local by default. | |
| set -euo pipefail | |
| # 1. Define directories | |
| TRACY_HOME="$HOME/tracy" | |
| REPO_DIR="$TRACY_HOME/tracy" | |
| BUILD_DIR="$REPO_DIR/build" | |
| # To override install prefix, set INSTALL_PREFIX before running this script. | |
| # e.g. export INSTALL_PREFIX="$HOME/tracy/install" | |
| INSTALL_PREFIX="${INSTALL_PREFIX-}" | |
| # 2. Install dependencies | |
| sudo apt update | |
| sudo apt install -y \ | |
| build-essential git cmake pkg-config \ | |
| libdbus-1-dev libfreetype6-dev libtbb-dev \ | |
| libxkbcommon-dev libwayland-dev libglvnd-dev \ | |
| libxcb1-dev libxcb-xinerama0 libxinerama-dev libx11-xcb-dev xwayland \ | |
| libxrandr-dev libxcursor-dev libxi-dev | |
| # 3. Clone the Tracy repository into ~/tracy/tracy | |
| mkdir -p "$TRACY_HOME" | |
| if [ ! -d "$REPO_DIR" ]; then | |
| git clone https://github.com/wolfpld/tracy.git "$REPO_DIR" | |
| fi | |
| cd "$REPO_DIR" | |
| # 4. Checkout latest release tag (required for build compatibility) | |
| latest_tag=$(git describe --tags "$(git rev-list --tags --max-count=1)") | |
| git fetch --tags | |
| git checkout "$latest_tag" | |
| # 5. Configure build (enable X11 LEGACY backend) | |
| mkdir -p "$BUILD_DIR" | |
| cmake -B "$BUILD_DIR" -S profiler -DCMAKE_BUILD_TYPE=Release \ | |
| -DLEGACY=ON \ | |
| ${INSTALL_PREFIX:+-DCMAKE_INSTALL_PREFIX="$INSTALL_PREFIX"} | |
| # 6. Build | |
| cmake --build "$BUILD_DIR" --parallel | |
| # 7. Install Tracy Profiler | |
| if [ -n "$INSTALL_PREFIX" ]; then | |
| cmake --install "$BUILD_DIR" | |
| EXEC_PROFILER="$INSTALL_PREFIX/bin/tracy-profiler" | |
| else | |
| sudo cmake --install "$BUILD_DIR" | |
| EXEC_PROFILER="/usr/local/bin/tracy-profiler" | |
| fi | |
| EXEC_PATH="$EXEC_PROFILER" | |
| # 8. Create desktop entry | |
| # Use QT_QPA_PLATFORM=xcb env to force XCB (avoids Wayland errors) | |
| DESKTOP_DIR="$HOME/.local/share/applications" | |
| mkdir -p "$DESKTOP_DIR" | |
| cat <<EOF > "$DESKTOP_DIR/tracy.desktop" | |
| [Desktop Entry] | |
| Version=1.0 | |
| Name=Tracy Profiler | |
| Comment=Real-time frame and sampling profiler | |
| Exec=env QT_QPA_PLATFORM=xcb $EXEC_PATH %U | |
| Icon=utilities-system-monitor | |
| Terminal=false | |
| Type=Application | |
| Categories=Development;Profiling; | |
| EOF | |
| # 9. Summary | |
| cat <<MSG | |
| Tracy Profiler installed successfully! | |
| - Source: $REPO_DIR (checked out $latest_tag) | |
| - Build artifacts: $BUILD_DIR | |
| - Executable: $EXEC_PATH | |
| - Desktop entry: $DESKTOP_DIR/tracy.desktop | |
| To launch: | |
| - From terminal (forces XCB backend): | |
| QT_QPA_PLATFORM=xcb $EXEC_PATH | |
| - From application menu: click "Tracy Profiler" | |
| MSG |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment