Working on Gargantuan
Are you interested in working on Gargantuan? This guide walks through how to compile and work on your own homegrown Gargantuans.
Supported Platforms
Section titled “Supported Platforms”Gargantuan works across most major operating systems, which include the latest versions of Windows, MacOS and Linux.
However, older OS versions may lack support for the libraries necessary for Gargantuan to run, and we do not guarantee support nor flawless installation for any of them.
Prerequisites
Section titled “Prerequisites”Windows
Section titled “Windows”WinGet CLI
Section titled “WinGet CLI”For dependendency management on Windows, this guide will use the WinGet CLI.
WinGet is usually already pre-installed on most Windows installations and editions. To verify, type the following command into the terminal:
winget --versionWinGet must be available in order to proceed further into the guide.
Vulkan
Section titled “Vulkan”For Gargantuan to output graphics, you’ll first need a Vulkan-capable GPU and a working driver for it.
The installation steps for this vary with each system configuration, so this section assumes Vulkan is already properly configured.
Once that is done, install the Vulkan SDK:
winget install -e --id KhronosGroup.VulkanSDKAnd with it, verify if Vulkan is properly set up and can detect your GPU correctly:
vulkaninfosdk --summaryDependencies
Section titled “Dependencies”Install the Visual Studio 2022 Build Tools:
winget install -e --id Microsoft.VisualStudio.2022.BuildTools --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"Then, install Git:
winget install -e --id Git.GitAnd finally, install Rokit:
winget install -e --id Rojo.RokitAfterwards, restart your shell in order for the new dependencies to be picked up by PATH.
- MacOS 26 and XCode 26
- Vulkan SDK IF you want to test Vulkan via MoltenVK
- Vulkan SDK comes included with glslc
Homebrew can be used to trivially install CMake, Ninja, and CCache:
brew install cmake ninja ccacheVulkan
Section titled “Vulkan”For Gargantuan to output graphics, you’ll first need a Vulkan-capable GPU and a working driver for it.
The installation steps for this vary significantly with each distribution and system configuration, so this section assumes Vulkan is already properly configured.
Verify that Vulkan can detect your GPU correctly:
vulkaninfo --summaryDependencies
Section titled “Dependencies”Install dependencies for your Linux distribution with the following command(s):
sudo pacman -Syu --needed base-devel cmake ninja ccache shaderc git curl unzip freetype2 libx11 libxext libxcursor libxi libxfixes libxrandr libxss libxtstsudo apt install build-essential cmake ninja-build ccache glslc git curl unzip libfreetype-dev libx11-dev libxext-dev libxcursor-dev libxi-dev libxfixes-dev libxrandr-dev libxss-dev libxtst-devsudo apt install build-essential cmake ninja-build ccache glslc git curl unzip libfreetype-dev libx11-dev libxext-dev libxcursor-dev libxi-dev libxfixes-dev libxrandr-dev libxss-dev libxtst-devsudo dnf install gcc gcc-c++ cmake ninja-build ccache glslc git curl unzip freetype-devel libX11-devel libXext-devel libXcursor-devel libXi-devel libXfixes-devel libXrandr-devel libXScrnSaver-devel libXtst-devel zlib-ng-compat-static libpng-staticsudo zypper install --no-recommends gcc gcc-c++ cmake ninja ccache shaderc git curl unzip freetype2-devel libX11-devel libXext-devel libXcursor-devel libXi-devel libXfixes-devel libXrandr-devel libXss-devel libXtst-develOnce you have installed dependencies, install Rokit via the automated installer script with curl:
curl -sSf https://raw.githubusercontent.com/rojo-rbx/rokit/main/scripts/install.sh | bashAfterwards, restart your shell in order for Rokit to be picked up by PATH.
Get the Source Code
Section titled “Get the Source Code”Clone the Gargantuan repository and all of its submodules using the following command:
git clone --recursive https://github.com/teamfireworks/gargantuan.gitBuild Gargantuan
Section titled “Build Gargantuan”Move to the newly cloned Gargantuan directory, and install the tools in rokit.toml:
rokit installThen, check that the build dependencies are available:
seal scripts/doctor.luauGargantuan uses Seal scripts for its development scripts. Configure CMake and generate the Ninja build files with:
seal scripts/configure.luauThen, compile Gargantuan:
seal scripts/build.luauAfter compilation finishes, the Gargantuan executable will be located in build/gargantuan!
Build Options
Section titled “Build Options”Gargantuan includes optional Tracy profiling support, but it is disabled by default.
To build the Tracy tools, configure with the --tracy flag, then build their targets:
seal scripts/configure.luau --tracycmake --build build --target tracy-profiler tracy-capture tracy-csvexportOnce the tools are built and the engine is running, connect with:
./build/tracy-profilertracy-capture -o run.tracy -s 10 records without a window open, and tracy-csvexport run.tracy prints per-zone totals, which is how two runs get compared.
Tracy is disabled by default. Re-run seal scripts/configure.luau without --tracy to disable its tools.
Run Gargantuan
Section titled “Run Gargantuan”Once built, run the binary directly:
./build/gargantuan --helpPass either a Luau script or a Gargantuan project:
./build/gargantuan --script path/to/script.luau./build/gargantuan --project path/to/projectWhen you make changes in Gargantuan, rebuild, then run the binary again:
seal scripts/build.luau./build/gargantuan --project path/to/projectTests are written using the Lest framework. To run the test suite, use:
lestYou’re now fully ready to work on Gargantuan! Make sure to follow our guidelines & best practices for submitting contributions, and have at it :D