Changes

Jump to navigation Jump to search

XQEMU

156 bytes added, 08:51, 5 January 2019
ce
|source = [https://github.com/xqemu/xqemu GitHub]
}}
'''XQEMU''' is an open-source, [[High/Low level emulation|low-level]], multi-platform [[Xbox emulators|Xbox]] and Sega Chihiro <small>(WIP)</small> emulator based off of [[QEMU]], a general-purpose computer emulator and hypervisor. What makes this emulator different from other attempts at Xbox emulation is the use of low-level emulation, while previous attempts at Xbox emulation used high-level emulation. This comes with its own benefits and downsides in comparison, but it has quickly lead to higher [[Emulation Accuracy|accuracy]] and greater compatibility.
==Downloads==
XQEMU does not come with an Xbox specific GUI and needs a separate frontend for GUI features.
*[https://github.com/xqemu/xqemu-manager '''Official frontend: XQEMU-Manager'''] (Official frontend by XQEMU developers (. Python script; GUI only)
Unofficial frontends are also available:
==Overview==
XQEMU is under active development, and is accepting contributions by anyone.
===Emulator===XQEMU is currently the most accurate open-source Xbox emulator. Many games work correctly in XQEMU, but there are performance issues in many games. Due to the small number of contributors, the focus of development has always been on accuracy, but sometimes there are occasional performance improvements. As more developers contribute to the project and emulation matures, the focus will shift to performance. The developers are always looking for more contributors to help the Xbox get emulated.
XQEMU is the most accurate and most compatible open-source Xbox emulator.Many games work correctly in XQEMU, but there are performance issues in most some games.Due to the small number of contributors, development focus has always been accuracy, but there's occasional performance improvements.As more developers contribute to the project and emulation matures, focus will shift to performance. mborgerson has, since March 24, 2018,<ref>mborgerson. [https://github.com/xqemu/xqemu/commit/49f1a7ccfaf105536cd30587254fb555e4ac1e3c Add hw/xbox from xqemu]. GitHub.</ref> begun work on rebasing XQEMU on the latest QEMU tag, "[bringing] many years of performance enhancements to xqemu including support for native virtualization APIs."<ref>[https://github.com/xqemu/xqemu/blob/xbox-2.x-rebase/README.md README.md]. GitHub.</ref> The rebase branch, which was merged into Master on June 2018, incorporated over 30,000 commits from QEMU that were never merged over the years. Work continues to reinstate 3D rendering.Shortly after, the codebase was rebased to QEMU 3.0.0. XQEMU supports CPU virtualization to improve emulation performance, at a minor loss of compatibility:. The only implementation that's working right now seems to be KVM, at no fault of the emudevs.
* Windows: WHPX (broken, awaiting fixes by Microsoft), HAXM (broken, awaiting fixes by Intel)
* macOS: HVF (broken, awaiting fixes by Apple), HAXM (broken, awaiting fixes by Intel)
* Linux: KVM (working)
KVM has been supported in QEMU since 2013 and is the only stable CPU virtualization at the moment. With the rebase to QEMU 2.x and 3.x in 2018, support for other CPU virtualization became technologies has become possible. HVF changes were contributed by espes. Additionally, active Active development of HAXM, WHPX and HVF has made them more compatible with XQEMU, but problems remain. Problems were reported to Issues have been filed in the respective projects and testing continues.Throughout September 2018 and later, mborgerson has been showcasing [https://www.youtube.com/watch?v=Si_RAtA7eAQ KVM] for Linux-based systems and [https://www.youtube.com/watch?v=y617eSRogdI HAXM] for Windows & and macOS systems in XQEMU. They provide decent performance boosts to games such as Halo: Combat Evolved but still weren't enough to run them at full frame rate speedsspeed.
In June 2018, mborgerson created a new website for XQEMU at xqemu*[https://docs.google.com; xbox7887 contributed xqemu.org as alternative domain/spreadsheets/d/1sVtQ9SNPathKAMCqfYtvJQP0bs0UeLzP9otPHvZDMwE/htmlview#gid=709879345 New compatibility chart] (1000+ games)*[http://xboxdevwiki.net/XQEMU Old compatibility chart] (Taken from John GodGames' 2015 list)
In June 2018, JayFoxRox released nv2a-trace, to debug and compare Xbox GPU behaviour, to XQEMU graphics emulation.This has quickly lead to bug-fixes and allows other developers to gain a better understanding about the Xbox GPU.===History===
In July mborgerson has, since March 24, 2018, JayFoxRox improved XQEMUs controller emulation<ref>mborgerson. [https://github.com/xqemu/xqemu/commit/49f1a7ccfaf105536cd30587254fb555e4ac1e3c Add hw/xbox from xqemu]. GitHub.</ref> begun work on rebasing XQEMU on the latest QEMU tag, "[bringing] many years of performance enhancements to xqemu including support for native virtualization APIs."<ref>[https://github.com/xqemu/xqemu/blob/xbox-2.x-rebase/README. More than 20 games md README.md]. GitHub.</ref> The rebase branch, which was merged into the master branch on June 2018, incorporated over 30,000 commits from QEMU that were affected by this changenever merged over the years. The standard controllers are emulated with no known issues nowShortly after, the project was rebased again to QEMU 3.0.0. Work continues to reinstate 3D rendering.
In June 2018, mborgerson created a trivial bug in the network emulation new website for XQEMU at xqemu.com; an alternative domain, xqemu.org, was identified contributed by xbox7887. That same month JayFoxRox released nv2a-trace to debug and mborgerson. Since this patched, System-Link is supported.System-Link has been tested compare GPU behavior between different instances of XQEMU, the Xbox and XQEMU . This has quickly lead to bug-fixes and physical allows other developers to gain a better understanding about the Xbox consolesGPU.
In late July 2018, mborgerson introduced a new texture cache, which improves the performance of JayFoxRox improved controller emulation in XQEMU. More than 20 games were affected by this change. The standard controllers are emulated with no known issues now.
In December 2018, a trivial bug in the network emulation was identified by JayFoxRox and mborgerson. Since the patch, System-Link has started integration been supported. It's been tested between different instances of audio emulation for XQEMU. This work is based on his 2017 research , and between XQEMU and prototypes. Additionally, many DSP related tools to assist further development were created, to attract more developersXbox consoles.
In December late 2018, mborgerson made introduced a prototype for new texture cache to improve the performance changes. This included a prototype for surface-caching, which greatly enhances visual quality and performance. That work has not been integrated into the official version yetof XQEMU.
In December 2018, JayFoxRox started integrating audio emulation into XQEMU. This work is based on his 2017 research and prototypes. To attract more developers, many DSP-related tools were created to assist further development. That same month, mborgerson made a prototype for performance changes including the implementation of surface-caching, which greatly enhances visual quality and performance. That work has not been integrated into the official version yet.
*[https://docs.google.com/spreadsheets/d/1sVtQ9SNPathKAMCqfYtvJQP0bs0UeLzP9otPHvZDMwE/htmlview#gid=709879345 New compatibility chart] (1000+ games)*[http://xboxdevwiki.net/XQEMU Old compatibility chart] (Taken from John GodGames' 2015 list) ===Official Frontend=== In May 2018, mborgerson created XQEMU-Manager, the official frontend for XQEMU.This was done to make XQEMU easier to use, and to combat the rise of many competing unofficial user interfaces.XQEMU-Manager is accepting contributions by anyone.=
In October May 2018, Thrimbor added support for adding custom command line options mborgerson created XQEMU-Manager, the official frontend for running XQEMU. This was primarily done to work-around lack make XQEMU easier to use, and to combat the rise of input configuration optionsmany competing unofficial user interfaces. Much like the main project, it was based on earlier concepts XQEMU-Manager is also accepting contributions by JayFoxRox and draccanyone.
In October 2018, Thrimbor added support for adding custom command-line options for running XQEMU. This was primarily done to work around the lack of input configuration options, based on earlier concepts by JayFoxRox and dracc. Thrimbor also added an option to enable CPU virtualizationthat same month. It only allows HAXM on Windows / macOS, and KVM on Linux. HVF and WHPX are were not supported, due to stability issues.
In November 2018, Thrimbor added support for basic input configuration.
In December 2018, Thrimbor added support for configuring emulated memory units.
====Related projects====
In June 2018, mborgerson created a [https://github.com/xqemu/xqemu-hdd-image copyright-free Xbox HDD Imageimage]. It is 's fully functional for most use-cases and an alterantive can be considered a viable alternative to real Xbox HDD using imagesfrom hardware.
In October 2018, mborgerson made xqemu-kernel, an attempt at an open-source Xbox kernel as HLE alternative. It is 's currently considered a prototype and not isn't functional. It is , and it isn't currently not hosted as part of the offical official XQEMU ecosystem either.
espes and JayFoxRox initiated formed XboxDev, an organization dedicated to for researching and documenting the hardware for the original Xbox and Chihiro.Many XQEMU developers are also active members and contributors to XboxDev projects.As a result, most development tools developed for XQEMU, are hosted by XboxDev.
==Running==
 Follow the latest official instructions at [https://xqemu.com/getting-started/ xqemu.com/getting-started/].
==References==
*[https://github.com/xqemu/xqemu/tree/xbox-2.x-rebase Upcoming official XQEMU branch re-based on latest QEMU tag]
*[https://github.com/JayFoxRox/xqemu-jfr/wiki Old Wiki for developers (JayFoxRox's branch)]
*[https://github.com/XboxDev/XboxDev XboxDev for Xbox documentation] (Contributors from many Xbox -related projects including XQEMU and Cxbx-Reloaded) <!-- Why is this here? It's not emulation specific; it was merely initiated by JayFoxRox and espes. A) useful resource for new programmers keen to learn more about & improve Xbox emulation. Main Xbox page here has 2 links to games compat & emulators lists at this wiki.-->
*[http://webchat.freenode.net/?channels=%23xqemu Official XQEMU IRC chat channel on freenode]
*[https://discordapp.com/invite/WxJPPyz XboxDev Discord chat channel] (For discussions on Xbox emulation development)
927
edits

Navigation menu