Skip to main content

What is Xenia?

Xenia is an experimental emulator for the Xbox 360 console. It is a research and education project focused on understanding and recreating the Xbox 360’s hardware and software architecture on modern systems.
This documentation covers the original Xenia fork. For more actively maintained versions, see xenia-canary or the mousehook fork.

Key Features

Xenia brings several advanced emulation technologies together to enable Xbox 360 game execution:

PowerPC JIT Compiler

Translates Xbox 360’s PowerPC instructions to native x64 code through a sophisticated intermediate representation (HIR)

Xenos GPU Emulation

Emulates the custom AMD Xenos graphics chip using modern Vulkan or D3D12 backends

Kernel Emulation

Full implementation of Xbox 360 kernel functions and system calls for authentic execution

Memory System

Accurate virtual and physical memory mapping that mirrors the Xbox 360’s memory architecture

VFS Support

Virtual file system with support for STFS containers, ISO images, and host path mounting

Developer Tools

GPU trace viewer, shader playground, and comprehensive debugging tools

Architecture Overview

Xenia’s architecture consists of several key components:

CPU Emulation

The Xbox 360 uses a 64-bit PowerPC processor running in 32-bit mode. Xenia translates PowerPC instructions through a three-phase process:
  1. Translation to HIR - PowerPC instructions are converted to Xenia’s intermediate representation
  2. HIR Optimization - Compiler passes optimize and prepare the IR for code generation
  3. x64 Code Generation - The backend emits native x64 instructions for execution
This JIT (Just-In-Time) compilation approach provides efficient execution while maintaining accuracy.

GPU Emulation

The Xenos graphics chip is based on AMD’s R5xx architecture with custom features for the Xbox 360. Xenia emulates:
  • Command buffer processing from DirectX driver ringbuffers
  • Shader translation from AMD microcode to SPIR-V (Vulkan) or DXIL (D3D12)
  • EDRAM (embedded DRAM) for high-speed framebuffer operations
  • Render target and texture management

Memory Management

Xenia maps Xbox 360 memory ranges to host system memory:
0x00000000 - 0x3FFFFFFF (1024mb) - virtual 4k pages
0x40000000 - 0x7FFFFFFF (1024mb) - virtual 64k pages
0x80000000 - 0x9FFFFFFF ( 448mb) - xex executable pages
0xA0000000 - 0xFFFFFFFF (1536mb) - physical memory (overlapped)

Virtual File System

The VFS layer provides access to game data through multiple device types:
  • Disc Image Device - ISO and XEX file support
  • STFS Container Device - Xbox 360 Secure Transient File System packages
  • Host Path Device - Direct file system mounting
  • Null Device - Special system devices

Platform Support

Windows

Windows is the primary development platform with full support:
  • Windows 10 or Windows 11
  • Visual Studio 2022 with C++ development tools
  • Direct3D 12 and Vulkan graphics backends
  • Full debugging and profiling support

Linux

Linux support is extremely experimental and presently incomplete. Many features may not work correctly.
Linux builds require:
  • Recent Ubuntu/Debian-based distribution
  • Clang 19 or newer
  • Vulkan graphics backend only
  • GTK3 for windowing

System Requirements

To run Xenia, you need:
  • 64-bit processor - Required for both building and running
  • Modern GPU - Vulkan 1.1+ or Direct3D 12 support
  • Updated drivers - Always use the latest GPU drivers
  • Memory - At least 4GB RAM, 8GB+ recommended
  • Storage - Varies by game, typically 5-15GB per game
Important DisclaimerThe goal of this project is to experiment, research, and educate on the topic of emulation of modern devices and operating systems. It is not for enabling illegal activity.All information is obtained via:
  • Reverse engineering of legally purchased devices and games
  • Public information from Microsoft (XNA Game Studio, presentations, etc.)
  • Information from 3rd party companies (Valve SDKs, etc.)
Never use or reference information from Xbox Development Kits (XDKs).

Using Xenia Legally

To use Xenia legally:
  1. Own your games - Only use games you have legally purchased
  2. Dump your own discs - Create ISO files from your own Xbox 360 discs
  3. No piracy - Never download or distribute copyrighted game files
  4. No XDK content - Do not use files from development kits

Game Compatibility

Xenia’s compatibility varies widely by game. Some games run perfectly, while others may have issues or not work at all.
Check the game compatibility list to see which games are playable and what issues they may have.
Common compatibility issues:
  • Graphics artifacts - Shader translation or render target issues
  • Audio problems - Sound effects or music may be missing or distorted
  • Performance - Some games may run slower than native hardware
  • Crashes - Unimplemented kernel functions or CPU instructions

Community & Support

Discord Community

Join the Xenia community on Discord for:
  • Emulator-related discussions
  • Help with setup and configuration
  • Game compatibility reports
  • Development chat in #dev channel
Please check the FAQ before asking questions. Discussing illegal activities will result in a ban.

Contributing

Xenia is open source and welcomes contributions! Areas where help is needed:
  • Fixing compatibility issues in games
  • Optimizing performance
  • Linux platform improvements
  • Documentation and testing
See the Contributing guide for more information on how to get involved.

Next Steps

Ready to get started with Xenia?

Quickstart

Get Xenia running in minutes

Installation

Detailed installation instructions

Building from Source

Build Xenia yourself

Architecture Deep Dive

Learn how Xenia works internally

Build docs developers (and LLMs) love