Difference between revisions of "Xbox 360 emulators"
(from wayback machine) |
(→Emulators) |
||
(437 intermediate revisions by 38 users not shown) | |||
Line 8: | Line 8: | ||
|discontinued = 2016 | |discontinued = 2016 | ||
|predecessor = [[Xbox emulators|Xbox]] | |predecessor = [[Xbox emulators|Xbox]] | ||
− | |successor = [[Xbox One emulators|Xbox One]] | + | |successor = [[Xbox One emulators|Xbox One (X)]] |
|emulated = {{~}} | |emulated = {{~}} | ||
}} | }} | ||
− | The '''[[Wikipedia:Xbox 360|Xbox 360]]''' is a seventh-generation console released by Microsoft on November 22, 2005 and retailed for {{inflation|USD|399|2005}}. It had a PowerPC | + | |
+ | {{for|other emulators that run on Xbox 360 hardware|Emulators on Xbox 360}} | ||
+ | |||
+ | The '''[[Wikipedia:Xbox 360|Xbox 360]]''' is a seventh-generation console released by Microsoft on November 22, 2005, and retailed for {{inflation|USD|399|2005}}. It had a triple-core PowerPC Xenon CPU that ran at 3.2 GHz with 512 MBs of RAM and an ATI Xenos GPU. The console's life saw the option of a motion-sensing camera called the [[wikipedia:Kinect|Kinect]]. | ||
+ | |||
+ | The Xbox 360 had a relatively strong modding scene (although compared to the Xbox it was hindered by the need to physically modify the console) and homebrew documentation of the console's GPU, file format, and various other APIs was performed early. Due to the complexity of the system and PCs of the time lacking the needed performance, emulation was slow to develop for this console compared to previous generations, with Xenia being the only serious option since 2013 and developing steadily since then. | ||
==Emulators== | ==Emulators== | ||
− | {| class="wikitable" style="text-align:center;" | + | <div style="overflow-x:auto;width:100%"> |
+ | {| class="wikitable" style="text-align:center;width:100%" | ||
|- | |- | ||
! scope="col"|Name | ! scope="col"|Name | ||
! scope="col"|Platform(s) | ! scope="col"|Platform(s) | ||
! scope="col"|Latest Version | ! scope="col"|Latest Version | ||
+ | ! scope="col"|[[#Hardware_features_and_peripherals|Hardware features<br/>and peripherals]] | ||
+ | ! scope="col"|[[#Enhancements|Enhancements]] | ||
+ | ! scope="col"|Compatibility | ||
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr> | ! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr> | ||
! scope="col"|Active | ! scope="col"|Active | ||
! scope="col"|[[Recommended Emulators|Recommended]] | ! scope="col"|[[Recommended Emulators|Recommended]] | ||
|- | |- | ||
− | ! colspan=" | + | ! colspan="9"|PC / x86 |
|- | |- | ||
|[[Xenia]] | |[[Xenia]] | ||
− | |align=left|{{Icon|Windows| | + | |align=left|{{Icon|Windows}} |
− | |[https://github.com/ | + | |[https://github.com/xenia-project/release-builds-windows/releases {{XeniaVer}}]<br/>[https://github.com/xenia-canary/xenia-canary/releases/tag/experimental canary]<br/>[https://github.com/AdrianCassar/xenia-canary/releases canary-netplay]<br/>[https://github.com/disjtqz/xenia-canar/releases canary-nukernel] |
+ | |{{~}} | ||
+ | |{{~}} | ||
+ | |[https://github.com/xenia-project/game-compatibility/issues 18%<br/><small>307 out of 1691 tested titles</small>]<ref name=xeniacompat>Xenia GitHub repository issue page filtered by [https://github.com/xenia-project/game-compatibility/issues?q=is%3Aopen+is%3Aissue+label%3Astate-playable "state-playable"], [https://github.com/xenia-project/game-compatibility/issues?q=is%3Aopen+is%3Aissue+label%3Astate-gameplay "state-gameplay"], [https://github.com/xenia-project/game-compatibility/issues?q=is%3Aissue+is%3Aopen+label%3Astate-hang%2Cstate-intro%2Cstate-load%2Cstate-menus%2Cstate-title%2Cstate-crash-guest%2Cstate-crash-host%2Cstate-crash-XNA-wontfix broken games], [https://github.com/xenia-project/game-compatibility/issues?q=is%3Aopen%2Bclosed+label%3Axam-live-signin-required+ require Xbox Live Account Sign-in], [https://github.com/xenia-project/game-compatibility/issues?q=is%3Aissue+is%3Aopen+label%3Astate-nothing "state-nothing"]. Also, [https://docs.google.com/spreadsheets/d/19wHZmKcs_Mdibj8CM_M4tMB9bSidx6Se3tCLTPobuk4/edit#gid=144331529 there is another compatibility list tracker] for Xenia Canary and Xenia emulator on Xbox consoles.</ref> | ||
+ | |{{✓}} | ||
|{{✓}} | |{{✓}} | ||
|{{✓}} | |{{✓}} | ||
+ | |- | ||
+ | !colspan="9"|Mobile / ARM | ||
+ | |- | ||
+ | |DamonXbox360 (呆萌Xbox360模拟器) | ||
+ | |align=left|{{Icon|Android}} | ||
+ | |Stolen | ||
+ | |{{✗}} | ||
+ | | | ||
+ | | | ||
+ | |{{✗}} (stolen from Xenia) | ||
|{{✓}} | |{{✓}} | ||
+ | |{{✗}} | ||
|- | |- | ||
− | ! colspan=" | + | ! colspan="8"|Consoles |
|- | |- | ||
|[[Fission]] | |[[Fission]] | ||
− | |align=left|{{Icon|XB1}} | + | |align=left|{{Icon|XB1|SXS}} |
|Patch based | |Patch based | ||
− | |{{✗}} | + | |{{~}} |
+ | |{{~}} | ||
+ | |[[Wikipedia:List_of_backward-compatible_games_for_Xbox_One_and_Series_X/S#List_of_compatible_titles_from_Xbox_360|29%<br/><small>633 out of 2155 titles</small>]] | ||
+ | |{{✗}} | ||
+ | |{{✗}} | ||
+ | |{{✓}} | ||
+ | |- | ||
+ | |[[Xenia]] | ||
+ | |align=left|{{Icon|SXS}} | ||
+ | |[https://github.com/SirMangler/xenia/releases 1.1.4] | ||
+ | |{{~}} | ||
+ | |{{~}} | ||
+ | |[https://github.com/xenia-project/game-compatibility/issues 18%<br/><small>307 out of 1691 tested titles</small>]<ref name=xeniacompat></ref> | ||
|{{✓}} | |{{✓}} | ||
|{{✓}} | |{{✓}} | ||
+ | |{{~}} | ||
|} | |} | ||
− | + | </div> | |
+ | <references group=N /> | ||
===Comparisons=== | ===Comparisons=== | ||
;[[Xenia]] | ;[[Xenia]] | ||
− | : | + | :Xenia is the leading [[High/Low_level_emulation|hybrid approach]] Xbox 360 emulator that's made it the furthest. While it isn't nearly as compatible as RPCS3 is for [[PlayStation_3_emulators|PlayStation 3]], impressive performance outshines RPCS3 due to RPCS3's [[PlayStation_3_emulators#Emulation_issues|extremely challenging SPU emulation]] resulting reasonably higher CPU demands. Another reason for performance difference is Xenia utilizes [[High/Low_level_emulation|very high-level emulation (HLE) approach for the CPU, while relying heavily on Low-Level Emulation (LLE) for the GPU]]<ref>[https://discord.com/channels/308194948048486401/308194948048486401/1192362532212576348 Rick's xenia discord message about LLE and HLE]</ref><ref>[https://discord.com/channels/308194948048486401/701111856600711208/1090315143226863616 chrispy's comments about xenia's approach]</ref>. Due to these approaches and other reasons/optimizations (see [[Emulation accuracy]] page): it's making Xenia more reliant on GPU performance instead of CPU (especially compared to RPCS3). But keep in mind that, it's still depends heavily on CPU single thread performance due to graphics API-related calls and focusing solely '''average''' CPU utilization percentage numbers may give you false impression[https://discord.com/channels/308194948048486401/308194948048486401/1199060658059235479]. So in summary: just like most other software emulators, CPU's with better [https://www.cpubenchmark.net/singleThread.html single threaded performance] will give you better framerates than before (considering you're not hitting GPU bottleneck)[https://discord.com/channels/308194948048486401/308194948048486401/518932236746096640]. Xenia supports various [[#Enhancements|enhancements]] and some of the [[#Hardware_features_and_peripherals|hardware features]]. For emulation on Linux: see [[Xenia#Linux_and_SteamOS.2FSteam_Deck|this page]]. For checking if your games work and any fixes, tweaks, or settings, see compatibility list. For people who follow the dev progress, Android builds in CI don't mean there is anything you can even 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. More information on [https://discord.gg/Q9mxZf9 Xenia Discord] in the #dev-android channel under the 'Development' category. |
+ | ::'''canary''' builds compared to the master builds offer improved performance (thanks to [https://web.archive.org/web/20220815204859/https://github.com/chrisps chrisps]/chrispy, disjtqz, Gliniak, AdrianCassar and [https://github.com/xenia-canary/xenia-canary/graphs/contributors other contributors]), it has experimental changes that may or may not work, but it also has more functions/tends to work better. Also some of the [[#Hardware_features_and_peripherals|hardware features]] and [[#Enhancements|enhancements]] are currently only available in this fork and its branches mentioned below. Use [https://github.com/xenia-canary/game-patches this repository] for game-patches which some of them may fix graphical or performance issues. | ||
+ | ::'''canary-netplay'''; see [[Xbox_Live#Xbox_360|Xbox Live]] page (Xbox 360 section). | ||
+ | ::'''canary-nukernel''' branch emulates: The [[#Emulation_issues|six individual hardware threads on the original Xbox 360 CPU]], certain kernel timing quirks (clock interrupt update every 1millisecond, "background scheduling"), the kernel's thread scheduler, deferred procedure calls, asynchronous procedure calls (done more accurately than on normal canary, plus kernel ones are supported), much more accurate and portable emulation of synchronization primitives, supports guest objects without creating host objects for them. So certain games that do not work on normal canary can be played on this branch, because the features/quirks they expect are implemented here, but nukernel branch mostly focuses on reimplementing parts of the threading subsystem of the kernel, not io or memory, which are also messed up. Developer of this branch said that: "It really felt like starting from scratch on the kernel side, because for a long time nothing booted on it".[https://discord.com/channels/308194948048486401/701111856600711208/1200116567489384548] | ||
;[[Fission]] | ;[[Fission]] | ||
− | :The official emulator on the [[Xbox One emulators|Xbox One]] and [[Xbox Series X and Series S|Xbox Series X/S]] consoles | + | :The official emulator on the [[Xbox One emulators|Xbox One]] and [[Xbox Series X and Series S|Xbox Series X/S]] consoles. [[#Hardware_features_and_peripherals|There is no "Xbox Live Indie Game & XBLIG" support]]. Load times are faster, but emulation suffers from [[Input_lag|input lag]] due to forced [[Vsync|v-sync]]. Beyond this, Fission supports some of the [[#Hardware_features_and_peripherals|hardware features]]. |
+ | |||
+ | :Xbox One X and Xbox Series X further improve on the emulation with [[#Enhancements|enhancements]] like better loading times, framerate, texture filtering, higher resolution and auto HDR in some games. Note that an Internet connection is required to download each game on its first run. | ||
+ | |||
+ | :However, with an November 2021 update Microsoft ended the program and said: "This latest and final addition of 70+ titles to the backwards compatibility program was only possible through the passion and feedback from the community," Microsoft said. "Your constant requests for specific titles and enhancements encouraged the Backwards Compatibility team to partner with the original creators to preserve thousands of games from over four generations of Xbox. While we continue to stay focused on preserving and enhancing the art form of games, we have reached the limit of our ability to bring new games to the catalog from the past due to licensing, legal and technical constraints. Thank you for being part of this journey with us."<ref>https://www.gamespot.com/articles/xbox-backwards-compatibility-adds-70-more-games-today-as-microsoft-ends-the-program/1100-6498021/</ref> | ||
+ | |||
+ | ==Hardware features and peripherals== | ||
+ | <div style="overflow-x:auto;width:100%"> | ||
+ | {|class="wikitable" style="text-align:center;vertical-align:middle;width:100%" | ||
+ | |- style="font-weight:bold;" | ||
+ | ! colspan=2 | Name | ||
+ | ! xenia | ||
+ | ! [[Fission]] | ||
+ | |- | ||
+ | | rowspan=2 | [[Wikipedia:Xbox_system_software#Xbox_360_system_software|Xbox 360 system software]] | ||
+ | | [[#Dashboard_and_apps|Dashboard and apps]] | ||
+ | | {{N}} | ||
+ | | {{~}} | ||
+ | |- | ||
+ | | [[#TrueSkill|TrueSkill]] | ||
+ | | {{N}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | colspan=2 | [[#Achievements|<abbr title="Should not be confused with RetroAchievements.">Achievements</abbr>]] | ||
+ | | {{~}}[https://github.com/xenia-project/xenia/issues/2083 *] | ||
+ | | {{Y}} | ||
+ | |- | ||
+ | | colspan=2 | [[Xbox_Live|Xbox Live]] | ||
+ | | {{~}} | ||
+ | | {{Y}} | ||
+ | |- | ||
+ | | colspan=2 | [[Wikipedia:List_of_Xbox_360_System_Link_games|System Link]] | ||
+ | | {{N}}[https://github.com/xenia-project/xenia/pull/1879#commits-pushed-82793a1 *] | ||
+ | | {{Y}}<ref group=N2>[https://www.teamxlink.co.uk/wiki/Xbox_One#Xbox_360_backwards_compatibility Xbox 360 System Link compatible games for '''Xbox One''']<br/> | ||
+ | [https://www.teamxlink.co.uk/wiki/Xbox_Series_S/X#Xbox_360_backwards_compatibility Xbox 360 System Link compatible games for '''Xbox Series S/X''']</ref> | ||
+ | |- | ||
+ | | colspan=2 | [[#DVD_Drive|DVD Drive]] | ||
+ | | {{N}} | ||
+ | | {{~}} | ||
+ | |- | ||
+ | | colspan=2 | Xbox Emulation <small>[[FU|(Fusion)]]</small> | ||
+ | | {{N}}[https://github.com/xenia-canary/xenia-canary/wiki/FAQ#user-content-Can_Xenia_run_original_Xbox_games *] | ||
+ | | {{~}}<abbr title="Fusion emulator is not supported but Fission (internal name for backward compatibility on the Xbox One and Xbox Series X/S) supports original Xbox backwards compatibility though with a far smaller amount of supported games compared to Fusion emulator.">*</abbr> | ||
+ | |- | ||
+ | | colspan=2 | [[Wikipedia:Category:Xbox_360_Live_Arcade_games|Xbox Live Arcade]] (XBLA) | ||
+ | | {{Y}} | ||
+ | | {{Y}}[[Wikipedia:List_of_backward-compatible_games_for_Xbox_One_and_Series_X/S#List_of_compatible_titles_from_Xbox_360|*]] | ||
+ | |- | ||
+ | | colspan=2 | [[#Xbox_Live_Indie_Games_.28XBLIG.29|Xbox Live Indie Games]] (XBLIG) | ||
+ | | {{N}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | colspan=2 | [[Development Kits]] | ||
+ | | {{N}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | ! colspan=4 | [[#Peripherals|Peripherals]] | ||
+ | |- | ||
+ | | colspan=2 | [[#Kinect|Kinect]] | ||
+ | | {{N}} | ||
+ | | {{N}}<ref group=N2 name=FissionPeripherals>Games like the original Guitar Hero and Rock Band series won't work as they require proprietary accessories that [https://www.pocket-lint.com/xbox-backward-compatibility/ aren't compatible], nor do any that require the original Kinect motion camera. Even if you have an Xbox One Kinect still, it is not compatible with previous Xbox 360 Kinect games using [[Fission]].</ref> | ||
+ | |- | ||
+ | | colspan=2 | [[#HD-DVD_Player|HD-DVD Player]] | ||
+ | | {{N}} | ||
+ | | {{~}} | ||
+ | |- | ||
+ | | colspan=2 | [https://xbox.fandom.com/wiki/Xbox_360_Memory_Card Xbox 360 Memory Card] | ||
+ | | {{N}} | ||
+ | | {{N}}[https://old.reddit.com/r/xboxone/comments/byrryr/360_memory_card/ *] | ||
+ | |- | ||
+ | | rowspan=3 | Portal | ||
+ | | Skylanders Portal | ||
+ | | {{N}} | ||
+ | | {{TBD}} | ||
+ | |- | ||
+ | | [[#LEGO_Dimensions_Toy_Pad|LEGO Dimensions Toy Pad]] | ||
+ | | {{N}} | ||
+ | | {{TBD}} | ||
+ | |- | ||
+ | | [https://disneyinfinity.fandom.com/wiki/Disney_Infinity_Base Disney Infinity Base] | ||
+ | | {{N}} | ||
+ | | {{TBD}} | ||
+ | |- | ||
+ | | colspan=2 | Rock Band 3 MIDI Pro Adapter | ||
+ | | {{N}} | ||
+ | | {{TBD}} | ||
+ | |- | ||
+ | | colspan=2 | <abbr title="Required for some games like SingStar, Rocksmith, Guitar Hero, Rock Band etc.">Microphone</abbr> | ||
+ | | {{N}}[https://github.com/Gliniak/xenia/commit/b5e95f5ff7f4606ff882e333a22605986d475991 *] | ||
+ | | {{N}}<ref group=N2 name=FissionPeripherals></ref> | ||
+ | |- | ||
+ | | colspan=2 | <abbr title="Required for some games like SingStar, Rocksmith, Guitar Hero, Rock Band etc.">Drums and Guitars</abbr> | ||
+ | | {{N}} | ||
+ | | {{N}}<ref group=N2 name=FissionPeripherals></ref> | ||
+ | |- | ||
+ | | colspan=2 | [[Wikipedia:Xbox_360_accessories#Big_Button_Pad|Big Button Pad]] | ||
+ | | {{N}} | ||
+ | | {{TBD}} | ||
+ | |- | ||
+ | | rowspan=2 | LightGun | ||
+ | | Top Shot Elite | ||
+ | | {{N}} | ||
+ | | {{TBD}} | ||
+ | |- | ||
+ | | Top Shot Fearmaster | ||
+ | | {{N}} | ||
+ | | {{TBD}} | ||
+ | |- | ||
+ | | colspan=2 | [[Wikipedia:UDraw_GameTablet|uDraw GameTablet]] | ||
+ | | {{~}}[https://github.com/xenia-project/game-compatibility/issues/1681 *] | ||
+ | | {{N}}[https://old.reddit.com/r/xbox/comments/tolbbs/is_my_udraw_game_tablet_from_the_xbox_360/ *] | ||
+ | |} | ||
+ | </div> | ||
+ | <references group=N2/> | ||
+ | ===Dashboard and apps=== | ||
+ | :[https://tcrf.net/Xbox_360#Revisional_Differences tcrf: Xbox 360 Dashboard revisional differences] | ||
+ | :[[Wikipedia:List_of_Xbox_360_applications|Wikipedia - List of Xbox 360 applications]] | ||
+ | The Dashboard is a graphical user interface developed for Xbox 360. You can launch various applications from this interface as well. Also supports [https://support.xbox.com/en-US/help/xbox-360/console/media media streaming (music, photos and videos) with PC] using [[Wikipedia:Windows_XP_Media_Center_Edition|Windows XP MCE]] with Xbox 360's built-in [[Wikipedia:Windows_Media_Center_Extender#Version_2_Extenders|version 2 Media Center Extender]] functionality and app. This functionality shouldn't be confused with other standalone [[Wikipedia:Windows_Media_Center_Extender|Windows Media Center Extender devices]] or [[Xbox_emulators#Windows_Media_Center_Extender|original Xbox Media Center Extender version 1 add-on]]. | ||
+ | |||
+ | *xenia has [https://github.com/xenia-project/xenia/pull/1243 no support for dashboard emulation] at the moment, though there are several old builds partially supports various dashboard revisions. But keep in mind that you can emulate [https://consolemods.org/wiki/Xbox_360:Kiosk_Discs various Kiosk discs for Xbox 360] such as: "[https://github.com/xenia-project/game-compatibility/issues/1813 Xbox 360 Retail Kiosk Disc 1.0]" for "Blade" interface. Another alternative for this using compilation discs such as: "[https://github.com/xenia-project/game-compatibility/issues/432 Xbox Live Arcade]" for "Blade" interface and "Xbox Live Arcade Game Pack" for "New Xbox Experience" interface, however all of these discs are partially compatible with latest xenia builds so do not expect perfect experience, see [[Interactive Kiosk]] page for more information. Recently xenia-canary developer Gliniak [https://www.youtube.com/watch?v=h2y7BiYPMUI share a video about custom build of xenia-canary he working on for dashboard emulation] and further said: "This presents some of functionalities that might be available in Xenia in the future. It's still not perfect, not even close of being fully stable and reliable, but I'm working on it". For more information see [https://discord.gg/Q9mxZf9 xenia discord]. | ||
+ | *Fission only supports [https://support.xbox.com/en-US/help/xbox-360/games/backward-compatibility/open-xbox-guide-in-xbox-360-game Xbox 360's Xbox Guide dash menu], Friends/Party and Notifications, other than that, there is no Dashboard interface emulation whatsoever. Some of the Xbox 360 apps supported ([[Wikipedia:List_of_Xbox_One_and_Series_X/S_applications|Xbox One and Series X/S apps]]) on the newer consoles though. | ||
+ | |||
+ | ===TrueSkill=== | ||
+ | :[https://trueskill.org/ TrueSkill python package] | ||
+ | :[https://www.microsoft.com/en-us/research/project/trueskill-ranking-system/?from=https://research.microsoft.com/en-us/projects/trueskill&type=exact Microsoft TrueSkill/TrueSkill 2] | ||
+ | :[[Wikipedia:TrueSkill|Wikipedia - TrueSkill/TrueSkill 2]] | ||
+ | *Xenia do not support TrueSkill at the moment but Heungsub Lee's TrueSkill [https://discord.com/channels/308194948048486401/1173434194525950062/1191589086771822634 might implemented to xenia-canary for stats in the not so distant future]. | ||
+ | *Fission do not support this feature? Microsoft published the algorithm and have discontinued it's use in the Xbox One. Microsoft is using a new system for the Xbox One. | ||
+ | |||
+ | ===[https://www.xboxachievements.com/games/retail/ Achievements]=== | ||
+ | Xenia-canary latest builds support Xbox 360 achievements but only partially; because there is [https://github.com/xenia-canary/xenia-canary/releases/tag/ebdea6b no support for achievement progress], only achievement unlock notifications works. [https://youtu.be/_jt9eBvDHmg?t=112 Demonstration] | ||
+ | |||
+ | For activating notifications for achievements and using sound and custom font you need to change settings from "xenia-canary.config.toml"; | ||
+ | <small> | ||
+ | :[UI] | ||
+ | ::<abbr title="Show achievement notification on screen.">show_achievement_notification = true</abbr> | ||
+ | ::<abbr title="Allows user to load custom font and use it instead of default one.">custom_font_path = "C:\\Users\\USERNAME\\AppData\\Local\\xenia-canary\\YOURFONTNAME.tff"</abbr> | ||
+ | |||
+ | :[General] | ||
+ | ::<abbr title="Path (including filename) to selected notification sound. Sound MUST be in .wav format!)">notification_sound_path = "C:\\Users\\USERNAME\\AppData\\Local\\xenia-canary\\YOURSOUNDFILENAME.wav"</abbr> | ||
+ | </small> | ||
+ | |||
+ | ===DVD Drive=== | ||
+ | :[https://free60.org/Hardware/Console/DVD_Drive/ free60: Xbox 360 DVD Drive] | ||
+ | :[https://consolemods.org/wiki/Xbox_360:XGD3_Games consolemods: XGD3 games] | ||
+ | *xenia has no support for DVD-Video or Xbox 360 format DVD-ROM/XGD3. | ||
+ | *Xbox One and Xbox Series consoles (Fission) have support for [https://support.xbox.com/en-US/help/games-apps/apps-help/dvd-blu-ray-setup DVD-Video], but there is no real support for Xbox 360 format DVD-ROM/XGD3, because it's only recognising the disc, after that [https://youtu.be/9Mi3jfGTNGw?t=243 it's downloading/installing the game from Xbox Live not from the disc itself]. | ||
+ | |||
+ | ::See [[Ripping_games]]. | ||
+ | |||
+ | ===Xbox Live Indie Games (XBLIG)=== | ||
+ | :[https://old.reddit.com/r/xbox360/comments/meey0w/wip_list_of_all_xbox_live_indie_games_xblig/ List of all Xbox Live Indie Games (XBLIG)] | ||
+ | *xenia emulator [https://github.com/xenia-project/xenia/issues/529 has no support for XBLIG] and [https://discord.com/channels/308194948048486401/308194948048486401/1191400409349247037 unlikely to be feasible in the near future]. | ||
+ | *Fission [[Wikipedia:Xbox_Live_Indie_Games#End_of_service|has no support for XBLIG]]. | ||
+ | |||
+ | ===Peripherals=== | ||
+ | ====Kinect==== | ||
+ | The [[wikipedia:Kinect|Kinect]] was Microsoft's version of the [[PlayStation_2_emulators#EyeToy|EyeToy]], a camera that also doubled as a motion tracker and microphone capable of detecting gestures and voices in order to play games without a controller. This was in contrast to the [[Wii_emulators|Wii]] with its Wiimote and the [[PlayStation_3_emulators|PS3]] with its PlayStation Move. Despite getting native support on Windows, users have made [https://openkinect.org/wiki/Main_Page open-source drivers] for it. | ||
+ | |||
+ | *[[Xenia]] does not currently have any support for the Kinect[https://github.com/xenia-project/xenia/wiki/FAQ#input][https://github.com/xenia-project/xenia/wiki/Roadmap][https://github.com/xenia-project/xenia/issues/1241]. But you can use [https://gamebanana.com/mods/456720 No Kinect Patch] for Sonic Free Riders. | ||
+ | |||
+ | ====HD-DVD Player==== | ||
+ | :''[[Wikipedia:Xbox_360_HD_DVD_Player|Wikipedia: Xbox 360 HD-DVD Player]]'' | ||
+ | :''[https://support.xbox.com/en-US/help/xbox-360/console/watch-dvds-movies Xbox support: Play DVD-Video and Xbox 360 DVD-ROM on your console] | ||
+ | *Xenia has no HD-DVD support at the moment and as mentioned in the [[#DVD_Drive|DVD Drive section]] there is no support for DVD-Video either. | ||
+ | *Xbox One and Xbox Series consoles has no support for [https://answers.microsoft.com/en-us/xbox/forum/all/xbox-one-hd-dvd-add-on-compatibility/dbfd0cf3-777b-4f40-96ba-4e9104b55110?page=1# HD-DVD]. Although as mentioned in the [[#DVD_Drive|DVD Drive section]]: DVD-Video is supported. | ||
+ | |||
+ | ::See [[Home_Media_Player#Emulators|this dedicated page]] for more information about home media playback support for emulation softwares. | ||
+ | |||
+ | ==Enhancements== | ||
+ | <div style="overflow-x:auto;width:100%"> | ||
+ | {|class="wikitable" style="text-align:center;vertical-align:middle;width:100%" | ||
+ | |- style="font-weight:bold;" | ||
+ | ! colspan=2 | Name | ||
+ | ! xenia | ||
+ | ! [[Fission]] | ||
+ | |- | ||
+ | | rowspan=7 | Graphics | ||
+ | | [[Resolution|Resizable Internal Resolution]] | ||
+ | | {{✓}} | ||
+ | | {{✓}} | ||
+ | |- | ||
+ | | [[Widescreen_hacks#Xbox_360|Ultrawide hack]]<br/><small>Widescreen already supported on Xbox 360 system.<br/>But there is no support by system for render games in other ratios such as ultrawide 21:9 and 32:9.</small> | ||
+ | | {{✓}} | ||
+ | | {{N}}<ref group=N2>Only supports official 16:9 widescreen supported titles, no support for 21:9 or 32:9 ultrawide enhancements.</ref> | ||
+ | |- | ||
+ | | [[Texture_packs#Texture_Replacement_.283D.29|Texture Replacement]] | ||
+ | | {{✗}}[https://discord.com/channels/308194948048486401/308194948048486401/1191865327093563525 *] | ||
+ | | {{✗}} | ||
+ | |- | ||
+ | | Ray-tracing<br/><small>([https://devblogs.microsoft.com/directx/announcing-microsoft-directx-raytracing/ DXR], [https://www.khronos.org/blog/ray-tracing-in-vulkan VRT] and [https://developer.apple.com/documentation/metal/metal_sample_code_library/accelerating_ray_tracing_using_metal MRT])</small> | ||
+ | | colspan=2 | <small>Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.<br/>However you can try "[[Shaders_and_filters#Notable_ReShade_shaders|Screen-Space Ray Traced Global Illumination]]" shader using ReShade.<br/>[https://www.youtube.com/watch?v=uE71X-oWiKo Demonstration]</small> | ||
+ | |- | ||
+ | | [[Wikipedia:Category:Anti-aliasing_algorithms|Pre-rendering AA]]<br/><small>(MSAA, SSAA)</small> | ||
+ | | {{N}}<ref group=N2>This enhancement feature shouldn't be confused with [https://xenia.jp/updates/2022/01/29/presenting-the-presentation-update-amd-fidelityfx-fsr-fxaa-cas-vrr.html#nvidia-fast-approximate-anti-aliasing-311--fxaa Xbox 360's native 2x/4x MSAA].</ref> | ||
+ | | ? | ||
+ | |- | ||
+ | | Super-resolution techniques<br/><small>([https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS.md DLSS], [https://github.com/intel/xess/?tab=readme-ov-file XeSS] and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 2+]])</small> | ||
+ | | colspan=2 | <small>Requires access to the depth buffer and temporal data like motion-vectors so it's quite challenging and unlikely to be feasible in the near future.</small> | ||
+ | |- | ||
+ | | [https://github.com/NVIDIAGameWorks/rtx-remix/wiki RTX Remix] | ||
+ | | colspan=9 | <small>Implementing RTX Remix technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.<br/>You can use ReShade for post-processing.</small> | ||
+ | |- | ||
+ | | rowspan=5 | Performance | ||
+ | | [[30/60_FPS_cheat_codes#Xbox_360|Internal Framerate Hack]] | ||
+ | | {{Y}} | ||
+ | | {{Y}} | ||
+ | |- | ||
+ | | [https://blurbusters.com/frame-generation-essentials-interpolation-extrapolation-and-reprojection/ Frame generation technologies]<br/><small>([https://store.steampowered.com/app/993090/Lossless_Scaling/ LSFG], [https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS_G.md DLSS-G], [https://www.techpowerup.com/316835/extrass-framework-paper-details-intels-take-on-frame-generation ExtraSS] and [https://community.amd.com/t5/gaming/amd-fluid-motion-frames-is-out-now-on-amd-radeon-rx-7000-series/ba-p/634372 AFMF])</small> | ||
+ | | colspan=4 | <small>Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as [[Wikipedia:Motion_interpolation|motion interpolation]] is quite possible. [[Input_lag|Input latency]] will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use '''after applying the "Internal Framerate Hack"'''.<br/>While '''[https://youtu.be/tkPQ3Ib7Sug AFMF]''' or '''[https://youtu.be/vbbdP9ls2GY?t=200 LSFG]''' can be used with xenia, please be aware that some visual glitches and artifacts may occur at this time. | ||
+ | |- | ||
+ | | [[Overclocking|Overclock]] | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | |- | ||
+ | | Preload [[Wikipedia:Template:Disk_images|optical disc image]] to RAM<br/><small>For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement '''might''' offer smoother experience, potentially reduced power consumption; it also shines when disc images reside on a network drive.<br/>Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.</small> | ||
+ | | {{N}} | ||
+ | | {{N}}<ref group=N2>[[Fission]] has no Preload image to RAM enhancement but it has better loading times than the original hardware as mentioned in [[#Comparisons]] section.</ref> | ||
+ | |- | ||
+ | | Rendering latency reduction technologies<br/><small>([https://github.com/ishitatsuyuki/LatencyFleX LatencyFleX], [https://developer.nvidia.com/performance-rendering-tools/reflex Reflex] and [https://www.amd.com/en/products/software/adrenalin/radeon-software-anti-lag.html Anti-Lag'''+''']) | ||
+ | | colspan=4 | <small>While most emulators offer frame pacing or framebuffer latency control options, implementing rendering latency reduction technologies isn't currently feasible. This is '''likely''' doesn't offer enough benefit to justify the development effort.</small> | ||
+ | |- | ||
+ | | rowspan=6 | Post-Processing | ||
+ | | [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small> | ||
+ | | {{Y}}[https://xenia.jp/updates/2022/01/29/presenting-the-presentation-update-amd-fidelityfx-fsr-fxaa-cas-vrr.html#nvidia-fast-approximate-anti-aliasing-311--fxaa *] | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small> | ||
+ | | {{Y}}[https://xenia.jp/updates/2022/01/29/presenting-the-presentation-update-amd-fidelityfx-fsr-fxaa-cas-vrr.html#amd-fidelityfx-super-resolution-10--fsr *] | ||
+ | | {{Y}}<ref group=N2>It uses [https://youtu.be/FNB_K8yFy2s?t=93 bilinear filtering resulting blurrier image].</ref> | ||
+ | |- | ||
+ | | [[Shaders_and_filters|Filters]] | ||
+ | | {{N}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | |[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small> | ||
+ | | {{?}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | [[Shader_Presets|Shader Chain]] | ||
+ | | {{N}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | |[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]] | ||
+ | | {{?}} | ||
+ | | {{Y}}[https://youtu.be/LT1a6NXYy6E *] | ||
+ | |- | ||
+ | | rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features] | ||
+ | | [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua] | ||
+ | | {{N}} | ||
+ | | {{✗}} | ||
+ | |- | ||
+ | | Rewind | ||
+ | | {{N}} | ||
+ | | {{✗}} | ||
+ | |- | ||
+ | | Fast-Forward/Turbo Speed | ||
+ | | {{N}} | ||
+ | | {{✗}} | ||
+ | |- | ||
+ | | Savestates/Snapshots | ||
+ | | {{N}} | ||
+ | | {{✗}} | ||
+ | |- | ||
+ | | [https://tasvideos.org/Movies Movie recording/playback] | ||
+ | | {{N}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | rowspan=2 | Controls | ||
+ | | [[Controllers#Mouse_Injectors_for_Emulators|Mouse Injector Compatible]] | ||
+ | | {{Y}}[https://github.com/marinesciencedude/xenia-canary-mousehook *] | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | [[Input_lag|Input lag-mitigating technique]] | ||
+ | | {{N}} | ||
+ | | {{✗}} | ||
+ | |- | ||
+ | | rowspan=8 | Quality of life | ||
+ | | [[Save_disk_space_for_ISOs#Xbox_360|Streamable compression format]] | ||
+ | | {{Y}} | ||
+ | | {{✗}} | ||
+ | |- | ||
+ | | Built-in [[Mods,_hacks_and_fan-translations#Built-in_graphics_mod_editor.2Fmanager_for_emulators|Graphics mod editor/manager]] | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | |- | ||
+ | | Built-in [[Cheats_and_patches|Cheat Manager]] | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | |- | ||
+ | | Per-Game Profiles | ||
+ | | {{~}}<ref group=N2>Using per-game setting for each game in Xenia requires creating a separate "xenia.config.toml" file for each one and launching them manually through a batch script or command line.</ref> | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | Command Line Options | ||
+ | | {{Y}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | Built-in [http://forum.arcadecontrols.com/index.php/topic,106405 Custom resolution/CRTSwitchRes]<br/><small>For using this on Windows OS you need [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT Emudriver].<br/>Another option is using EDID editor tool such as "Custom Resolution Utility".</small> | ||
+ | | {{N}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]] | ||
+ | | {{Y}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]] | ||
+ | | {{N}} | ||
+ | | {{Y}} | ||
+ | |- | ||
+ | | rowspan=4 | Misc | ||
+ | | RetroAchievements | ||
+ | | {{N}}[https://github.com/xenia-project/xenia/issues/2219 *] | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | [[Virtual_reality#VR_game_room_simulations|EmuVR support]] | ||
+ | | colspan=2 | Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores]. So there is no support at the moment. | ||
+ | |- | ||
+ | | Free Look<br/><small>Free Look is a enhancement feature that allows manipulation of the in-game camera.</small> | ||
+ | | colspan=2 | <small>While freecam would be technically possible, it will require per-game patches.<br/>Said patches would require a significant amount of time to reverse the game's engine, which means that only someone talented with enough dedication to a single game could do it. | ||
+ | |- | ||
+ | | [[Wikipedia:Category:Debugging|Debug features]] | ||
+ | | {{~}}<ref group=N2>Xenia has debugger but there is no documentation, and [https://daniele.tech/2021/01/reverse-engineering-the-saboteur-game-for-xbox360-with-linux-part-3/ it is very difficult to understand how it works]. See [https://discord.com/channels/308194948048486401/440280035056943104 xenia discord dev channel] for more information about debugging.</ref> | ||
+ | | {{✗}} | ||
+ | |} | ||
+ | </div> | ||
+ | <references group=N2/> | ||
==Emulation issues== | ==Emulation issues== | ||
− | + | <blockquote>[Xenos] was a playground for experiments — it was developed near the end of the Direct3D 9 era, but still before Direct3D 10, and contained many features not standardized or even available at all on the PC, but when they ended up on the PC, the actual implementation could be significantly different; it also included completely unique features. [...] Contrary to a common misconception, the Xbox 360 [isn't] just a “DirectX 9 box”. It essentially contains a [tile-inspired] mobile-like GPU with much more raw power than a comparable mobile GPU. If you compare the registers of the Xenos and the Qualcomm Adreno 200, you can see that most of them are the same, as they are almost the same GPUs — the Adreno 200 was called the AMD Z430 before having been acquired by Qualcomm and was even referred to as the "mini-Xenos"!"<br>-Triang3l<ref>Triang3l (April 27, 2021). [https://xenia.jp/updates/2021/04/27/leaving-no-pixel-behind-new-render-target-cache-3x3-resolution-scaling.html Leaving No Pixel Behind: New Render Target Cache, 3x3 Resolution Scaling & Three Years in Xenia’s GPU Emulation]. Xenia.</ref></blockquote> | |
+ | |||
+ | Despite being one of the most popular [[:Category:Seventh-generation_video_game_consoles|seventh gen home console]], due to requiring a large number of resources as well as the hardware not being properly documented yet<ref>[https://web.archive.org/web/20230205112049/http://www.noxa.org/blog/category/projects/xenia/ Building an Xbox 360 Emulator]</ref>, '''Xbox 360 emulation currently isn't at a point where people can reliably emulate most of the game library.''' Xenia is making slowly but surely progress on that front, but development has unfortunately lost momentum in recent years, with updates becoming less frequent. That, plus the fact that Microsoft's own implemented official emulation ([[Fission]]) of the system through the Xbox One and Series S/X ended with an November 2021 update. So, as mentioned above: [https://github.com/xenia-project/game-compatibility/issues?q=is%3Aissue+is%3Aopen+label%3Astate-playable while playable titles exists], Xbox 360 software emulation hasn't yet reached a point of something like [[PlayStation_3_emulators|PlayStation 3]] or [[Wii_U_emulators|Wii U]] emulation, currently remains in its early stages, with limited compatibility and requiring patience/experimentation. | ||
− | == | + | For more information about Xbox 360 system and reverse engineering; |
+ | * [https://www.copetti.org/writings/consoles/xbox-360/ Rodrigo Copetti: Xbox 360 Architecture Analysis] | ||
+ | * [https://www.xenonwiki.com/Main_Page Xenon Wiki] | ||
+ | * [https://github.com/emoose/xbox-reversing/tree/master emoose: xbox-reversing] - Information & parsers for some under-documented Xbox360 structures/file formats (STFS/GDFX/XDBF/XEX...) | ||
+ | * [https://github.com/rexdex/recompiler rexdex: recompiler and references list] | ||
+ | * [https://discord.gg/Q9mxZf9 Xenia Discord server] (For general and development discussions on Xbox 360 emulation, especially for xenia and xenia-canary) | ||
+ | :* [https://discord.com/channels/308194948048486401/532286526847975425 xenia-dev references on discord channel] | ||
+ | :* [https://discord.com/channels/308194948048486401/308194948048486401/1195389461186486322 Conversation about xenia CPU emulation on discord channel] | ||
+ | * [https://gitlab.freedesktop.org/mesa/mesa/-/tree/main/src/gallium/drivers/r300?ref_type=heads Mesa gallium R300~R500] | ||
+ | * [https://www.phoronix.com/news/Terakan-HD-6000-VLK-Windows Open-Source "Terakan" Vulkan Driver For Radeon HD 6000 Series Shown On Windows] - Vitaliy Kuzmin "Triang3l": TeraScale GPUs working on Vulkan and leveraging the Mesa codebase. | ||
+ | * MVG: [https://www.youtube.com/watch?v=xCuu-TMquhk Xbox 360 Emulation on the PC with Xenia takes a huge step forward], [https://www.youtube.com/watch?v=MsnZsgfVLqk Why Microsoft switched from Intel to Power PC for the Xbox 360], [https://www.youtube.com/watch?v=F1aVBEyqnxA The Story of Xbox 360 PartnerNet Game Leaks], [https://www.youtube.com/watch?v=RyW0lXnoFOA How a Mini drill tool defeated security on the Xbox 360], [https://www.youtube.com/watch?v=Vq1lxeg_gNs How the Xbox 360 Hypervisor Security was Defeated], [https://www.youtube.com/watch?v=8gduINQMxd0 Why YOU need a Modded Xbox 360 in 2018], [https://www.youtube.com/watch?v=zFGz4aT1cgo The Xbox 360 is still awesome in 2019], [https://youtu.be/qxtMii5UKVQ Xbox 360 Blades Dashboard] | ||
+ | * Digital Foundry: [https://youtu.be/LT1a6NXYy6E Xbox Series X: Auto HDR Mode Tested - What Works and What Doesn't], [https://youtu.be/SzeBm0XBcOk FPS Boost For Xbox 360 Games], [https://youtu.be/7oe1LUJyCCs Xbox Series X Backwards Compatibility Tested] | ||
+ | *[https://github.com/xenia-project/xenia/issues/2028 Feature tracker: Vulkan-based GPU emulation implementation]. Also see [https://discord.com/channels/308194948048486401/308194948048486401/1182693263891779604 this discord conversation] if you're interested Vulkan backend for Xenia. | ||
− | + | ==See also== | |
− | + | *[[Controllers#Xbox_360|Xbox 360 Controller]] | |
− | [ | + | ==External links== |
+ | *[https://xboxdb.altervista.org/ XboxDB] | ||
==References== | ==References== | ||
Line 63: | Line 445: | ||
[[Category:Consoles]] | [[Category:Consoles]] | ||
+ | [[Category:Home consoles]] | ||
[[Category:Seventh-generation video game consoles]] | [[Category:Seventh-generation video game consoles]] | ||
[[Category:Microsoft consoles]] | [[Category:Microsoft consoles]] | ||
− | |||
[[Category:Xbox 360 emulators]] | [[Category:Xbox 360 emulators]] | ||
+ | [[Category:PowerPC-based]] |
Revision as of 10:59, 23 April 2024
![]() | |
Developer | Microsoft |
---|---|
Type | Home video game console |
Generation | Seventh generation |
Release date | 2005 |
Discontinued | 2016 |
Predecessor | Xbox |
Successor | Xbox One (X) |
Emulated | ~ |
- For other emulators that run on Xbox 360 hardware, see Emulators on Xbox 360.
The Xbox 360 is a seventh-generation console released by Microsoft on November 22, 2005, and retailed for $399. It had a triple-core PowerPC Xenon CPU that ran at 3.2 GHz with 512 MBs of RAM and an ATI Xenos GPU. The console's life saw the option of a motion-sensing camera called the Kinect.
The Xbox 360 had a relatively strong modding scene (although compared to the Xbox it was hindered by the need to physically modify the console) and homebrew documentation of the console's GPU, file format, and various other APIs was performed early. Due to the complexity of the system and PCs of the time lacking the needed performance, emulation was slow to develop for this console compared to previous generations, with Xenia being the only serious option since 2013 and developing steadily since then.
Contents
Emulators
Name | Platform(s) | Latest Version | Hardware features and peripherals |
Enhancements | Compatibility | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|
PC / x86 | ||||||||
Xenia | ![]() |
v1.0.2808 canary canary-netplay canary-nukernel |
~ | ~ | 18% 307 out of 1691 tested titles[1] |
✓ | ✓ | ✓ |
Mobile / ARM | ||||||||
DamonXbox360 (呆萌Xbox360模拟器) | ![]() |
Stolen | ✗ | ✗ (stolen from Xenia) | ✓ | ✗ | ||
Consoles | ||||||||
Fission | ![]() ![]() |
Patch based | ~ | ~ | 29% 633 out of 2155 titles |
✗ | ✗ | ✓ |
Xenia | ![]() |
1.1.4 | ~ | ~ | 18% 307 out of 1691 tested titles[1] |
✓ | ✓ | ~ |
Comparisons
- Xenia
- Xenia is the leading hybrid approach Xbox 360 emulator that's made it the furthest. While it isn't nearly as compatible as RPCS3 is for PlayStation 3, impressive performance outshines RPCS3 due to RPCS3's extremely challenging SPU emulation resulting reasonably higher CPU demands. Another reason for performance difference is Xenia utilizes very high-level emulation (HLE) approach for the CPU, while relying heavily on Low-Level Emulation (LLE) for the GPU[2][3]. Due to these approaches and other reasons/optimizations (see Emulation accuracy page): it's making Xenia more reliant on GPU performance instead of CPU (especially compared to RPCS3). But keep in mind that, it's still depends heavily on CPU single thread performance due to graphics API-related calls and focusing solely average CPU utilization percentage numbers may give you false impression[1]. So in summary: just like most other software emulators, CPU's with better single threaded performance will give you better framerates than before (considering you're not hitting GPU bottleneck)[2]. Xenia supports various enhancements and some of the hardware features. For emulation on Linux: see this page. For checking if your games work and any fixes, tweaks, or settings, see compatibility list. For people who follow the dev progress, Android builds in CI don't mean there is anything you can even 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. More information on Xenia Discord in the #dev-android channel under the 'Development' category.
- canary builds compared to the master builds offer improved performance (thanks to chrisps/chrispy, disjtqz, Gliniak, AdrianCassar and other contributors), it has experimental changes that may or may not work, but it also has more functions/tends to work better. Also some of the hardware features and enhancements are currently only available in this fork and its branches mentioned below. Use this repository for game-patches which some of them may fix graphical or performance issues.
- canary-netplay; see Xbox Live page (Xbox 360 section).
- canary-nukernel branch emulates: The six individual hardware threads on the original Xbox 360 CPU, certain kernel timing quirks (clock interrupt update every 1millisecond, "background scheduling"), the kernel's thread scheduler, deferred procedure calls, asynchronous procedure calls (done more accurately than on normal canary, plus kernel ones are supported), much more accurate and portable emulation of synchronization primitives, supports guest objects without creating host objects for them. So certain games that do not work on normal canary can be played on this branch, because the features/quirks they expect are implemented here, but nukernel branch mostly focuses on reimplementing parts of the threading subsystem of the kernel, not io or memory, which are also messed up. Developer of this branch said that: "It really felt like starting from scratch on the kernel side, because for a long time nothing booted on it".[3]
- Fission
- The official emulator on the Xbox One and Xbox Series X/S consoles. There is no "Xbox Live Indie Game & XBLIG" support. Load times are faster, but emulation suffers from input lag due to forced v-sync. Beyond this, Fission supports some of the hardware features.
- Xbox One X and Xbox Series X further improve on the emulation with enhancements like better loading times, framerate, texture filtering, higher resolution and auto HDR in some games. Note that an Internet connection is required to download each game on its first run.
- However, with an November 2021 update Microsoft ended the program and said: "This latest and final addition of 70+ titles to the backwards compatibility program was only possible through the passion and feedback from the community," Microsoft said. "Your constant requests for specific titles and enhancements encouraged the Backwards Compatibility team to partner with the original creators to preserve thousands of games from over four generations of Xbox. While we continue to stay focused on preserving and enhancing the art form of games, we have reached the limit of our ability to bring new games to the catalog from the past due to licensing, legal and technical constraints. Thank you for being part of this journey with us."[4]
Hardware features and peripherals
Name | xenia | Fission | |
---|---|---|---|
Xbox 360 system software | Dashboard and apps | ✗ | ~ |
TrueSkill | ✗ | ? | |
Achievements | ~* | ✓ | |
Xbox Live | ~ | ✓ | |
System Link | ✗* | ✓[N2 1] | |
DVD Drive | ✗ | ~ | |
Xbox Emulation (Fusion) | ✗* | ~* | |
Xbox Live Arcade (XBLA) | ✓ | ✓* | |
Xbox Live Indie Games (XBLIG) | ✗ | ✗ | |
Development Kits | ✗ | ✗ | |
Peripherals | |||
Kinect | ✗ | ✗[N2 2] | |
HD-DVD Player | ✗ | ~ | |
Xbox 360 Memory Card | ✗ | ✗* | |
Portal | Skylanders Portal | ✗ | TBD |
LEGO Dimensions Toy Pad | ✗ | TBD | |
Disney Infinity Base | ✗ | TBD | |
Rock Band 3 MIDI Pro Adapter | ✗ | TBD | |
Microphone | ✗* | ✗[N2 2] | |
Drums and Guitars | ✗ | ✗[N2 2] | |
Big Button Pad | ✗ | TBD | |
LightGun | Top Shot Elite | ✗ | TBD |
Top Shot Fearmaster | ✗ | TBD | |
uDraw GameTablet | ~* | ✗* |
- ↑ Xbox 360 System Link compatible games for Xbox One
Xbox 360 System Link compatible games for Xbox Series S/X - ↑ 2.0 2.1 2.2 Games like the original Guitar Hero and Rock Band series won't work as they require proprietary accessories that aren't compatible, nor do any that require the original Kinect motion camera. Even if you have an Xbox One Kinect still, it is not compatible with previous Xbox 360 Kinect games using Fission.
Dashboard and apps
The Dashboard is a graphical user interface developed for Xbox 360. You can launch various applications from this interface as well. Also supports media streaming (music, photos and videos) with PC using Windows XP MCE with Xbox 360's built-in version 2 Media Center Extender functionality and app. This functionality shouldn't be confused with other standalone Windows Media Center Extender devices or original Xbox Media Center Extender version 1 add-on.
- xenia has no support for dashboard emulation at the moment, though there are several old builds partially supports various dashboard revisions. But keep in mind that you can emulate various Kiosk discs for Xbox 360 such as: "Xbox 360 Retail Kiosk Disc 1.0" for "Blade" interface. Another alternative for this using compilation discs such as: "Xbox Live Arcade" for "Blade" interface and "Xbox Live Arcade Game Pack" for "New Xbox Experience" interface, however all of these discs are partially compatible with latest xenia builds so do not expect perfect experience, see Interactive Kiosk page for more information. Recently xenia-canary developer Gliniak share a video about custom build of xenia-canary he working on for dashboard emulation and further said: "This presents some of functionalities that might be available in Xenia in the future. It's still not perfect, not even close of being fully stable and reliable, but I'm working on it". For more information see xenia discord.
- Fission only supports Xbox 360's Xbox Guide dash menu, Friends/Party and Notifications, other than that, there is no Dashboard interface emulation whatsoever. Some of the Xbox 360 apps supported (Xbox One and Series X/S apps) on the newer consoles though.
TrueSkill
- Xenia do not support TrueSkill at the moment but Heungsub Lee's TrueSkill might implemented to xenia-canary for stats in the not so distant future.
- Fission do not support this feature? Microsoft published the algorithm and have discontinued it's use in the Xbox One. Microsoft is using a new system for the Xbox One.
Achievements
Xenia-canary latest builds support Xbox 360 achievements but only partially; because there is no support for achievement progress, only achievement unlock notifications works. Demonstration
For activating notifications for achievements and using sound and custom font you need to change settings from "xenia-canary.config.toml";
- [UI]
- show_achievement_notification = true
- custom_font_path = "C:\\Users\\USERNAME\\AppData\\Local\\xenia-canary\\YOURFONTNAME.tff"
- [General]
- notification_sound_path = "C:\\Users\\USERNAME\\AppData\\Local\\xenia-canary\\YOURSOUNDFILENAME.wav"
DVD Drive
- xenia has no support for DVD-Video or Xbox 360 format DVD-ROM/XGD3.
- Xbox One and Xbox Series consoles (Fission) have support for DVD-Video, but there is no real support for Xbox 360 format DVD-ROM/XGD3, because it's only recognising the disc, after that it's downloading/installing the game from Xbox Live not from the disc itself.
- See Ripping_games.
Xbox Live Indie Games (XBLIG)
- xenia emulator has no support for XBLIG and unlikely to be feasible in the near future.
- Fission has no support for XBLIG.
Peripherals
Kinect
The Kinect was Microsoft's version of the EyeToy, a camera that also doubled as a motion tracker and microphone capable of detecting gestures and voices in order to play games without a controller. This was in contrast to the Wii with its Wiimote and the PS3 with its PlayStation Move. Despite getting native support on Windows, users have made open-source drivers for it.
- Xenia does not currently have any support for the Kinect[4][5][6]. But you can use No Kinect Patch for Sonic Free Riders.
HD-DVD Player
- Xenia has no HD-DVD support at the moment and as mentioned in the DVD Drive section there is no support for DVD-Video either.
- Xbox One and Xbox Series consoles has no support for HD-DVD. Although as mentioned in the DVD Drive section: DVD-Video is supported.
- See this dedicated page for more information about home media playback support for emulation softwares.
Enhancements
Name | xenia | Fission | |||||||
---|---|---|---|---|---|---|---|---|---|
Graphics | Resizable Internal Resolution | ✓ | ✓ | ||||||
Ultrawide hack Widescreen already supported on Xbox 360 system. But there is no support by system for render games in other ratios such as ultrawide 21:9 and 32:9. |
✓ | ✗[N2 1] | |||||||
Texture Replacement | ✗* | ✗ | |||||||
Ray-tracing (DXR, VRT and MRT) |
Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future. However you can try "Screen-Space Ray Traced Global Illumination" shader using ReShade. Demonstration | ||||||||
Pre-rendering AA (MSAA, SSAA) |
✗[N2 2] | ? | |||||||
Super-resolution techniques (DLSS, XeSS and FSR 2+) |
Requires access to the depth buffer and temporal data like motion-vectors so it's quite challenging and unlikely to be feasible in the near future. | ||||||||
RTX Remix | Implementing RTX Remix technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future. You can use ReShade for post-processing. | ||||||||
Performance | Internal Framerate Hack | ✓ | ✓ | ||||||
Frame generation technologies (LSFG, DLSS-G, ExtraSS and AFMF) |
Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as motion interpolation is quite possible. Input latency will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use after applying the "Internal Framerate Hack". While AFMF or LSFG can be used with xenia, please be aware that some visual glitches and artifacts may occur at this time. | ||||||||
Overclock | ✗ | ✗ | |||||||
Preload optical disc image to RAM For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement might offer smoother experience, potentially reduced power consumption; it also shines when disc images reside on a network drive. Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity. |
✗ | ✗[N2 3] | |||||||
Rendering latency reduction technologies (LatencyFleX, Reflex and Anti-Lag+) |
While most emulators offer frame pacing or framebuffer latency control options, implementing rendering latency reduction technologies isn't currently feasible. This is likely doesn't offer enough benefit to justify the development effort. | ||||||||
Post-Processing | Post-rendering AA (FXAA, TXAA and MLAA/SMAA) |
✓* | ? | ||||||
Post-rendering scaling (Sharp bilinear, Lanczos and FSR 1) |
✓* | ✓[N2 4] | |||||||
Filters | ✗ | ✗ | |||||||
AI-powered filter compatible (Freestyle) |
? | ✗ | |||||||
Shader Chain | ✗ | ✗ | |||||||
Inverse tone mapping compatible | ? | ✓* | |||||||
TAS features | Macros/Scripts/Lua | ✗ | ✗ | ||||||
Rewind | ✗ | ✗ | |||||||
Fast-Forward/Turbo Speed | ✗ | ✗ | |||||||
Savestates/Snapshots | ✗ | ✗ | |||||||
Movie recording/playback | ✗ | ✗ | |||||||
Controls | Mouse Injector Compatible | ✓* | ✗ | ||||||
Input lag-mitigating technique | ✗ | ✗ | |||||||
Quality of life | Streamable compression format | ✓ | ✗ | ||||||
Built-in Graphics mod editor/manager | ✗ | ✗ | |||||||
Built-in Cheat Manager | ✗ | ✗ | |||||||
Per-Game Profiles | ~[N2 5] | ? | |||||||
Command Line Options | ✓ | ? | |||||||
Built-in Custom resolution/CRTSwitchRes For using this on Windows OS you need CRT Emudriver. Another option is using EDID editor tool such as "Custom Resolution Utility". |
✗ | ✗ | |||||||
Variable Refresh Rate compatible | ✓ | ? | |||||||
Big Picture Mode | ✗ | ✓ | |||||||
Misc | RetroAchievements | ✗* | ✗ | ||||||
EmuVR support | Exclusive to libretro cores. So there is no support at the moment. | ||||||||
Free Look Free Look is a enhancement feature that allows manipulation of the in-game camera. |
While freecam would be technically possible, it will require per-game patches. Said patches would require a significant amount of time to reverse the game's engine, which means that only someone talented with enough dedication to a single game could do it. | ||||||||
Debug features | ~[N2 6] | ✗ |
- ↑ Only supports official 16:9 widescreen supported titles, no support for 21:9 or 32:9 ultrawide enhancements.
- ↑ This enhancement feature shouldn't be confused with Xbox 360's native 2x/4x MSAA.
- ↑ Fission has no Preload image to RAM enhancement but it has better loading times than the original hardware as mentioned in #Comparisons section.
- ↑ It uses bilinear filtering resulting blurrier image.
- ↑ Using per-game setting for each game in Xenia requires creating a separate "xenia.config.toml" file for each one and launching them manually through a batch script or command line.
- ↑ Xenia has debugger but there is no documentation, and it is very difficult to understand how it works. See xenia discord dev channel for more information about debugging.
Emulation issues
[Xenos] was a playground for experiments — it was developed near the end of the Direct3D 9 era, but still before Direct3D 10, and contained many features not standardized or even available at all on the PC, but when they ended up on the PC, the actual implementation could be significantly different; it also included completely unique features. [...] Contrary to a common misconception, the Xbox 360 [isn't] just a “DirectX 9 box”. It essentially contains a [tile-inspired] mobile-like GPU with much more raw power than a comparable mobile GPU. If you compare the registers of the Xenos and the Qualcomm Adreno 200, you can see that most of them are the same, as they are almost the same GPUs — the Adreno 200 was called the AMD Z430 before having been acquired by Qualcomm and was even referred to as the "mini-Xenos"!"
-Triang3l[5]
Despite being one of the most popular seventh gen home console, due to requiring a large number of resources as well as the hardware not being properly documented yet[6], Xbox 360 emulation currently isn't at a point where people can reliably emulate most of the game library. Xenia is making slowly but surely progress on that front, but development has unfortunately lost momentum in recent years, with updates becoming less frequent. That, plus the fact that Microsoft's own implemented official emulation (Fission) of the system through the Xbox One and Series S/X ended with an November 2021 update. So, as mentioned above: while playable titles exists, Xbox 360 software emulation hasn't yet reached a point of something like PlayStation 3 or Wii U emulation, currently remains in its early stages, with limited compatibility and requiring patience/experimentation.
For more information about Xbox 360 system and reverse engineering;
- Rodrigo Copetti: Xbox 360 Architecture Analysis
- Xenon Wiki
- emoose: xbox-reversing - Information & parsers for some under-documented Xbox360 structures/file formats (STFS/GDFX/XDBF/XEX...)
- rexdex: recompiler and references list
- Xenia Discord server (For general and development discussions on Xbox 360 emulation, especially for xenia and xenia-canary)
- Mesa gallium R300~R500
- Open-Source "Terakan" Vulkan Driver For Radeon HD 6000 Series Shown On Windows - Vitaliy Kuzmin "Triang3l": TeraScale GPUs working on Vulkan and leveraging the Mesa codebase.
- MVG: Xbox 360 Emulation on the PC with Xenia takes a huge step forward, Why Microsoft switched from Intel to Power PC for the Xbox 360, The Story of Xbox 360 PartnerNet Game Leaks, How a Mini drill tool defeated security on the Xbox 360, How the Xbox 360 Hypervisor Security was Defeated, Why YOU need a Modded Xbox 360 in 2018, The Xbox 360 is still awesome in 2019, Xbox 360 Blades Dashboard
- Digital Foundry: Xbox Series X: Auto HDR Mode Tested - What Works and What Doesn't, FPS Boost For Xbox 360 Games, Xbox Series X Backwards Compatibility Tested
- Feature tracker: Vulkan-based GPU emulation implementation. Also see this discord conversation if you're interested Vulkan backend for Xenia.
See also
External links
References
- ↑ 1.0 1.1 Xenia GitHub repository issue page filtered by "state-playable", "state-gameplay", broken games, require Xbox Live Account Sign-in, "state-nothing". Also, there is another compatibility list tracker for Xenia Canary and Xenia emulator on Xbox consoles.
- ↑ Rick's xenia discord message about LLE and HLE
- ↑ chrispy's comments about xenia's approach
- ↑ https://www.gamespot.com/articles/xbox-backwards-compatibility-adds-70-more-games-today-as-microsoft-ends-the-program/1100-6498021/
- ↑ Triang3l (April 27, 2021). Leaving No Pixel Behind: New Render Target Cache, 3x3 Resolution Scaling & Three Years in Xenia’s GPU Emulation. Xenia.
- ↑ Building an Xbox 360 Emulator