This guide provides instructions for compiling the canary_experimental
branch of Xenia, an Xbox 360 emulator, from source code, targeting a UWP (Universal Windows Platform) build suitable for deployment to an Xbox Series S/X in Developer Mode. Note: This process is based on information from SirMangler's Discord and may be subject to change. Success is not guaranteed.
Clone the Repository:
Choose a location on your PC to store the Xenia source code (e.g., C:\XeniaSource
). Create this folder.
Open Git Bash: Navigate to the chosen folder in File Explorer, right-click inside the folder, and select "Git Bash Here".
Run the following command in the Git Bash terminal:
git clone -b canary_experimental --recursive https://github.com/SirMangler/xenia.git
-b canary_experimental
: This clones the canary_experimental
branch, which is the actively developed UWP branch. This is crucial.--recursive
: This ensures that all submodules (external libraries) are also downloaded. This is also crucial.https://github.com/SirMangler/xenia.git
: This is the URL of SirMangler's fork of Xenia.Change Directory: After the cloning is complete, use the following command in Git Bash to navigate into the newly created xenia
folder:
cd xenia
You must be inside the xenia
folder for the next steps.
Run Setup Commands:
In the same Git Bash terminal (now inside the xenia
folder), run these two commands, one after the other:
./xb devenv
./xb premake
These commands set up the development environment and generate project files. You may see output (possibly including warnings or errors) in the terminal; this is normal as long as the commands complete.
Open the Solution:
xenia
folder in File Explorer (e.g., C:\XeniaSource\xenia
).xenia.sln
(or similar, depending on your setup). Double-click this file to open the Xenia solution in Visual Studio 2022.Add xenia-canary-uwp
to the Solution:
xenia\src\xenia-canary-uwp
.Set Startup Project:
xenia-canary-uwp
.xenia-canary-uwp
and select "Set as Startup Project".Set Build Configuration:
(Potentially Optional) Compile the Entire Solution: The original guide suggests compiling the entire solution at this point. Try this first. If it doesn't work, skip to step 9 and then, try building the solution again.
Remove file_picker.win.cc
:
xenia-canary-uwp
project.file_picker.win.cc
. It's likely within a "Source Files" or similar filter.file_picker.win.cc
and select "Remove". Confirm the removal. This file is known to cause build issues.(Conditional) zstd
Issues (If Step 7 Fails): If you encounter build errors related to zstd
(a compression library), follow these steps:
zstd
: In the Solution Explorer, find the zstd
project (it's likely at the top level of the solution, not inside xenia-canary-uwp
). Right-click on zstd
and select "Remove".zstd
Project:
third_party/zstd/build/VS2010/zstd/
.zstd.vcxproj
and click "Open".zstd
:
zstd
project in the Solution Explorer.zstd
Reference to zarchive
:
zarchive
project in the Solution Explorer.zarchive
and select "Add" -> "Reference...".zstd
and click "OK".zstd.rc
: In the Solution Explorer, expand the zstd
project. Find the file named zstd.rc
(likely in "Resource Files"). Right-click on zstd.rc
and select "Remove".Build the Project (or Create App Packages):
xenia-canary-uwp
in the Solution Explorer and select "Build". This is suitable for debugging.xenia-canary-uwp
in the Solution Explorer.Deploy to Xbox: If you created app packages, you can deploy them to your Xbox using the Device Portal (in your web browser) or through Visual Studio's "Remote Machine" deployment option (as described in the Dolphin UWP build guide). You would follow very similar steps as with Dolphin UWP to connect and deploy to the Xbox.
This guide provides the necessary steps, based on the provided information and best practices for UWP development. If you encounter errors, carefully review the steps, paying close attention to:
file_picker.win.cc
, and potentially zstd.rc
).zstd
project retargeting and referencing.