Xenia is an Xbox 360 Emulator.
Website: https://xenia.jp/
GitHub: https://github.com/xenia-project/xenia
Compatibility List: https://github.com/xenia-project/game-compatibility/issues
Xenia's FAQ: https://github.com/xenia-project/xenia/wiki/faq
Xenia's Quickstart Guide: https://github.com/xenia-project/xenia/wiki/Quickstart
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.
It's HIGHLY recommended to see if a game you wish to emulate has a native PC version on Steam, Lutris, etc. or has a PS3 version than can be run with RPCS3 instead.
Xenia Table of Contents
-
- Troubleshooting Tips
- How to Configure Multiplayer
- How to Swap Out Xenia Builds
- How to Swap Between Vulkan and DX12
- How to Manage Multiple Discs
- How to Set Up Xbox Live Arcade Games
- How to Delete Xenia's Prefix
- How to Configure Language Settings
- How to Apply Patches
- How to Set Game Settings On a Per-Game Basis
- How to Access Xenia Settings in Game Mode
- How to Extract ISOs to the XEX Format
- How to Convert Xbox Live Arcade ROMs to XEX
- How to Compress ROMs to ZAR
- How to Optimize Sonic Unleashed
Getting Started with Xenia
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.
To launch your ROMs in game mode, use Steam ROM Manager and use one of the following parsers to play your Xbox 360 ROMs:
ES-DE
Microsoft Xbox 360 - Xenia
Microsoft Xbox 360 - Xenia - XBLA
Emulators
Xenia Configuration
- Type of Emulator: Windows Executable through Proton
- Executable Location (Xenia Script):
Emulation/tools/launchers/xenia.sh
- Use
xenia.sh
to launch Xenia in Desktop Mode
- Use
- Executable Location (Windows EXE):
Emulation/roms/xbox360/xenia_canary.exe
- Do not launch Xenia in Desktop Mode with
xenia_canary.exe
- Do not launch Xenia in Desktop Mode with
- Config Location:
Emulation/roms/xbox360
- Xbox 360 ROM Location:
Emulation/roms/xbox360/roms
- Note the second
roms
folder in the path
- Note the second
- Xbox Live Arcade ROM Location:
Emulation/roms/xbox360/roms/xbla
- Note the second
roms
folder in the path
- Note the second
- BIOS: No BIOS are required to play Xenia
- Saves:
Emulation/roms/xbox360/content
Works With
- Steam ROM Manager
- ES-DE
Xenia 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.
$HOME
refers to your home folder. If you are on a Steam Deck, this folder will be named /home/deck
(you will likely not see deck
in the file path when navigating using the file manager).
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/..
Emulation/roms/xbox360
xbox360/
├── cache
│ └── modules
│ ├── 591F88BF31D190A8FC6D34699CD04D6D
│ │ └── executable_addr_flags.bin
│ └── 92894AFA8482EBA139E20552587117
│ └── executable_addr_flags.bin
├── LICENSE
├── patches
│ ├── 415607D3 - Gun.patch.toml
│ ├── 415607DD - Tony Hawk's Project 8.patch.toml
│ ├── 415607F2 - Kung Fu Panda.patch.toml
│ ├── 415607F5 - Bee Movie Game.patch.toml
│ ├── 41560817 - Modern Warfare 2 (TU6).patch.toml
│ ├── 415608AF - GoldenEye 007 Reloaded.patch.toml
│ ├── 415608C5 - Family Guy Back to the Multiverse.patch.toml
│ ├── 41560904 - Transformers-Rise of The Dark Spark.patch.toml
│ ├── 425307D1 - The Elder Scrolls IV Oblivion (GOTY).patch.toml
│ ├── 425307DB - Wet.patch.toml
│ ├── 425307E6 - The Elder Scrolls V Skyrim.patch.toml
│ ├── 434307D4 - Resident Evil 5.patch.toml
│ ├── 43430817 - Asura's Wrath.patch.toml
│ ├── 43430824 - DmC Devil May Cry.patch.toml
│ ├── 43430830 - Lost Planet 3.patch.toml
│ ├── 43430841 - Resident Evil.patch.toml
│ ├── 43430842 - Resident Evil 0.patch.toml
│ ├── 434D0822 - Leisure Suit Larry Box Office Bust.patch.toml
│ ├── 445007EA - Onechanbara Bikini Samurai Squad.patch.toml
│ ├── 454107D9 - Need for Speed Most Wanted (2005).patch.toml
│ ├── 454107F9 - Battlefield Bad Company.patch.toml
│ ├── 45410809 - The Simpsons Game.patch.toml
│ ├── 4541080F - The Orange Box (default.xex).patch.toml
│ ├── 4541080F - The Orange Box (engine_360.dll).patch.toml
│ ├── 4541080F - The Orange Box (shaderapidx9_360.dll).patch.toml
│ ├── 4541080F - The Orange Box (tf-bin-Client_360.dll).patch.toml
│ ├── 45410850 - Mirror's Edge.patch.toml
│ ├── 4541087F - Skate 2.patch.toml
│ ├── 454108D8 - Army of Two The 40th Day.patch.toml
│ ├── 454108E6 - Skate 3.patch.toml
│ ├── 454108EF - Bulletstorm.patch.toml
│ ├── 45410914 - Rock Band 3.patch.toml
│ ├── 45410914 - Rock Band 3 TU5.patch.toml
│ ├── 45410915 - Fight Night Champion (TU0).patch.toml
│ ├── 45410915 - Fight Night Champion (TU1).patch.toml
│ ├── 45410915 - Fight Night Champion (TU2).patch.toml
│ ├── 45410916 - Alice Madness Returns.patch.toml
│ ├── 4541092A - Shadows of the Damned.patch.toml
│ ├── 4541096D - SSX.patch.toml
│ ├── 465307D6 - Armored Core 4 (USA).patch.toml
│ ├── 475007D2 - Hail to the Chimp.patch.toml
│ ├── 475807D1 - Lucha Libre AAA Heroes del Ring.patch.toml
│ ├── 494F07D1 - El Shaddai.patch.toml
│ ├── 4B4E0823 - Silent Hill Downpour.patch.toml
│ ├── 4B4E0823 - Silent Hill Downpour (TU1).patch.toml
│ ├── 4B5607E8 - Dead or Alive 5 Ultimate.patch.toml
│ ├── 4C4107D7 - LEGO Star Wars The Complete Saga.patch.toml
│ ├── 4C4107F3 - LEGO Star Wars III The Clone Wars.patch.toml
│ ├── 4D5307D1 - Project Gotham Racing 3 (v10.0 or higher).patch.toml
│ ├── 4D5307D1 - Project Gotham Racing 3 (v9.0 or lower).patch.toml
│ ├── 4D5307D2 - Kameo Elements of Power.patch.toml
│ ├── 4D5307D2 - Kameo Elements of Power (TU2).patch.toml
│ ├── 4D5307D3 - Perfect Dark Zero.patch.toml
│ ├── 4D5307D3 - Perfect Dark Zero (Platinum Hits).patch.toml
│ ├── 4D5307D3 - Perfect Dark Zero (TU3).patch.toml
│ ├── 4D5307D5 - Gears of War.patch.toml
│ ├── 4D5307D5 - Gears of War (TU5).patch.toml
│ ├── 4D5307DF - Blue Dragon.patch.toml
│ ├── 4D5307DF - ブルードラゴン.patch.toml
│ ├── 4D5307E6 - Halo 3.patch.toml
│ ├── 4D5307ED - Banjo-Kazooie Nuts & Bolts.patch.toml
│ ├── 4D5307ED - Banjo-Kazooie Nuts & Bolts (TU3).patch.toml
│ ├── 4D5307F1 - Fable II (1).patch.toml
│ ├── 4D5307F1 - Fable II (2).patch.toml
│ ├── 4D5307F1 - Fable II (GOTY_Platinum Edition).patch.toml
│ ├── 4D5307F1 - Fable II (GOTY_Platinum Edition, TU1).patch.toml
│ ├── 4D5307F2 - Viva Piñata.patch.toml
│ ├── 4D5307F9 - Project Gotham Racing 4.patch.toml
│ ├── 4D5307FA - Lost Odyssey (NTSC-J).patch.toml
│ ├── 4D5307FA - Lost Odyssey.patch.toml
│ ├── 4D53082D - Gears of War 2.patch.toml
│ ├── 4D53082D - Gears of War 2 (TU6).patch.toml
│ ├── 4D53085B - Halo Reach.patch.toml
│ ├── 4D53085F - Viva Piñata Trouble in Paradise.patch.toml
│ ├── 4D53085F - Viva Piñata Trouble in Paradise (TU1).patch.toml
│ ├── 4D530877 - Halo 3 ODST.patch.toml
│ ├── 4D5308AB - Gears of War 3.patch.toml
│ ├── 4D5308AB - Gears of War 3 (TU6 Disc; TU1 XBL).patch.toml
│ ├── 4D53090E - Kinect Star Wars.patch.toml
│ ├── 4D5309B1 - Halo Combat Evolved Anniversary.patch.toml
│ ├── 4D5309C9 - Forza Horizon (E3 Demo).patch.toml
│ ├── 4D5309C9 - Forza Horizon.patch.toml
│ ├── 4D530A26 - Gears of War Judgment.patch.toml
│ ├── 4D530A26 - Gears of War Judgment (TU4).patch.toml
│ ├── 4D530A87 - Fable Anniversary.patch.toml
│ ├── 4D5387E0 - Kameo Elements of Power (kiosk demo).patch.toml
│ ├── 4D5387E9 - Kameo Elements of Power (demo).patch.toml
│ ├── 4D53880C - Halo 3 Alpha.patch.toml
│ ├── 4D53883A - Halo 3 Epsilon (Aug 20th).patch.toml
│ ├── 4D5388BF - Crackdown 2 Demo.patch.toml
│ ├── 4D5707D7 - Blacksite.patch.toml
│ ├── 4D5707DB - Unreal Tournament 3.patch.toml
│ ├── 4D5707DF - TNA Impact (TU1).patch.toml
│ ├── 4E4D07D3 - Ridge Racer 6.patch.toml
│ ├── 4E4D07F0 - Splatterhouse.patch.toml
│ ├── 4E4D080B - Magnacarta2.patch.toml
│ ├── 534307E2 - Bionicle Heroes.patch.toml
│ ├── 5343080B - Batman Arkham Asylum GOTY.patch.toml
│ ├── 534507D6 - Sonic the Hedgehog (2006).patch.toml
│ ├── 53450812 - Sonic Unleashed.patch.toml
│ ├── 53450812 - Sonic Unleashed (TU2).patch.toml
│ ├── 5345085A - Dreamcast Collection.patch.toml
│ ├── 535107E4 - Final Fantasy XIII.patch.toml
│ ├── 535107E8 - Nier.patch.toml
│ ├── 535107FA - Deus Ex Human Revolution Director's Cut.patch.toml
│ ├── 53510806 - Final Fantasy XIII-2.patch.toml
│ ├── 53518810 - Final Fantasy XIII-2 Demo.patch.toml
│ ├── 544307D5 - Ninja Gaiden II (Japan, TU3).patch.toml
│ ├── 544307D5 - Ninja Gaiden II (World).patch.toml
│ ├── 544307D5 - Ninja Gaiden II (World, TU2).patch.toml
│ ├── 545107D1 - Saints Row.patch.toml
│ ├── 545107D1 - Saints Row (TU1).patch.toml
│ ├── 545107F1 - Ratatouille.patch.toml
│ ├── 545107FC - Saints Row 2.patch.toml
│ ├── 545107FC - Saints Row 2 (TU1).patch.toml
│ ├── 545107FE - DAH Path of the Furon.patch.toml
│ ├── 5451083B - 50 Cent Blood on the Sand.patch.toml
│ ├── 54510850 - SpongeBob - Truth or Square.patch.toml
│ ├── 54510866 - WWE All Stars.patch.toml
│ ├── 545407D4 - Amped 3.patch.toml
│ ├── 545407DF - Table Tennis.patch.toml
│ ├── 545407EE - The Darkness.patch.toml
│ ├── 545407F2 - Grand Theft Auto IV.patch.toml
│ ├── 545407F8 - Midnight Club Los Angeles (Complete Edition).patch.toml
│ ├── 545407F8 - Midnight Club Los Angeles.patch.toml
│ ├── 5454082B - Red Dead Redemption (GOTY, Disc 1).patch.toml
│ ├── 5454082B - Red Dead Redemption (GOTY, Disc 2).patch.toml
│ ├── 5454082B - Red Dead Redemption (Original, NTSC).patch.toml
│ ├── 5454082B - Red Dead Redemption (Original, NTSC, TU9).patch.toml
│ ├── 5454082B - Red Dead Redemption-Undead Nightmare (Platinum Hits).patch.toml
│ ├── 5454085D - Bioshock Infinite.patch.toml
│ ├── 545408A7 - Grand Theft Auto V (TU26).patch.toml
│ ├── 545408A7 - Grand Theft Auto V (TU27).patch.toml
│ ├── 555307DC - Far Cry Instincts Predator.patch.toml
│ ├── 555307E5 - Naruto Rise of a Ninja.patch.toml
│ ├── 5553088C - Far Cry 3.patch.toml
│ ├── 565507D4 - The Bourne Conspiracy.patch.toml
│ ├── 565707D0 - Lollipop Chainsaw.patch.toml
│ ├── 565707D0 - Lollipop Chainsaw (Premium Edition).patch.toml
│ ├── 57520802 - Batman Arkham City GOTY.patch.toml
│ ├── 57520802 - Batman Arkham City (TU6).patch.toml
│ ├── 584107D5 - Small Arms.patch.toml
│ ├── 58410889 - Peggle.patch.toml
│ ├── 584108A9 - Bean (GoldenEye 007).patch.toml
│ ├── 584108D3 - Boogie Bunnies.patch.toml
│ ├── 584108DB - A Kingdom for Keflings.patch.toml
│ ├── 584108F6 - Shadow Complex.patch.toml
│ ├── 58410908 - Gel Set & Match.patch.toml
│ ├── 5841090B - Doritos Dash of Destruction.patch.toml
│ ├── 58410954 - Banjo-Kazooie.patch.toml
│ ├── 58410955 - Banjo-Tooie.patch.toml
│ ├── 58410968 - Outrun Online Arcade.patch.toml
│ ├── 5841096A - Hydro Thunder Hurricane.patch.toml
│ ├── 584109FF - Plants vs. Zombies.patch.toml
│ ├── 58410A34 - Crazy Taxi.patch.toml
│ ├── 58410A39 - Space Channel 5 Part 2.patch.toml
│ ├── 58410A70 - Harm's Way.patch.toml
│ ├── 58410B00 - Dead Rising 2 Case West.patch.toml
│ ├── 584111E8 - State of Decay (TU5).patch.toml
│ ├── 584111F7 - Minecraft (XBLA, TU0).patch.toml
│ ├── 584111F7 - Minecraft (XBLA, TU1).patch.toml
│ ├── 584111F7 - Minecraft (XBLA, TU2).patch.toml
│ ├── 584111F7 - Minecraft (XBLA, TU3).patch.toml
│ ├── 584111F7 - Minecraft (XBLA, TU4).patch.toml
│ ├── 5841124F - Doritos Crash Course 2.patch.toml
│ └── 58411436 - Peggle 2.patch.toml
├── portable.txt
├── recent.toml
├── roms
│ └── xbla
├── xenia-canary.config.toml
├── xenia_canary.exe
├── xenia.config.toml
└── xenia.log
How to Download Xenia
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.
Here's How to Download Xenia
- In Desktop Mode, open the EmuDeck application
- Click the
Manage Emulators
button - Click
Xenia
- Click
Install
- Xenia will be installed to
Emulation/roms/xbox360
- Place your Xbox 360 ROMs in
Emulation/roms/xbox360/roms
and Xbox Live Arcade ROMs inEmulation/roms/xbox360/roms/xbla
- Place your Xbox 360 ROMs in
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.
How to Update Xenia
How to Update Xenia
- Through the
Update your Emulators & Tools
section on theManage Emulators
page in theEmuDeck
application - Manual file replacement of
xenia_canary.exe
- Refer to How to Swap Out Xenia Builds for instructions
How to Launch Xenia in Desktop Mode
How to Launch Xenia in Desktop Mode
- Launch
xenia (Proton)
from theApplications Launcher
(Steam Deck icon in the bottom left of the taskbar) - Launch the script from
Emulation/tools/launchers
,xenia.sh
- Launch the emulator from
Steam
after adding it via theEmulators
parser inSteam ROM Manager
Xenia File Formats
- .iso
- .xex
- No file extension
- For Xbox Live Arcade Games
Xenia Hotkeys
N/A
EmuDeck Compatibility List
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.
Check the EmuDeck community compatibility list to see what Xbox 360 games run well on the Steam Deck (on SteamOS): https://docs.google.com/spreadsheets/d/1fRqvAh_wW8Ho_8i966CCSBgPJ2R_SuDFIvvKsQCv05w/edit#gid=1989583881.
To submit games to the EmuDeck community compatibility list: https://docs.google.com/forms/d/e/1FAIpQLScavGFOuGpEVpyHdRVcPjdrCEquG9ItBaloa8Q0XaiNlu_Afg/viewform.
Xenia Common Issues
The Dangers of Proton
IMPORTANT:
DO NOT set Proton Compatibity on Xenia or Xenia games added to Steam. Do NOT set STEAM_COMPAT_MOUNTS
in parameters.
Turning on Proton is not necessary because EmuDeck created a custom script to launch Xenia through Proton. Turning on Proton through Steam breaks EmuDeck's custom script.
Do not open the Compatibility
screen in Game Mode
. Do not touch any of the settings on the Compatibility
screen in Game Mode
.
How to Fix !Status or GPU Command Error Messages
If you get an error message with either !Status
or GPU Commands
, you can try one of the below solutions:
- Update Xenia to the latest version. This issue was fixed on December 5th, 2023. For more information, see https://github.com/xenia-canary/xenia-canary/issues/158
- Try DX12. Recent updates have massively improved compatibility with DX12. Currently, EmuDeck sets Vulkan as the default. See How to Swap Between Vulkan and DX12 to learn how to swap between the two
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 Tips and Tricks
Troubleshooting Tips
- As a first step, Reset Xenia on the Manage Emulators page in the EmuDeck application
- If you get a Wine related error, make sure your ROMs are in
Emulation/roms/xbox360/roms
orEmulation/roms/xbox360/roms/xbla
, notEmulation/roms/xbox360
- If you are getting a
!Status or GPU Command Error Messages
, read How to Fix !Status or GPU Command Error Messages - If you are still on an older version of Xenia, try updating to the latest version and use DX12 instead of Vulkan, see How to Swap Between Vulkan and DX12
- If Xenia was working perfectly fine and suddenly stopped working, see How to Delete Xenia's Prefix
- If you are noticing game specific issues, search for your game on Xenia's game compatibility database, https://github.com/xenia-project/game-compatibility/issues and see if users have suggested any solutions
- If you need to make any edits to the configuration file, open
xenia-canary.config.toml
inEmulation/roms/xbox360
- If you need to make any edits to the configuration file, open
- If you are playing Xbox Live Arcade Games, make sure to read How to Set Up Xbox Live Arcade Games
How to Configure Multiplayer
Multiplayer for Xenia is configured out of the box, no additional configuration is needed.
You may need to re-arrange the controller order in Game Mode for your controllers to function as expected. See How to Re-Arrange the Controller Order for more information.
How to Swap Out Xenia Builds
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.
Tutorial
- In Desktop Mode, download
xenia_canary.zip
from: https://github.com/xenia-canary/xenia-canary/releases/tag/e9d1e51 - Extract the zip file to a folder of your choice
- Copy or move
xenia_canary.exe
in the newly extracted folder toEmulation/roms/xbox360
and overwrite the pre-existingxenia_canary.exe
- To test, you can open Xenia by launching
xenia.sh
fromEmulation/tools/launchers
orxenia (Proton)
from the applications launcher in the bottom left - Xenia will now be using your swapped out build. However, you can update to the latest build at any time through EmuDeck
Visual Tutorial
How to Swap Between Vulkan and DX12
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.
Here's How
- Open
Emulation/roms/xbox360
- Right click
xenia-canary.config.toml
and clickOpen with Kate
or a text editor of your choice - Locate the
gpu = ""
line- By default through EmuDeck, this line should write
gpu = "vulkan"
- By default through EmuDeck, this line should write
- To swap between Vulkan and DX12, select one of the two below and write it on the
gpu=""
line:- Vulkan:
gpu = "vulkan"
- DX12:
gpu ="d3d12"
"vulkan"
and"d3d12"
must be in quotes
- Vulkan:
Photos
Vulkan:
DX12:
Video
How to Manage Multiple Discs
Xenia does not support M3U files.
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.
Xbox 360 Games With Optional Content on Separate Discs
You can treat each disc as separate "games", and only need Disc 1 to complete the full base game.
List of Games
- Red Dead Redemption
- The entire base game is on Disc 1 and the Undead Nightmare DLC and multiplayer are on Disc 2
Xbox 360 Games With Split Parts on Each Disc
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.
List of Games
- Lost Odyssey
- Each disc contains a portion of the full content
Xbox 360 Games With Installable Content on Additional Discs
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.
List of Games
- Call of Duty: Advanced Warfare
How to Set Up Xbox Live Arcade Games
File Format
Xbox Live Arcade ROMs typically come in nested folders with an alphanumerically named file.
For example, Banjo Kazooie:
The DA78E477AA5E31A7D01AE8F84109FD4BF89E49E8
file is the game file used to launch Banjo Kazooie.
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
.
Move the newly renamed Banjo Kazooie
file to Emulation/roms/xbox360/roms/xbla
. Note the second roms folder.
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.
Xenia Configuration
In order to play Xbox Live Arcade Games, you also need the full license. Xenia makes activating this license fairly easy.
Here's How
- Open
Emulation/roms/xbox360
- Right click
xenia-canary.config.toml
and clickOpen with Kate
or a text editor of your choice - Locate the
license_mask =
line- By default, this line should write
license_mask = 0
- By default, this line should write
- To activate Xbox Live Arcade ROMs, change the
0
to a1
:license_mask = 1
Photos
Unactivated License:
Activated License:
How to Delete Xenia's Prefix
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.
IMPORTANT: If you changed Xenia's Proton version in Emulation/tools/launchers/xenia.sh
, and notice Xenia suddenly stops working, it's recommended to delete the prefix. Deleting the prefix will "flush" Xenia and give it a clean slate (while retaining saves and configurations) with your newly selected Proton version.
How to Delete Xenia's Prefix
- In Desktop Mode, open Xenia
- How to Launch Xenia in Desktop Mode
- It does not matter if Xenia actually opens on this step. If opening Xenia does not do anything, proceed to Step 2
- Open the
Emulation/tools
folder - Right click
proton-launch.log
and clickOpen with Kate
or a text editor of your choice - Locate the
PFX:
line- For example:
PFX: /home/deck/.local/share/Steam/steamapps/compatdata/3322499838
- For example:
- Navigate to the path on the
PFX:
line in Dolphin - Delete the numerical folder at the end of the path
- For example, with
PFX: /home/deck/.local/share/Steam/steamapps/compatdata/3322499838
, delete the folder named3322499838
in/home/deck/.local/share/Steam/steamapps/compatdata
- For example, with
- Re-open Xenia in Desktop Mode to re-generate the prefix
- Close out of Xenia and you may continue playing in Game Mode
How to Configure Language Settings
In-Game
- In Desktop Mode, open the
Emulation/roms/xbox360
folder - Right click
xenia-canary.config.toml
and clickOpen with Kate
or a text editor of your choice - Scroll down to the
XConfig
section, locateuser_language = 1
- Replace
1
with your preferred language:- 1=en
- 2=ja
- 3=de
- 4=fr
- 5=es
- 6=it
- 7=ko
- 8=zh
- 9=pt
- 11=pl
- 12=ru
- 13=sv
- 14=tr
- 15=nb
- 16=nl
- 17=zh
- Save and exit out of the text file
How to Apply Patches
When you install Xenia through EmuDeck, a collection of game patches are also automatically downloaded to your Emulation/roms/xbox360/patches
folder. These patches provide ways to fix various issues in games.
To apply patches:
- In Desktop Mode, open the
Emulation/roms/xbox360/patches
folder - Right click a text file matching your game name or game ID and click
Open with Kate
or a text editor of your choice - Each text file will typically have multiple patches identified with the
[[patch]]
header and the name of the patch below the header. Select a patch to enable and locate theis_enabled
field - On the
is_enabled
field, changefalse
totrue
- Save the text file and exit out
- The patch you selected will now be applied for your game
Do note that if your game ID does not match the ID in the patch, the patch may not apply. Game IDs typically vary depending on the region or version of your game. For example, the patches folder contains multiple patch files for "Project Gotham Racing" depending on which version of the game you have. Ensure that your game version matches the patch file you are using and the patch will successfully apply to your game.
How to Set Game Settings On a Per-Game Basis
For a full list of Xenia configurations, see https://github.com/xenia-canary/xenia-canary/wiki/Options.
Depending on which front-end you are using, the below sections will cover how to apply the Xenia configurations as flags for your games. To convert these configurations into flags, remove any spaces and add two dashes to the beginning of the config name.
A few examples:
Xenia Config
license_mask = #
user_language = #
gpu = string
mount_cache = bool
Xenia Flag
In order to enable license mask:
--license_mask=1
To set Polish as the language:
--user_language=11
To set the GPU as vulkan:
--gpu="vulkan"
To enable mount_cache:
--mount_cache=true
ES-DE
- In Desktop Mode, open the
Emulation/roms/xbox360/roms
folder orEmulation/roms/xbox360/roms/xbla
folder - Right click anywhere in the folder, click
Create New --> Text File
- Match the name of the text file to the game and set the file extension to
.esprefix
- For example:
- ROM Name:
Peggle
- New text file name:
Peggle.esprefix
- ROM Name:
- For example:
- Open the newly created text file in Kate or a text editor of your choice
- On a single line, write:
--configname=configvalue
- For example:
--license_mask=1
--user_language=11
--gpu="vulkan"
--mount_cache=true
- For example:
- The config you set will now be applied to this specific game in ES-DE
Pegasus
- In Desktop Mode, open the
Emulation/roms/xbox360/roms
folder - Right click
metadata.txt
, clickOpen with Kate
or a text editor of your choice -
At the bottom of the text file, add a new section using the following format:
game: GAMENAME file: FILENAME launch: /PATH/TO/xenia.sh "Z:{file.path}" --CONFIGNAME=CONFIGVALUE
-
Replace GAMENAME with the name of the game
- For example:
Banjo-Kazooie - Nuts & Bolts
- For example:
- Replace FILENAME with the file name
- For example:
Banjo-Kazooie - Nuts & Bolts.iso
- If your ROM is in
Emulation/roms/xbox360/roms/xbla
, writexbla/FILENAME
- For example:
xbla/Peggle
- For example:
- For example:
- Edit
/PATH/TO
with the path toxenia.sh
, the path forxenia.sh
will be at the top of themetadata.txt
file, you may copy it here - Edit
--CONFIGNAME=CONFIGVALUE
with your preferred configuration- For example:
--license_mask=1
--user_language=11
--gpu="vulkan"
--mount_cache=true
- For example:
- Save and exit out of the file
- The config you set will now be applied to this specific game in Pegasus
Steam Shortcuts through Steam ROM Manager
- Add your ROMs to Steam through Steam ROM Manager
- On the game page in Steam, click the
Gear
icon, clickProperties
- In the
Launch Options
box, type--CONFIGNAME=CONFIGVALUE
- For example:
--license_mask=1
--user_language=11
--gpu="vulkan"
--mount_cache=true
- For example:
- The config you set will now be applied to this specific game in Steam
How to Access Xenia Settings in Game Mode
If you added Xenia as a shortcut to Steam through the "Emulators" parser in Steam ROM Manager, you may notice that it launches into a black screen if you try to open it in Game Mode. This is a quirk of how Proton interacts with Game Mode. However, there is a workaround.
How to Access Xenia Settings in Game Mode
- On the Xenia shortcut in Game Mode, press the
Controller
icon - Toggle
Enable Back Grip Buttons
if they are not already enabled - Select one of the four back buttons and bind it using sub-commands to one of the below keyboard shortcuts depending on which setting you would like to open in Xenia. For instructions on sub-commands, see How to Bind Sub-Commands
Alt
+F
= File- The "File" menu is used to launch games
Alt
+G
= CPUAlt
+H
= GPU
How to Bind Sub-Commands
- Click on one of the four back buttons, bind it to
Alt
- Click the
Gear
icon to the right of the button, clickAdd sub command
- Bind it to the corresponding letter in the list above, How to Access Xenia Settings in Game Mode depending on which setting you would like to open in Xenia
How to Extract ISOs to the XEX Format
If you have an Xbox 360 ISO and you would like to extract it to XEX, either for compression or for modding purposes, you can do so using extract-xiso
, a tool bundled with EmuDeck. extract-xiso
is typically located in Emulation/tools/chdconv
and this path will be used for the below instructions. However if extract-xiso
is not in this folder, it can also be found in /home/deck/.config/EmuDeck/backend/tools/chdconv
. If extract-xiso
is in neither of these folders, you may need to re-install EmuDeck (uninstalling first is not necessary).
- In Desktop Mode, open the
Emulation/tools/chdconv
folder - If you are not comfortable with a terminal, copy
extract-xiso
toEmulation/roms/xbox360/roms
- If you are comfortable with a terminal, right click anywhere in
Emulation/tools/chdconv
, clickOpen Terminal Here
, type./extract-xiso "/PATH/TO/ROM"
- If you are comfortable with a terminal, right click anywhere in
- In
Emulation/roms/xbox360/roms
, right click anywhere, clickOpen Terminal Here
- Type
./extract-xiso "NAMEOFROM"
- The quotes are required for the ROM name. Alternatively, you can type the first few letters of the ROM name, press
Tab
on a keyboard, and the terminal will automatically escape the rest of the name
- The quotes are required for the ROM name. Alternatively, you can type the first few letters of the ROM name, press
- Wait for it to finish extracting
- A folder matching your ROM name will be created containing a
default.xex
file which can be used to launch the ROM
How to Convert Xbox Live Arcade ROMs to XEX
If you have an Xbox 360 ISO and you would like to extract it to XEX, either for compression or for modding purposes, you can do so using the Xenia GUI.
- In Desktop Mode, open Xenia
- In the top left, click
File
,Install Content
, and navigate to your Xbox Live Arcade ROM - The game will be installed to the
Emulation/roms/xbox360/content
folder to a folder matching the Game ID of the game - The folder will contain a
default.xex
file which can be used to launch the ROM
How to Compress ROMs to ZAR
ZAR is a newer file format created by the Cemu developers allowing for optimized file storage. In a recent update, Xenia added support for ZAR allowing users to compress Xbox 360 ROMs.
As an example, Banjo-Kazooie - Nuts & Bolts
in the ISO file format was 7.3 GB. When compressed, Banjo-Kazooie - Nuts & Bolts
was 4.8 GB in the ZAR file format.
If you are using ISOs, first extract your ISOs to XEX. For instructions, see How to Extract ISOs to the XEX Format. For Xbox Live Arcade ROMs, see How to Convert Xbox Live Arcade ROMs to XEX.
- In Desktop Mode, open Xenia
- In the top left, click
Zar Package
,Create
, and navigate to the folder containing yourdefault.xex
file - Select the destination for your ZAR file
- Wait, there may not be any response from the application for several minutes depending on how large your original file is
- Once it is complete, a ZAR file will be located in the directory you selected in Step 3
How to Optimize Sonic Unleashed
This section is a heavily modified version of the section from THE DEFINITIVE STEAM DECK SONIC DOC.
This section will assume you have installed and configured Xenia through EmuDeck. For instructions on how to install Xenia through EmuDeck, see How to Download Xenia.
- Extract Sonic Unleashed using the instructions in How to Extract ISOs to the XEX Format
- Install Xenia through EmuDeck
- For instructions, see How to Download Xenia
- EmuDeck will automatically download the patches folder and create a
portable.text
file. You do not need to add Xenia as a non-Steam game. If you would like to add Xenia to Steam, you may do so using theEmulators
parser in Steam ROM Manager
- In
Emulation/roms/xbox360
, right clickxenia-canary.config.toml
, clickOpen with Kate
or a text editor of your choice - Change
max_queued_frames
to16
, changevsync
fromTrue
toFalse
- The Google Doc also suggests you use
Vulkan
, howeverD3D12
been massively improved in the year since the Google Doc was written. It is recommended you useD3D12
first and only tryVulkan
ifD3D12
does not work as expected - It may not be necessary to change
Vsync
ormax_queued_frames
, these are directly copied from the Google Doc. It is recommended you test these and see if these are required
- The Google Doc also suggests you use
- In
Emulation/roms/xbox360/patches
, right click53450812 - Sonic Unleashed.patch.toml
, clickOpen with Kate
or a text editor of your choice. For each patch you would like to enable, changeis_enabled = false
tois_enabled = true
- (Optional)
60 FPS
- (Highly Recommended)
Disable Color Adjustment
Disable Shadow Maps
- (Optional)
- The remainder of the Google Doc covers how to apply the "AMD Grass Explosion Fix" using the Unleashed Mod Manager. At this point, it is recommended you first test the game to test the performance. If you would like to apply the "AMD Grass Explosion Fix", proceed to the Unleashed Mod Manager section
Vertex Explosions
If you are seeing vertex explosions, bind F5 to L4/R4/L5/R5 (the back bumpers). While in game, press the respective button to clear the GPU cache. You may be required to press this button from time to time while playing Sonic Unleashed.
Unleashed Mod Manager
Lutris
- In Desktop Mode, open Konsole
- Enter:
mkdir -p $HOME/Games/Lutris/UnleashedModManager/pfx
- This command will create a couple of empty folders to make managing and installing the patcher easier
- Download UnleashedModManager, https://github.com/hyperbx/Unleashed-Mod-Manager/releases/tag/1.12 to
/home/deck/Games/Lutris/UnleashedModManager
- Download
latest.zip
- Download
- Right click
latest.zip
, clickExtract
,Extract Archive Here
- If the
.zip
creates a subfolder, move the contents out directly into/home/deck/Games/Lutris/UnleashedModManager
- If the
- In Desktop Mode, open Discover and download Lutris
- Click the
Wine
button on the left, click the little page icon to the right, downloadwine-ge-8-26
- Click the
+
button in the top left of the Lutris application - Click
Add locally installed game
- On the
Game Info
tab:- Name: Unleashed Mod Manager
- Sort Name: Leave Blank
- Runner: Wine (Runs Windows games)
- Release Year: Leave Blank
- On the
Game Options
tab:- Executable: Click the
Browse
button and navigate to theUnleashed Mod Manager.exe
file in/home/deck/Games/Lutris/UnleashedModManager
- Arguments: Leave Blank
- Working Directory: Leave Blank
- Wine Prefix: Click the
Browse
button and select the/home/deck/Games/Lutris/UnleashedModManager/pfx
- Executable: Click the
- On the
Runner options
tab:- Wine version:
wine-ge-8.26-x86_64
- Leave everything else at defaults
- Wine version:
- On the
- Click the
Save
button in the top right - To open the patcher, open Lutris, select the UnleashedModManager tile, and click
Play
Applying the AMD Grass Explosion Fix
- In
Emulation/roms/xbox360
, create amods
folder - Download the AMD Grass Explosion Fix, https://gamebanana.com/mods/download/393182#FileInfo_840774 to the
Emulation/roms/xbox360/mods
folder - Right click
amd_grass_fix.7z
, clickExtract archive here
- Open
Unleashed Mod Manager.exe
through Lutris- Mods Directory:
Emulation/roms/xbox360/mods
- Game Executable: The
default.xex
file in the folder wherever you extracted your Sonic Unleashed ISO - Emulator Executable:
Emulation/roms/xbox360/xenia_canary.exe
- Mods Directory:
- Click
Continue
, clickRefresh Mods List
and theAMD Grass Explosion Fix
will appear - Check the mod, click
Save checked mods
, and it will now be applied to Sonic Unleashed - Uncheck
Uninstall mods automatically