Skip to main content
Linux support is extremely experimental and presently incomplete. Many features may not work correctly or at all.

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

Should show Clang version 19 or newer.
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

Or with explicit target OS:
4

Build the Project

Build in debug mode:
Build in release mode:
The build process:
  1. Runs premake to generate build/CMakeLists.txt
  2. Runs CMake to configure the build
  3. 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:
Where <Configuration> is:
  • Debug/ - Debug builds
  • Checked/ - Checked builds
  • Release/ - Release builds

Running Xenia

After building, you can run Xenia from the build output directory:
To make life easier, set program startup arguments to something like:
This will log to console and start the emulator right away.

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:
This will:
  1. Generate CMake files
  2. Create a .idea workspace if it doesn’t exist
  3. Launch CLion
Or manually open build/CMakeLists.txt in CLion.

Troubleshooting

Ensure Clang 19 is installed and available:
On some distributions, you may need to add LLVM repositories for Clang 19.
Install Vulkan development packages:
If you don’t have a Vulkan-capable GPU, Xenia will not run properly.
If you get errors about missing libraries, ensure all dependencies are installed:
If Ninja fails during build:
  1. Clean the build directory:
  1. Re-run premake and build:
The build system is designed for Clang. While GCC might work, it’s not officially supported.Always use Clang 19 or newer:
Xenia requires Python 3.9+ (64-bit):

Known Limitations

The Linux build is experimental. Known issues include:
  • Incomplete feature parity with Windows build
  • Potential rendering issues
  • Audio may not work correctly
  • Performance may be suboptimal
  • Some games may not work at all

Next Steps

xb Build Script

Learn about all available xb commands

Windows Build

For a more stable build experience, consider Windows