Difference between revisions of "Xenia"

From Emulation General Wiki
Jump to navigation Jump to search
(Categories replaced)
(Configuration)
 
(19 intermediate revisions by 9 users not shown)
Line 4: Line 4:
 
|logowidth = 160
 
|logowidth = 160
 
|active = Yes
 
|active = Yes
|platform = [[Emulators on PC|Windows]]<br/>[[Emulators on Linux|Linux]]
+
|version      = {{Version|Xenia}}
 +
|platform = [[Emulators on Windows|Windows]]<br>[[Emulators on Xbox One|Xbox One]]
 
|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>
Line 10: Line 11:
 
|compatibility = [http://xenia.jp/compatibility 18% playable], possibly more
 
|compatibility = [http://xenia.jp/compatibility 18% playable], possibly more
 
|website = [http://xenia.jp Xenia.jp]
 
|website = [http://xenia.jp Xenia.jp]
|support = [https://www.patreon.com/xenia_project Patreon], [https://www.patreon.com/gibbed Patreon (gibbed)]
+
|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)]
 
|source = [https://github.com/xenia-project/xenia GitHub]
 
|source = [https://github.com/xenia-project/xenia GitHub]
 
|license = BSD license
 
|license = BSD license
 
}}
 
}}
  
'''Xenia''' is free and an experimental, open-source [[Xbox 360 emulators|Xbox 360 emulator]] for Windows and, to a lesser extent, Linux (through [[Wine]]). Outside of Microsoft's own backward compatibility on successive consoles, Xenia is the first and only unofficial Xbox 360 emulator that exists.
+
'''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, other OSs (through [[Wine]]). Outside of Microsoft's own backward compatibility on successive consoles, Xenia is the first and only unofficial Xbox 360 emulator that exists.
  
 
==Download==
 
==Download==
Line 21: Line 22:
 
|-
 
|-
 
|align=center|{{Icon|Win-big}}
 
|align=center|{{Icon|Win-big}}
|'''[https://ci.appveyor.com/project/benvanik/xenia/build/artifacts Official Dev builds]'''
+
|'''[https://github.com/xenia-project/release-builds-windows/tags Official Dev builds]'''
 
|-
 
|-
 
|align=center|{{Icon|Win-big}}
 
|align=center|{{Icon|Win-big}}
|'''[https://ci.appveyor.com/api/projects/chris-hawley/xenia-canary/artifacts/xenia-canary.zip?branch=canary&job=Configuration:%20Release&pr=false Latest Canary Dev build]'''<br/><small>Experimental testing branch</small>
+
|'''[https://github.com/xenia-canary/xenia-canary/tags Latest Canary Dev build]'''<br/><small>Experimental testing branch</small>
 
|}
 
|}
  
Line 30: Line 31:
 
