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.