Requirements
System Requirements
- 64-bit Linux distribution (up to date)
- Clang 19 or newer (GCC is not officially supported)
- Vulkan-capable GPU with up-to-date drivers
- Python 3.9+ (64-bit)
Build Tools
The build script uses:- CMake for project generation
- Ninja as the build system
- Clang 19 as the compiler (not GCC)
While GCC should work in theory, it is not easily interchangeable with Clang in the current build setup. Use Clang 19 or newer.
Environment Variables
The build system respects these environment variables:
Example:
Installing Dependencies
Ubuntu/Debian
1
Install Required Packages
2
Verify Clang Installation
3
Install Vulkan Drivers
Ensure you have up-to-date Vulkan libraries and drivers for your hardware:NVIDIA:AMD:Intel:Verify Vulkan:
Fedora/RHEL
Arch Linux
Build Instructions
1
Clone the Repository
2
Set Environment Variables (Optional)
If you need to specify Clang 19 explicitly:
3
Run Initial Setup
4
Build the Project
Build in debug mode:Build in release mode:The build process:
- Runs premake to generate
build/CMakeLists.txt - Runs CMake to configure the build
- Runs Ninja to compile the project
Build Process Details
On Linux,xb build performs these steps:
Build Configurations
Build Output Location
Built binaries are located in:<Configuration> is:
Debug/- Debug buildsChecked/- Checked buildsRelease/- Release builds
Running Xenia
After building, you can run Xenia from the build output directory:Updating Your Build
IDE Support (Experimental)
IDE support on Linux is experimental and may require additional configuration.
CLion
If CLion is available in your PATH:- Generate CMake files
- Create a
.ideaworkspace if it doesn’t exist - Launch CLion
build/CMakeLists.txt in CLion.
Troubleshooting
Clang 19 not found
Clang 19 not found
Ensure Clang 19 is installed and available:On some distributions, you may need to add LLVM repositories for Clang 19.
Vulkan not found
Vulkan not found
Install Vulkan development packages:If you don’t have a Vulkan-capable GPU, Xenia will not run properly.
Missing dependencies
Missing dependencies
If you get errors about missing libraries, ensure all dependencies are installed:
Ninja build fails
Ninja build fails
If Ninja fails during build:
- Clean the build directory:
- Re-run premake and build:
GCC vs Clang issues
GCC vs Clang issues
The build system is designed for Clang. While GCC might work, it’s not officially supported.Always use Clang 19 or newer:
Python version too old
Python version too old
Xenia requires Python 3.9+ (64-bit):
Known Limitations
Next Steps
xb Build Script
Learn about all available xb commands
Windows Build
For a more stable build experience, consider Windows