Xenia originally began development in early 2013 as a side project by Ben Vanik.<ref>[https://github.com/xenia-project/xenia/commit/30bde439f7db22a35595689ca434756707bb8391 Ben Vanik's first commit]. Jan 10, 2013.</ref> It was the first emulator to run a commercial Xbox 360 game, Frogger 2.<ref name="Ben Vanik">{{cite web|url=https://www.youtube.com/watch?v=oAk0_jidpA0|title=Xenia Xbox 360 Emulator: Frogger 2 first run|publisher=Youtube|accessdate=2018-05-23|date=2014-03-24}}</ref> Up until 2018, progress continued steadily until the developers hit a roadblock in accurately emulating Xenos, the GPU of the Xbox 360.
 
Xenia originally began development in early 2013 as a side project by Ben Vanik.<ref>[https://github.com/xenia-project/xenia/commit/30bde439f7db22a35595689ca434756707bb8391 Ben Vanik's first commit]. Jan 10, 2013.</ref> It was the first emulator to run a commercial Xbox 360 game, Frogger 2.<ref name="Ben Vanik">{{cite web|url=https://www.youtube.com/watch?v=oAk0_jidpA0|title=Xenia Xbox 360 Emulator: Frogger 2 first run|publisher=Youtube|accessdate=2018-05-23|date=2014-03-24}}</ref> 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.<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 less 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 now requires a specific feature of Direct3D 12 called Rasterizer-Ordered Views which is limited only to newer cards.<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.
+
For proper handling of the GPU's capabilities, Xenia now requires a specific feature of Direct3D 12 called Rasterizer-Ordered Views, which is limited only to newer cards.<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.
  
 
==System requirements==
 
==System requirements==
'''Recommended:'''
+
See [[Computer_specifications#Xenia]]
* OS: Windows 10 64-bit
+
 
* CPU: Any <abbr title="Haswell-era, i.e. 4xxx. Pentiums and Celerons do not support AVX2.">4th-gen</abbr> Intel processor capable of AVX2 or newer
+
==Features==
* GPU: Any capable of Direct3D 12's Rasterizer-Ordered Views<br/><small>(Nvidia GeForce GTX 950 or better, GTX 965M for laptops. Integrated is too slow to be usable. AMD supports it with Radeon Vega but has driver issues.)<ref>[https://github.com/xenia-project/xenia/wiki/Quickstart#minimum Quickstart]. ''§ Minimum''. "GPUs without ROV (rasterizer-ordered view) / fragment shader interlock support will perform worse and possibly have more graphical issues. Integrated GPUs will also generally provide too low frame rates for comfortable playing. AMD GPUs also fall under this due to Xenia triggering driver bugs causing crashes when its ROV-based rendering path is used."</ref></small>
+
[[File: Xenia UI and Screens.png|300px|thumb|left|Some of Xenia's settings and game screenshots. View picture to enlarge.]]
* RAM: 6 GB or more
+
 
 +
*'''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 key feature of the Canary Fork only.
  
'''Minimum:'''
 
* OS: Windows 7 or higher, 64-bit
 
* CPU: Any capable of AVX(2) <small>(Check with [https://www.cpuid.com/softwares/cpu-z.html CPU-Z].)</small>
 
* GPU: Any capable of Vulkan or Direct3D 12 <small>(Check from [https://vulkan.gpuinfo.org/ this list].)</small>
 
* RAM: 4 GB
 
  
 
==Configuration==
 
==Configuration==
Most configuration options usually found in GUI are instead found in the file '''xenia.config.toml'''. 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. GPU options such as v-sync, resolution scale, and much more can be found in the xenia.config.toml file.
+
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 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.
 +
 
 +
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 compatibility list.
  
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.
+
==Linux and SteamOS/Steam Deck==
 +
:For emulation on Linux; you need to use [[Compatibility_layer|proton experimental compatibility layer]] and Vulkan backend; though it's heavily incomplete at the moment, see [[Xbox_360_emulators#Emulation_issues|Xbox 360 emulation issues section]] for more information for Vulkan backend.
 +
:You can use [[Wrappers#2000s_and_later_APIs|vkd3d wrapper]] instead of using Vulkan backend for xenia with your SteamOS; 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].
  
 
==References==
 
==References==
Line 66: Line 84:
 
[[Category:Xbox 360 emulators]]
 
[[Category:Xbox 360 emulators]]
 
[[Category:Windows emulation software]]
 
[[Category:Windows emulation software]]
[[Category:Linux emulation software]]
 

Latest revision as of 11:37, 26 March 2024

Xenia
Xenia.png
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.2808 [+]
Active Yes
Platform(s) Windows
Xbox One
Emulates Xbox 360
Compatibility 18% playable, possibly more
Website Xenia.jp
Support ($) Patreon
Patreon (gibbed)
GitHub Sponsor (gibbed)
GitHub Sponsor (JoelLinn)
GitHub Sponsor (Razzile)
License BSD license
Source code GitHub

Xenia is an experimental, free and open-source Xbox 360 emulator for Windows and Xbox One/Series and, to a lesser extent, other OSs (through Wine). Outside of Microsoft's own backward compatibility on successive consoles, Xenia is the first and only unofficial Xbox 360 emulator that exists.

Download[edit]

Windows Official Dev builds
Windows Latest Canary Dev build
Experimental testing branch

Overview[edit]

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.

For proper handling of the GPU's capabilities, Xenia now requires a specific feature of Direct3D 12 called Rasterizer-Ordered Views, which is limited only to newer cards.[4] 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]

See Computer_specifications#Xenia

Features[edit]

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 key feature of the Canary Fork only.


Configuration[edit]

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 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.

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.[1]

For checking if your games work and any fixes, tweaks, or settings, see compatibility list.

Linux and SteamOS/Steam Deck[edit]

For emulation on Linux; you need to use proton experimental compatibility layer and Vulkan backend; though it's heavily incomplete at the moment, see Xbox 360 emulation issues section for more information for Vulkan backend.
You can use vkd3d wrapper instead of using Vulkan backend for xenia with your SteamOS; 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; vkd3d-proton wrapper already comes with it.

References[edit]

  1. Ben Vanik's first commit. Jan 10, 2013.
  2. Xenia Xbox 360 Emulator: Frogger 2 first run. Youtube (2014-03-24)
  3. Triang3l. Leaving No Pixel Behind: New Render Target Cache, 3x3 Resolution Scaling & Three Years in Xenia’s GPU Emulation.
  4. Margen67. 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."

External links[edit]