Xenia: Difference between revisions

From Emulation General Wiki
Jump to navigation Jump to search
Xianmo (talk | contribs)
Xenia on Other Operating Systems: Remove explicit mention of Arm from Xenia-edge macOS builds, as they now have both x86 and Arm
R-K (talk | contribs)
mNo edit summary
 
(33 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Infobox emulator
{{Infobox emulator
|title = Xenia
|title = Xenia
|logo = Xenia.png
|logo = [[File:Xenia.png|75px]][[File:Xenia_Canary_and_Xenia_Edge.png|75px]][[File:XeniOS.png|75px]]<br>Xenia•Canary/Edge•XeniOS
|logowidth = 160
|platform = [[Emulators on Windows|Windows]]<br>[[Emulators on Linux|Linux]]<br>[[Emulators on macOS|macOS]]<br>[[Emulators on Xbox One|Xbox One]]<br>[[Xbox Series X and Series S]]<br>[[Emulators on iOS|iOS]]
|active = Yes
|version      = {{Version|Xenia}}
|platform = [[Emulators on Windows|Windows]]<br>[[Emulators on Linux|Linux]]<br>[[Emulators on Xbox One|Xbox One]]<br>[[Xbox Series X and Series S]]
|target = [[Xbox 360 emulators|Xbox 360]]
|target = [[Xbox 360 emulators|Xbox 360]]
|orig-developer = [https://github.com/benvanik Ben Vanik] <small>(Initial work. [https://github.com/xenia-project/xenia/pull/562 Retired 2016].)</small>
|orig-developer = [https://github.com/benvanik Ben Vanik] <small>(Initial work. [https://github.com/xenia-project/xenia/pull/562 Retired 2016].)</small>
|developer = [https://github.com/DrChat DrChat] <small>(Also worked with B. Vanik)</small>, [https://github.com/gibbed Rick Gibbed] and [https://github.com/xenia-canary/xenia-canary/graphs/contributors Xenia community]
|developer = [https://github.com/DrChat DrChat] <small>(Also worked with B. Vanik)</small>, [https://github.com/gibbed Rick Gibbed] and [https://github.com/xenia-canary/xenia-canary/graphs/contributors Xenia community]
|website = [https://xenia.jp Xenia.jp]
|version = {{XeniaVer}}(Xenia)<br>Rolling/Git (forks)
|website = [https://xenia.jp Xenia.jp] (Xenia)<br>[https://xenios.jp/ Xenios.jp] (XeniOS)
|support = [https://www.patreon.com/xenia_project Patreon]<br/>[https://www.patreon.com/gibbed Patreon (gibbed)]<br/>[https://github.com/sponsors/gibbed GitHub Sponsor (gibbed)]<br/>[https://github.com/sponsors/JoelLinn GitHub Sponsor (JoelLinn)]<br/>[https://github.com/sponsors/Razzile GitHub Sponsor (Razzile)]
|support = [https://www.patreon.com/xenia_project Patreon]<br/>[https://www.patreon.com/gibbed Patreon (gibbed)]<br/>[https://github.com/sponsors/gibbed GitHub Sponsor (gibbed)]<br/>[https://github.com/sponsors/JoelLinn GitHub Sponsor (JoelLinn)]<br/>[https://github.com/sponsors/Razzile GitHub Sponsor (Razzile)]
|prog-lang = {{Proglang|C++}}
|prog-lang = {{Proglang|C++}}
|source = [https://github.com/xenia-project/xenia GitHub]
|source = [https://github.com/xenia-project/xenia Xenia]<br>[https://github.com/xenia-canary/xenia-canary Xenia Canary]<br>[https://github.com/has207/xenia-edge Xenia Edge]<br>[https://github.com/xenios-jp/XeniOS XeniOS]
|issuetracker = [https://github.com/xenia-project/xenia/issues GitHub]
|license = {{License|BSD3}}
|license = {{License|BSD3}}
}}
}}


'''Xenia''' is an experimental, free and open-source [[Xbox 360 emulators|Xbox 360 emulator]] for Windows and Xbox One/Series and, to a lesser extent, [[#Xenia_on_Other_Operating_Systems|other OSes (through compatibility layer)]].
'''Xenia''' is an experimental, free and open-source [[Xbox 360 emulators|Xbox 360 emulator]] for Windows, and [[#Xenia_on_Other_Operating_Systems|other OSes]].


==Download==
==Download==
Line 27: Line 24:
For the next three years, an active contributor named Triang3l completely rewrote the GPU implementation with the primary goal of addressing this. Once implemented, it more than doubled performance.<ref name="xenia">{{cite web|url=https://xenia.jp/updates/2021/04/27/leaving-no-pixel-behind-new-render-target-cache-3x3-resolution-scaling.html|title=Leaving No Pixel Behind: New Render Target Cache, 3x3 Resolution Scaling & Three Years in Xenia’s GPU Emulation|author=Triang3l}}.</ref> Triang3l also built a different, faster and more accurate memory emulation, which should lead to fewer broken vertices and textures being seen in-game.
For the next three years, an active contributor named Triang3l completely rewrote the GPU implementation with the primary goal of addressing this. Once implemented, it more than doubled performance.<ref name="xenia">{{cite web|url=https://xenia.jp/updates/2021/04/27/leaving-no-pixel-behind-new-render-target-cache-3x3-resolution-scaling.html|title=Leaving No Pixel Behind: New Render Target Cache, 3x3 Resolution Scaling & Three Years in Xenia’s GPU Emulation|author=Triang3l}}.</ref> Triang3l also built a different, faster and more accurate memory emulation, which should lead to fewer broken vertices and textures being seen in-game.


For proper handling of the GPU's capabilities, Xenia requires a specific feature of Direct3D 12 called Rasterizer-Ordered Views, which is available on most modern GPUs.<ref>Margen67. [https://github.com/xenia-project/xenia/wiki/FAQ#what-is-rov FAQ]. ''§ What is ROV?'' "Using the Rasterizer-Ordered Views (ROV) feature of Direct3D 12 allows Xenia to overcome [slow performance and unfixable transparency issues] by doing blending and depth/stencil testing manually in pixel shaders, rendering directly to the 10 MB buffer. This allows for much higher performance since there's no expensive data copying and better accuracy because of no pixel format limitations. [...] However, this is a hardware feature, and thus on older graphics cards, Xenia is limited to the RT path."</ref> Xenia is capable of 3x3 upscaling, but such a feature is resource-intensive and can only be accomplished with high-end GPUs at the moment.
Xenia is capable of 3x3 upscaling, but such a feature is resource-intensive and can only be accomplished with high-end GPUs at the moment.


==System requirements==
==System requirements==
Line 48: Line 45:


*'''Individual Game Patching'''
*'''Individual Game Patching'''
A key feature of the Canary Fork only.
A feature exclusive to Canary forks and branches.


==Configuration==
==Configuration==
Line 72: Line 69:
If you are trying to emulate Xbox Live Arcade titles, then the line "license_mask = 0" should be changed to "license_mask = 1". The demo mode and full game files for XBLA titles are actually identical, and this option allows the games to exit demo mode.
If you are trying to emulate Xbox Live Arcade titles, then the line "license_mask = 0" should be changed to "license_mask = 1". The demo mode and full game files for XBLA titles are actually identical, and this option allows the games to exit demo mode.


If you are experiencing various sound issues with specific titles try latest canary build and set in config: use_new_decoder true and use_dedicated_xma_thread false and also try changing apu_max_queued_frames from 64 to 16. It might be better or worse.[https://discord.com/channels/308194948048486401/701111856600711208/1222135060879114332]
For checking if your games work and any fixes, tweaks, or settings, see [https://xenia-manager.github.io/compatibility compatibility list], OR;
'''''For users who prefer a graphical interface over manually editing text files''''', '''[https://xenia-manager.github.io/ Xenia Manager]''' is a popular, unaffiliated third-party tool. It provides a dedicated frontend to manage game libraries, automatically download Canary updates, apply game patches, and adjust configuration settings per-game without needing to manually edit the `.toml` files. Or better yet, just use '''[[Xbox_360_emulators#Emulators|Xenia Edge]]'''.


For checking if your games work and any fixes, tweaks, or settings, see compatibility list.
==Xenia on Other Operating Systems==
=== Linux, SteamOS, and Steam Deck ===
For Linux-based platforms, including SteamOS and Steam Deck, [[Xbox_360_emulators#Emulators|Xenia Canary]] and [[Xbox_360_emulators#Emulators|Xenia Edge]] provide native Linux builds. The Vulkan backend is generally recommended, as its performance and compatibility have improved significantly and are now comparable to the D3D12 backend.


'''''For users who prefer a graphical interface over manually editing text files''''', '''[https://xenia-manager.github.io/ Xenia Manager]''' is a popular, unaffiliated third-party tool. It provides a dedicated frontend to manage game libraries, automatically download Canary updates, apply game patches, and adjust configuration settings per-game without needing to manually edit the `.toml` files.
''For Xenia master builds (which are not recommended over Xenia Canary or Xenia Edge anymore), Linux users may use the [[Wrappers#2000s_and_later_APIs|vkd3d wrapper]] with the D3D12 backend as an alternative to Xenia master's older Vulkan implementation. Recent improvements to vkd3d have increased compatibility and enabled a growing number of titles to run correctly through the D3D12 backend on Linux. Users running Proton Experimental already have the vkd3d-proton wrapper included by default.''<ref>[https://old.reddit.com/r/SteamDeck/comments/16jh4b4/i_got_xenia_canary_fully_working_on_steamos_no/ Reddit discussion regarding Xenia on SteamOS]</ref>


==Xenia on Other Operating Systems==
=== Xbox One and Xbox Series X|S (UWP) ===
For emulation on Linux/SteamOS/Steam Deck; [[#Download|Xenia Canary (and Xenia Edge)]] have linux builds from now on, otherwise you need to use [[Compatibility_layer|proton experimental compatibility layer]]. Either way, you need to use Vulkan backend, it's heavily incomplete at the moment, see [[Xbox_360_emulators#Emulation_issues|Xbox 360 emulation issues section]] for more information for Vulkan backend.
The [[Xbox_360_emulators#Emulators|UWP ports of Xenia Canary and Xenia Canary Netplay are available for Xbox One and Xbox Series X|S consoles]] running in Developer Mode. These ports allow Xbox 360 emulation directly on Xbox hardware using the UWP platform. Compatibility and performance may differ from their desktop counterparts, and support is typically dependent on the respective port maintainers rather than the main Xenia project.
:You can use [[Wrappers#2000s_and_later_APIs|vkd3d wrapper]] with D3D12 backend instead of using Vulkan backend; recently vkd3d had some improvements for xenia that can allow you to play with D3D12 backend and some working titles on linux-based operating systems. Keep in mind that if you are using proton experimental compatibility layer; [https://old.reddit.com/r/SteamDeck/comments/16jh4b4/i_got_xenia_canary_fully_working_on_steamos_no/ vkd3d-proton wrapper already comes with it].
 
=== macOS and iOS ===
Xenia Edge provides experimental macOS builds through its release channel. Another and even better option is [https://github.com/xenios-jp/XeniOS XeniOS], a fork of Xenia Edge focused specifically on macOS and iOS platforms. Compatibility and performance in both projects continue to improve and are generally comparable to Xenia Canary.


For emulation on macOS and iOS; Xenia-Edge is a bleeding-edge dev branch which has [https://github.com/has207/xenia-edge/releases/latest macOS builds]. [https://github.com/xenios-jp/XeniOS XeniOS] is a fork of Xenia-Edge that focuses on iOS and macOS. Compatibility with both of these emulators is still fairly low, but is improving at a rapid pace.  
=== Android ===
Although Android targets are currently built in continuous integration (CI), no official Android release of Xenia is available. Existing Android CI artifacts consist primarily of compiled components and do not represent a functional emulator package suitable for end users. For additional information on Android development status, see the ''#dev-android'' channel in the [https://discord.gg/Q9mxZf9 Xenia Discord server].


For emulation on Android; While Android builds in CI, this doesn't mean there is anything you can install or "make work" on your device, it's just fragments of Xenia that are compiled into binaries and those aren't even the most complex parts of the emu, see [https://discord.gg/Q9mxZf9 Xenia Discord] in the #dev-android channel under the 'Development' category for more information. See [https://github.com/xenia-project/xenia/wiki/Xenia-on-other-operating-systems official Xenia wiki section for this].
[[Xbox_360_emulators#Emulators|Several unofficial Android forks based on Xenia and Xenia Canary have appeared]]. However, these projects are closed-source, have not been verified by the wiki, and are not officially supported by the Xenia project.


==Online play==
==Online play==

Latest revision as of 12:33, 4 September 2026

Xenia

Xenia•Canary/Edge•XeniOS
Original developer(s) Ben Vanik (Initial work. Retired 2016.)
Current developer(s) DrChat (Also worked with B. Vanik), Rick Gibbed and Xenia community
Latest version v1.0.2844 (Xenia)
Rolling/Git (forks)
Platform(s) Windows
Linux
macOS
Xbox One
Xbox Series X and Series S
iOS
Emulates Xbox 360
Website Xenia.jp (Xenia)
Xenios.jp (XeniOS)
Support ($) Patreon
Patreon (gibbed)
GitHub Sponsor (gibbed)
GitHub Sponsor (JoelLinn)
GitHub Sponsor (Razzile)
Programmed in C++
License BSD-3-Clause
Source code Xenia
Xenia Canary
Xenia Edge
XeniOS

Xenia is an experimental, free and open-source Xbox 360 emulator for Windows, and other OSes.

Download

[edit | edit source]
Main article: Xbox 360 emulators#Emulators

Overview

[edit | edit source]

Xenia originally began development in early 2013 as a side project by Ben Vanik.[1] It was the first emulator to run a commercial Xbox 360 game, Frogger 2.[2] Up until 2018, progress continued steadily until the developers hit a roadblock in accurately emulating Xenos, the GPU of the Xbox 360.

For the next three years, an active contributor named Triang3l completely rewrote the GPU implementation with the primary goal of addressing this. Once implemented, it more than doubled performance.[3] Triang3l also built a different, faster and more accurate memory emulation, which should lead to fewer broken vertices and textures being seen in-game.

Xenia is capable of 3x3 upscaling, but such a feature is resource-intensive and can only be accomplished with high-end GPUs at the moment.

System requirements

[edit | edit source]
Main article: Computer specifications#Recommended Specifications

Features

[edit | edit source]
Some of Xenia's settings and game screenshots. View picture to enlarge.
  • Video Upscaling

Up to 3x, depending on the game. Accessible via the text config file.


  • Post-Processing

Including Nvidia FAA and/or AMD Fidelty FX resampling.


  • Controller Binding

Accessible via the text config file.


  • Individual Game Patching

A feature exclusive to Canary forks and branches.

Configuration

[edit | edit source]
Xenia Manager
Developer(s) Shazzaam and contributors
Release
Latest version 4.3.2 [+]
Active Yes
Platform(s) Windows, Linux (via Wine/Proton)
Type Xenia Frontend / Library Manager
Programmed in C#
Website xenia-manager.github.io
Support ($) Ko-fi
License BSD-3-Clause
Source code GitHub
Issue tracker GitHub

Most configuration options usually found in the GUI are instead found in the file xenia.config.toml (xenia-canary.config.toml for canary builds, xenia-canary-netplay.config.toml for canary-netplay builds). The file can be opened and edited with any text editor without having to change the file extension and can be found under the filepath "...\Users\User\Documents\Xenia" along with shader cache and per-game files when using windows (but you can make it portable if you place portable.txt in the same folder as xenia.exe, canary builds are portable by default). GPU options such as v-sync, resolution scale, and much more can be found in the xenia.config.toml file.

If you are trying to emulate Xbox Live Arcade titles, then the line "license_mask = 0" should be changed to "license_mask = 1". The demo mode and full game files for XBLA titles are actually identical, and this option allows the games to exit demo mode.

For checking if your games work and any fixes, tweaks, or settings, see compatibility list, OR; For users who prefer a graphical interface over manually editing text files, Xenia Manager is a popular, unaffiliated third-party tool. It provides a dedicated frontend to manage game libraries, automatically download Canary updates, apply game patches, and adjust configuration settings per-game without needing to manually edit the `.toml` files. Or better yet, just use Xenia Edge.

Xenia on Other Operating Systems

[edit | edit source]

Linux, SteamOS, and Steam Deck

[edit | edit source]

For Linux-based platforms, including SteamOS and Steam Deck, Xenia Canary and Xenia Edge provide native Linux builds. The Vulkan backend is generally recommended, as its performance and compatibility have improved significantly and are now comparable to the D3D12 backend.

For Xenia master builds (which are not recommended over Xenia Canary or Xenia Edge anymore), Linux users may use the vkd3d wrapper with the D3D12 backend as an alternative to Xenia master's older Vulkan implementation. Recent improvements to vkd3d have increased compatibility and enabled a growing number of titles to run correctly through the D3D12 backend on Linux. Users running Proton Experimental already have the vkd3d-proton wrapper included by default.[4]

Xbox One and Xbox Series X|S (UWP)

[edit | edit source]

The UWP ports of Xenia Canary and Xenia Canary Netplay are available for Xbox One and Xbox Series X|S consoles running in Developer Mode. These ports allow Xbox 360 emulation directly on Xbox hardware using the UWP platform. Compatibility and performance may differ from their desktop counterparts, and support is typically dependent on the respective port maintainers rather than the main Xenia project.

macOS and iOS

[edit | edit source]

Xenia Edge provides experimental macOS builds through its release channel. Another and even better option is XeniOS, a fork of Xenia Edge focused specifically on macOS and iOS platforms. Compatibility and performance in both projects continue to improve and are generally comparable to Xenia Canary.

Android

[edit | edit source]

Although Android targets are currently built in continuous integration (CI), no official Android release of Xenia is available. Existing Android CI artifacts consist primarily of compiled components and do not represent a functional emulator package suitable for end users. For additional information on Android development status, see the #dev-android channel in the Xenia Discord server.

Several unofficial Android forks based on Xenia and Xenia Canary have appeared. However, these projects are closed-source, have not been verified by the wiki, and are not officially supported by the Xenia project.

Online play

[edit | edit source]
Main article: Xbox network#Xbox 360
Main article: Xbox 360 emulators#System Link

References

[edit | edit source]
[edit | edit source]