Bythe time the Xbox 360 came out, my interest in modern gaming had already started to wane. While I did own an Xbox 360, I didn't have many games on it and mostly used it for playing with friends online. I don't have an incredibly strong attachment to the Xbox 360 nor its library, but I do appreciate emulation and have wanted to give it a shot.
Xenia is the dominant Xbox 360 emulator, and has been making gigantic strides. At this point, many popular games can boot and some are even in-game. How playable they are varies from game to game and how fast they run heavily depends on the strength of the host machine. It's unreasonable to expect perfection in games, but some are running quite well.
When I look to test an emulator and report bugs, I like to start with games I have a lot of experience with as early candidates. It helps me stay grounded and have a direct reference point as to what correct output is without having to know much about the emulator. I also wanted to choose a game that was likely to run well.
Upon loading up Castle Crashers in Xenia, the game played pretty much how I remembered it. Xenia itself showed some nifty details in its presentation. I particularly liked how the Windows task bar would show an icon for the game that's currently running instead of the Xenia logo.
Xenia only supports XInput controllers, but they work well and don't require any configuration whatsoever. On my PS4 controller, everything worked without any trouble. It was actually a bit surprising for rumble to be working without me having to go through any kind of configuration menu. For those without a controller, there are keyboard controls as well, though it is not quite as natural as using a real controller.
As someone experienced with other emulators, I know how tricky it can be to get text rendering properly. This wasn't any real cause for concern and I wouldn't be surprised if it wasn't weeded out with other rendering issues across other games in the future.
Considering that the game was playing perfectly fine outside of minor graphical issues, this was rather frustrating. After looking at various documentation and asking around, I found out that an Xbox Live Arcade game and its demo are the same file. The only difference is that you need a bit set to make the game run outside of demo mode.
I figured that Xenia not setting this mask was some kind of anti-piracy measure in order to prevent users from downloading the demos off of their Xbox 360 and then running the full version on Xenia. That wasn't actually the case; while most titles are still available on the Xbox Live Arcade, Xenia devs claim that this is not a piracy issue.
I couldn't believe that was the real public response, but it truly appeared to be the case. People within Xenia's discord echoed that and that's how I received that screenshot. I was rather upset that the emulator was being limited for what seemed like such as nonsensical reason.
Finally, everything made sense. While I don't entirely agree with all of the reasoning and methodology, I can at least understand the purpose and ideas behind what they were trying to accomplish. As Rick explained, simply hacking it the other way isn't a real solution, so Xenia itself did need to catch up a bit before it could really be fixed.
I disagree primarily with the fact that creating hurdles for general users is a good thing. As annoying as some users can be, they're an important part of testing and maintenance. More users means there are more headaches, but it also leads to regressions being caught quicker, more obscure games being tested, and people like me with little coding expertise being able to more easily contribute. In this case, it just depends on the developer if the extra noise is worth it, and they determined at that time that it wasn't.
With games like Halo 3 and Red Dead Redemption running in modern builds, having this limitation didn't make sense from the standpoint of limiting the community. And in the above quote, Rick agreed, saying that he was open to changing it if it was implemented in a reasonable manner. And things quickly seem to be heading that way as developers seem poised to allow the license mask to be customized on a per game basis thanks to Xenia's improved configuration infrastructure that didn't exist back when these decisions were made.
I came into this article because I was frustrated, in the end I learned a lot more about Xenia than I expected. I got to play a game I hadn't tried in years, learned about how demos worked on Xbox 360 and got a much fuller picture on what happened. Honestly, the whole situation has made me more invested in Xenia than I would have been otherwise.
When I initially started writing this article, my only knowledge of why Xenia was running the game as a demo came from screenshots and out of context quotes of Rick. It seemed like the actual purpose and meaning behind why Xenia was doing what it was doing was lost in translation. I'm happy to have learned the history behind it and the true reasoning.
Emulator development has never been simple, but contemporary emulators face a tremendous set of challenges created by the modern era. Having witnessed some of the trials developers have gone through personally, I feel
IMPORTANT: Xenia does not currently run well on Linux/SteamOS. Most games will not boot or will not be playable. This emulator is currently in an experimental state for Linux/SteamOS.
IMPORTANT: Currently, Xbox Live Arcade games have the highest compatibility on Linux/SteamOS. Most Xbox 360 games do not run well on Xenia, on Linux/SteamOS at this time. Xenia does not currently run well on Linux/SteamOS. Most games will not boot or will not be playable. This emulator is currently in an experimental state for Linux/SteamOS.
Xenia is a fairly straight-forward emulator to set up. Place your Xbox 360 ROMs in Emulation/roms/xbox360/roms or Xbox Live Arcade ROMs in Emulation/roms/xbox360/roms/xbla. No additional setup is required. Read the Configuration section to learn more about Xenia and its folder locations.
These file locations apply regardless of where you chose to install EmuDeck (to your internal SSD, to your SD Card, or elsewhere). Some emulator configuration files will be located on the internal SSD as listed below.
Paths beginning with Emulation/.. correspond to your EmuDeck install location. If you installed on an SD Card, your path may be /run/media/mmcblk0p1/Emulation/roms/... If you installed on your internal SSD, your path may be /home/deck/Emulation/roms/..
Xenia cannot be installed on your initial installation of EmuDeck. It can only be installed through the Manage Emulators page. It is recommended to not follow online guides if you intend on using EmuDeck's set-up. Any deviations from EmuDeck configurations to Steam ROM Manager, or Xenia's general set-up will not be supported.
No additional setup is required with Steam ROM Manager and ES-DE. If you do not have the latest Steam ROM Manager configurations, either run a Custom Reset or click the Reset configuration button on the Steam ROM Manager page within the EmuDeck application.
However, do keep in mind that the above solutions are not guaranteed to fix your issue. Xenia on Linux, through Proton, is still in a highly experimental state. Many games do not work. Xbox Live Arcade Games currently have the highest compatibility.
Xenia, through Proton/Wine, is currently in an experimental state. Updates may break or affect the emulator in unexpected ways. If an update does break certain games launching from Xenia, it is easy to swap out the build for an older one so you can continue playing.
This section will go over how to swap out the latest build of Xenia Canary for e9d1e51_canary_experimental as an example. However, you can take what is written here and apply it to any build of Xenia Canary as well.
Recent (as of August 2023) updates of Proton Experimental increased compatibility for DX12. These updates allow more games to boot through Xenia using DX12. At the moment, EmuDeck sets Xenia to Vulkan by default, but swapping between the two is fairly easy.
Xbox 360 Multi-disc games are not all the same. Some Xbox 360 multi-disc games may contain the disc content on Disc 1 and optional content on Disc 2, allowing you to complete the entire game using only Disc 1. Some Xbox 360 multi-disc games are split in parts, requiring you to use all included discs to complete the game. Some may contain the entire game on Disc 1 and allow you to install additional content from the other discs, similar to DLC.
Xenia Canary will prompt you to select the next disc after you complete one disc. If you are using Steam ROM Manager, you may elect to only parse Disc 1 and hide any additional discs, see How to Manage ROMs with Multiple Discs to learn how.
To download the content on the additional discs and use it on the base disc , you will need to install them and treat them as "DLC". Xenia does not have a way of directly supporting this yet. There may be other ways to accomplish installing the additional content, but this wiki will not cover those methods.
To make this format easier to use with both Steam ROM Manager and ES-DE, rename the game file to match the game name. Using Banjo Kazooie as an example, rename DA78E477AA5E31A7D01AE8F84109FD4BF89E49E8 to Banjo Kazooie.
Use the Microsoft Xbox 360 - Xenia - XBLA parser in Steam ROM Manager or ES-DE to play your game. You do not need any of the additional folders included with the original ROM. You may delete these folders.
Since Xenia is packaged as a Windows application and has no Linux version widely available, EmuDeck downloads and runs Xenia through Proton using a script. All of Xenia's important files (saves and configurations) are localized to Xenia's folder in Emulation/roms/xbox360.
However, running Xenia through Proton will still create a prefix (a sort of Windows virtual C:Drive). If you notice Xenia suddenly stops working (after it was previously working), you may try deleting the prefix. Deleting the prefix will not delete any of your saves or configurations since these are localized to the Emulation/roms/xbox360 folder.
3a8082e126