Guide: Xbox Series S/X and Xbox One Emulation

Last updated: 16SEP2021 (see Changelog for details)

In my quest to find great emulation at a budget price, the idea of running games on the Xbox series devices recently came on my radar. Considering that the Xbox Series S retails for $300, I decided to pick one up and test its performance against a similarly-priced PC, and the results are fantastic.

In addition to running classic games up to PS2 with higher resolutions, you maintain all of the functionality of the retail Xbox, and the whole endeavor is completely legal and available through Xbox’s Dev Mode process (after a $19 fee). It does take some configuration to get set up, and so this guide will help you through that process and get you well on your way for all the retro gaming your heart could desire.

There are other ways of playing retro games on your Xbox, to include getting whitelisted for an app store that launches a fork of RetroArch from the retail Xbox side, as well as a program called Tnavigator. But the use of these apps is a little sketchy since they circumnavigate Microsoft’s Dev Mode, and so for this guide we will only focus on the Dev Mode process and official RetroArch releases.

This guide would not be possible without the excellent work done by Ryan over at Archades Games, whose Xbox emulator tutorials are comprehensive and relevant. Many of the files used in this guide (including the reverted versions of RetroArch cores for PS2) are borrowed from his tutorials. For further exploration of specific systems, I recommend checking out his channel, and consider contributing to his Patreon page.

Note that this guide will work on Xbox One consoles too, but will require a different DevKit Activation app (more info in that section of the guide). All other parts of this guide apply. Performance will be worse than on the Xbox Series consoles; while I haven’t tested it myself, I have been told that the Xbox One is more than capable of playing Dreamcast and below.

If you’re on the fence about whether the Xbox Series S is worth the investment for game emulation, check out this video above, where I will walk you through the experience of buying, setting up, and gaming on this device from a retro gamer’s perspective. Ready to get started, let’s jump into the guide.

Table of Contents
Set up developer mode
Enter developer mode
Download and install RetroArch
Set up Retro Arch
Map the Xbox as a network drive
Reconfigure RetroArch directories
Adding BIOS and game files
Notes on storage and loading games from a USB drive
Create games playlists
Recommended RetroArch cores
Updating RetroArch
Nintendo GameCube
Nintendo Wii
Sony PlayStation Portable
Sony PlayStation 2
Leave developer mode

Changelog

Set up developer mode

  • On your computer, head over to the Microsoft Partner page. Here, navigate to the Development Programs section and click on the Windows and Xbox option. Fill out the registration details, and pay $19 for the individual account type. Once complete, you will be taken to the developer dashboard.
  • Now that you are registered on your PC, head to the activation URL and it will take you to a “Manage Xbox consoles” section. In the top-right corner, click on the “+” icon and it will prompt you to enter an activation code. Let’s head over to the Xbox and get that set up.
  • On your Xbox, search for the app “Xbox Dev Mode”. It will have a green icon that says “Devkit Activation”. Download and install this app. Note: if using an Xbox One console, it will be a different app; just grab the app that has an icon that matches your device!
  • Open the Devkit Activation app, and it will greet you with a welcome page. Go through the prompts until it asks you to activate your account via a six-digit alphanumeric code. Enter this code into your PC on the activation page and select “Submit”. If you’d like, you can add a device name for your Xbox at this time.

Enter developer mode

  • Back on the Xbox, you will be prompted to switch to developer mode by restarting your device. Let’s go ahead and do that. As a heads up, any time you want to boot into developer mode you will want to open the Xbox Dev Mode app and reboot from the main Xbox interface. The first time you boot into Dev Mode it may take a while.
  • Depending on your TV/monitor setup, a pop-up may ask you to enable advanced video features — go ahead and enable that. Note that you will also need to be connected to your home network for the rest of this tutorial, so if you are not already connected (I recommend an ethernet connection if possible), then go into Settings and set up your network connection.
  • Next, let’s expand the storage partition for Dev Mode, to give us space to load retro games. Press the START (MENU) button on the controller and select “Manage dev storage” from the sidebar that appears on the left. Here, adjust the dev storage to whatever you’d like it to be. If you plan on playing PSP, PS2, or GameCube/Wii games, I recommend allocating at least 100GB for dev storage. Note that in order for this expansion to work, you need at least 50GB of storage space available on your Xbox altogether — so if you run into any expansion issues, delete a couple Xbox games from your device before trying again. It will prompt you to restart your device. Note that this reboot will wipe any apps/installs on your dev mode side when adjusting the storage size — not an issue if this is your first time, but something to be aware of if you want to adjust later on down the line.
  • Once back on your Dev Mode dashboard, on the bottom-right of your dashboard will be a section entitled “Remote Access”; select the Remote Access Settings option and ensure that the “Enable Xbox Device Portal” option is checked. Under the Authentication header, check the “Require authentication to remotely access this console from the web or PC tools” option and then set a username and password in the option below.
  • Make note of these two addresses on your Xbox:
https://XBOX:11442 (note that the numbers will likely be different)
https://192.168.1.137:11443 (note that the numbers will likely be different)

Download and install RetroArch

  • Head over to the RetroArch downloads page and navigate to the “Xbox Series/One” section. Download the latest UWP (it will be labeled as simply “Download”).
  • In your web browser, type in one of the two URLs that appeared in your Dev Mode dashboard (either the one that starts with “XBOX” or the IP address) and press ENTER. You may get a prompt saying that your connection isn’t private, just select ADVANCED and then continue to the address. It will then ask you for the username and password you set up in your remote access settings earlier.
  • Once connected to the Xbox Device Portal, you will be taken to a “My games & apps” menu. Click on the “Add” button and then navigate to wherever you saved your RetroArch UWP file.
  • Click on the “Start” button and it will now install RetroArch onto your Xbox. Once complete, select DONE and you should now see the RetroArch app in your “My games and apps” list.

Note: If your console freezes during installation, do a hard reboot of your Xbox and try again. I recommend Microsoft Edge if you are on a PC and run into any browsing issues.

Set up RetroArch

  • Back on your Xbox, under the “Games and Apps” header you should now see the RetroArch app. Hover over the app and press the SELECT (VIEW) button and select “View Details from the drop-down. Here, change the app type from “App” to “Game”, to give you more resources to run games with the best performance. Reboot your Xbox just to ensure the app type change will take effect.
  • Launch the RetroArch app. At this point it will ask you to sign into your Microsoft account, use the same account that is associated with Dev Mode.
  • RetroArch will launch as a barebones app, which needs some configuration:
    • Go to Main Menu > Online Updater > Update Assets to download and install fonts, backgrounds, etc.
    • While still in the Online Updates section, also select these options: Update Core Info Files, Update Controller Profiles, Update Cheats, Update Databases, and Update Slang Shaders.
    • Go to Main Menu > Settings > Drivers > Menu and select whatever Menu Driver (theme) you like. I prefer XMB, and I think it’s funny to show a PS3-style theme on an Xbox.
    • Go to Main Menu > Settings > Hotkeys and under Menu Toggle Controller Combo, select an option. I prefer “Hold Start (2 seconds)” but you could also select something like L3+R3. Alternatively, you can assign a button to Hotkey Enable (SELECT is the standard option) and then set other hotkeys like Close Content, Enable Menu, Show Framerate, etc.
    • Go to Main Menu > Settings > User Interface > Menu Item Visibility and disable any menu items that you don’t need, such as Explore, Images, Music, Favorites, etc.
    • Once you have made your adjustments, go to Main Menu > Configuration File > Save Current Configuration to lock in your changes.

Map the Xbox as a network drive

One handy feature is that you can map a network drive for easy access to your Xbox’s internal storage.

  • Back on your PC, go into the Xbox Device Portal, select the “File Explorer” option on the left sidebar, and then click the “Browse” option on the right side of the page.
  • A pop-up will appear, and under the “If you don’t ever want to enter credentials” section, copy that line of code that starts with cmdkey.exe and paste it into the Command Prompt app on your Windows PC, then press ENTER and it will add your credentials for you.
  • In a File Explorer window, copy and paste the \\xbox\DevelopmentFiles address and you should now connect to your Xbox automatically; you will see a folder named “WindowsApps” which will lead to the RetroArch folder.
  • You can also map the DevelopmentFiles folder to a network drive for easy access. In the File Explorer, click on “Map Network Drive”, then fill in the following information and select “Finish” once complete:
Drive: whatever drive letter you want to assign to your Xbox (maybe "X"?)
Folder: \\xbox\DevelopmentFiles

For Mac users, the process is similar (use Chrome for best results):
Open Finder and in the top Menu Bar, navigate to Go > Connect to Server (or type CMD+K)
Type in the address are follows: smb://xbox/DevelopmentFiles
Click the “+” button to save the connection
Enter your credentials

  • From your computer, access the Xbox folder and enter the RetroArch folder. It may be hard to identify since it’ll mostly be letters and numbers, but you will be able to identify it by the RetroArch version number (e.g. 1.9.9.0) and “x64”.
  • Within this folder, make a series of subfolders, which will be handy when backing up and restoring important files when upgrading RetroArch in the future:
    • Games (for game files)
    • System (for BIOS files)
    • Config (for configuration files)
    • Saves (for in-game saves)
    • States (for save states)
    • Playlists (for…playlists)
    • Thumbnails (for…thumbnails)

Reconfigure RetroArch directories

Since we made all those subfolders, let’s point RetroArch to use those folders.

  • Go to Main Menu > Settings > Directory and choose one of the directories to change, let’s start with BIOS.
  • Navigate to S: > Program Files > WindowsApps > (really long RetroArch folder name) > System > Use This Directory
  • Repeat these steps for each of the subfolders we created earlier (except the Games folder, that one isn’t necessary). Now, when we update RetroArch to a new version, we can move those subfolders into the new RetroArch directory, re-assign these Directory locations, and be able to access all of our games, saves, playlists, and thumbnails in the new version of RetroArch.
  • Once you have made your adjustments, go to Main Menu > Configuration File > Save Current Configuration to lock in your changes.

Adding BIOS and game files

BIOS files are necessary system files for certain consoles to run properly. Examples of systems that will not run without BIOS include PlayStation 1, PlayStation 2, GameBoy Advance, and Sega CD. BIOS files cannot be shared due to copyright, so you are on your own to dump them from the original console or to find backups via the internet. Here is more information about BIOS files.

Note that some systems, like GameCube/Wii, PSP, and PS2, also need (free and legally available) system data files in order to properly run. Links and instructions to those are further below in this guide, in the respective GameCube, Wii, PSP, and PS2 sections. It’s as easy as downloading some files, renaming a couple folders, and dropping them in the appropriate spot.

Here is a list of recommended BIOS files for maximum gaming fun:

SEGA CD:
bios_CD_E.bin
bios_CD_J.bin
bios_CD_U.bin

FAMICOM DISK SYSTEM:
disksys.rom

GAME BOY (for boot logo):
gb_bios.bin

GAME BOY COLOR (for boot logo):
gbc_bios.bin

GAME BOY ADVANCE:
gba_bios.bin

NEO GEO:
neogeo.zip

PLAYSTATION:
scph1001.bin

PLAYSTATION 2:
see PS2 section

TURBOGRAFX-CD:
syscard1.pce
syscard2.pce
syscard3.pce

Once you have collected your BIOS files, you will want to add them to the System folder that you created in this step.

You have two options when adding games. You can add them to the Games folder you created in this step, or you can load (most of) them onto an external thumb drive or USB external hard drive. Let’s explore this concept in the next section.

Notes on storage and loading games from a USB drive

Most RetroArch games can actually be booted from a USB thumb drive or external hard drive. To do so, load up your games onto a USB drive (formatted for NTFS or exFAT) and simply plug it into your Xbox, and when prompted, select the drive as a “media” drive. Then you can navigate to that location when you load up your games in RetroArch. The USB drive will be found in a different drive letter, usually the E: drive. You can also make a new Playlist that reads the USB drive so that you don’t have to navigate to the game folder each time.

Loading games from a USB drive will take longer than on the internal storage; for example, GameCube games can take up to two minutes to load on a spinning USB HDD compared to the internal storage, which will only take a few moments to load. That’s because the game has to be moved over to the internal storage before booting.

One limitation is that games that are larger than 3GB need to be moved to the internal storage in order to properly boot. So if you plan on using an external drive for retro gaming, just bear in mind that nearly every Wii and PS2 game will need to be stored on the internal storage. But for GameCube and below, external storage is a nice way to maximize capacity.

Note that this RetroArch external drive cannot be used to store and launch Xbox games, since it is formatted for “media”. If you plan on using the Xbox for both Dev Mode and retail gaming, and want the most convenient setup for a larger Xbox library, you may want to consider the official Seagate 1TB storage expansion card for the Xbox Series models. At $220, it’s nearly the cost of the Xbox Series S itself, and this additional storage cost may be a good incentive to consider the Xbox Series X, since it is quite a bit more powerful than the Xbox Series S, can play disc games, and comes with 1TB of onboard storage.

You can also use a regular external HDD/SSD to load and launch Xbox games (it will need to be formatted on the Xbox when first plugged in), but it will not boot Xbox Series games or optimized/upgraded Xbox One games directly from the external drive; those files will be moved over to the internal storage first before booting. But if you have a large collection of Xbox One and Xbox 360 games, this drive could be helpful.

Create games playlists

There are two methods for creating playlists in RetroArch:

  1. Scan Directory. This is the most straightforward way to make playlists, and is best for systems with unzipped ROMs that have distinct file types (like .nes games). With this option, you will navigate to the folder that contains your ROM files, then select “Scan this Directory”. RetroArch will then recognize and scan the directory for games, and assign the console and assets to that system. You should then see it in your playlist. Note that it has been reported that this option with the Xbox RetroArch build in particular has some weird bugs to it, so I would recommend taking the time to do manual scans anyway.
  2. Manual Scan. This is the preferred way to scan your directories because it gives you more control. Here is the breakdown:

Content Directory: navigate to your ROM folder and select “Scan this Directory”

System Name: select the system name you want to associate with your playlist

Custom System Name: use this if you want to use a special name for this playlist. Note that you will also need to set your “System Name” to “Custom” for this to work

Default Core: select the core you want to associate with this play list. Afterwards you can assign a different core to specific games by selecting the game and choose “Set Core Association”

File Extensions: add in all of the file extensions you want to scan for your console. You can leave this blank if they are all the same (e.g. zip files for arcade games), but for the most part it’s helpful to add these in, especially if you are using several file types. Separate each file extension with a space (no comma), like this for Dremcast: cdi, gdi, chd

Scan Recursively: turn this on if you want to scan subfolders too

Scan Inside Archives: this will scan the files within the zip file, whether you want this on will depend on the system you are scanning. You will want this off if scanning arcade games

Arcade DAT File: this is important if you are scanning arcade games, because it will associate your zip file (“simps2pj”) with a full file name (The Simpsons). To set this up, head to this page and download the latest FBNeo dat file (it works for MAME also). Then save this file somewhere that you can access on your Xbox, and choose it when at this part of the menu

Arcade DAT Filter: with this selected, only arcade games that appear in the DAT file will show up in your playlist. Generally you want this setting OFF

Overwrite Existing Playlist: this will overwrite anything already in the playlist. You generally want this OFF if you are just adding new games to your playlist

If you want thumbnails to appear next to your games, you need two things: 1) the files must be named according to the “No Intro” standard (e.g. “Super Mario Bros. 3 (USA)”) and 2) go into Online Updater > On-Demand Thumbnail Downloads > ON so that they will download when you browse through your playlist. Alternatively, you can manually scan each playlist in the Online Updater section instead.

Recommended RetroArch cores

Many systems have multiple cores available. Here are the ones that I personally use:

Arcade (fighting games and CPS): FinalBurn Neo
Arcade (Neo Geo): FinalBurn Neo
Arcade (80s and 90s): MAME 2003-Plus through MAME - Current
Arcade (mid to late 90s): MAME 2010 or later
MS DOS: DOSBox-Pure
Panasonic 3DO: Opera
Atari Jaguar: Virtual Jaguar
Nintendo DS: melonDS
Nintendo GB: Gambatte
Nintendo GBC: Gambatte
Nintendo GBA: mGBA
Nintendo NES: FCEUmm
Nintendo SNES: Snes9x (Current)
Nintendo 64: Mupen64Plus-Next
Nintendo GameCube: Dolphin
Nintendo Wii: Dolphin
Sega Game Gear: Genesis Plus GX
Sega Genesis: Genesis Plus GX
Sega CD: Genesis Plus GX
Sega 32x: Picodrive
Sega Saturn: Yabasanshiro
Sega Dreamcast: Flycast
Sony PlayStation: DuckStation
Sony PlayStation 2: PCSX2
Sony PSP: PPSSPP

Note that arcade gameplay is tricky. You need to have a matching romset for your core. Downloading individual arcade games from random sites and booting them into a core will likely result in crashes. Instead, find a romset that matches the core you want to use; I recommend “non-merged” romsets since that means each individual file will boot regardless of having any parent/clone zip files associated with it.

Updating RetroArch

On your PC, access the Xbox file system. If you’ve created distinct directories for your RetroArch folders (System, Playlists, etc.) the first step is to move all of those folders into a different folder on your Xbox (outside of the current RetroArch folder, like the root of the DevelopmentFiles folder). You can also copy your “Config” folder but I would recommend only saving the core subfolders and not the full system config, since that could create compatibility issues with future RetroArch installs. This means you will have to re-do your hotkey mapping and other global RetroArch configuration, but will future-proof your updates.

Next, on your Xbox Dev Mode dashboard, hover over the RetroArch selection and press the SELECT/BACK button and choose “Uninstall”. Then download the latest version of RetroArch for Xbox from their website and install RetroArch via the Xbox Device Portal (demonstrated earlier in this guide). Once installed, press SELECT/BACK and “View Details” and associate the app as a game, like you did when first installing RetroArch. Restart your Xbox.

On your PC, access the Xbox file system and move over all of your folders (Systems, Playlists, etc.) into this new RetroArch folder (it will now have the new RetroArch version number in the folder name).

Back on the Xbox, launch RetroArch and follow the initial setup steps again: update assets and other files, then go into your settings and re-associate your folders within the Directory again (for things like BIOS, Thumbnails, etc.), and also set your hotkeys, and so on (detailed earlier in the guide). Be sure to Save Current Configuration to keep all those settings, then restart RetroArch.

All of your Playlists should now appear. If you have playlists that used internal storage (like Wii and PS2 playlists), you will need to delete those playlists and make new ones, since they will point to an older RetroArch directory that doesn’t exist anymore.

Nintendo GameCube

To run GameCube games on the Xbox, we need to run it via the Dolphin RetroArch core. This does require some preconfiguration.

  • Click on this link to download the dolphin-master.zip database file directly from Libretro (the makers of RetroArch). Unzip this folder, then navigate to the dolphin-master > Data > Sys folder, where you should see a bunch of txt files and other folders. Rename the “Data” folder to “dolphin-emu” and rename the “Sys” folder to “sys” (lower case). Place this new “dolphin-emu” folder into the System folder within your RetroArch installation (which should be X:/WindowsApps/[long RetroArch folder name]/System)
  • Add your games directly to the internal storage on your Xbox, or boot the games via USB drive. USB drive games will take longer to load.

Configuration tips:

  • In the GameCube Quick Menu > Options section, consider the following options:
    • EFB Scale: this is the internal resolution of GameCube games. Xbox Series S/X consoles can likely upscale to at least 3x resolution for GameCube games, but certain games will fare better than others. Note that the latest build of RetroArch doesn’t output to 4K, so upscaling beyond 1080p may not have any visual benefit.
    • CPU Clock Rate: if you have a game that cannot run at full speed, consider lowering the clock rate to below 100% to improve gameplay (at the expense of FPS). This will improve audio for games with stuttering.
    • Widescreen: make sure this is selected as ON to support widescreen-capable Wii games.
    • Widescreen hack: this will hack certain titles to display in widescreen, but in other titles it will force the game into stretched 16:9 aspect ratio. This feature works well with some games, but not with others.
    • Audio Mixer Rate: set this to 48000 for improved audio with a tiny hit to performance
    • OSD enabled: set this to OFF if you don’t want to see the yellow on-screen text while playing games

Gamecube (and Wii) multiplayer:

By default, split-screen multiplayer will not work on GameCube or Wii, but it is an easy fix. Access the RetroArch saves folder (which should be located at X:/WindowsApps/[long RetroArch folder name]/saves) and navigate to User > Config > Dolphin.ini file, and open this file with a text editor like Notepad. Set the following configurations:

SIDevice0 = 6
SIDevice1 = 6
SIDevice2 = 6
SIDevice3 = 6

Save the Dolphin.ini file, then return to RetroArch. You should now be able to play split-screen multiplayer GameCube and Wii games.

If you are having issues with GameCube games properly displaying, go into Main Menu > Settings > Video > Drivers and make sure that “d3d11” is selected as the video driver. Sometimes, when PPSSPP crashes, it will revert to the “gl” video driver, which will break GameCube, Wii, and PS2 video.

Nintendo Wii

Wii games larger than 3GB in size will need to be placed on the internal Xbox storage, but anything less than that can be loaded from a USB drive. Place the large files in the X:/WindowsApps/[long RetroArch folder name]/Games folder. Note that if you have internally and externally stored games, you will need to run the RetroArch playlist scan for each folder in order to have a complete playlist.

Control configuration:

  • When first loading up Wii games, it will be set to the incorrect input device type. Go into Quick Menu > Controls > Device Type and change it from RetroPad to whatever you need to use for that specific game (Wiimote + Classic Controller, for example). Once you have that set up, go back into Controls > Save Game Remap File so that this control setup will only be applied to that game.
  • When using a game that supports a GameCube controller, keep it on “RetroPad”. No other configuration is necessary.
  • When using the Classic Controller setup, go into Options > Wiimote IR Mode > Mouse Controls Pointer so that you can properly use the right analog stick. Then go into Manage Core Options > Save Game Options so that this control scheme will only be applied to that single game, since it would otherwise disrupt your Wiimote-dependent games.
  • For games that use a Wiimote + Nunchuck setup, go into Quick Menu > Controls > Device Type and set it as such, and then go into Controls > Save Game Remap File to save the configuration specific to that game. Then go into Quick Menu > Options > Wiimote IR Mode and make sure it is set to “Right Stick controls pointer (relative)”, then go into Manage Core Options > Save Game Options to lock the settings in for that game.
  • If you experience drift with the above configuration, try changing the IR Mode option to “Right Stick controls pointer (absolute)” instead, and if the cursor is defaulting to a high point on the screen, set the Wiimote IR Center setting to 0 so that the cursor will revert to the center of the screen when not in use.
  • When holding the controller as a sideways Wiimote, go into Quick Menu > Controls > Device Type and set it as such. You can also go and assign buttons for specific functions, like shaking the Wiimote, tilt, etc. Once configured, go into Controls > Save Game Remap File to save the configuration specific to that game.

Configuration tips:

Many of these tips. will already be in place if you set up GameCube, but here they are again:

  • In the Wii Quick Menu > Options section, consider the following options:
    • EFB Scale: this is the internal resolution of Wii games. Xbox Series S/X consoles can likely upscale to at least 3x resolution for Wii games, but certain games will fare better than others. Note that the latest build of RetroArch doesn’t output to 4K, so upscaling beyond 1080p may not have any visual benefit.
    • CPU Clock Rate: if you have a game that cannot run at full speed, consider lowering the clock rate to below 100% to improve gameplay (at the expense of FPS). This will improve audio for games with stuttering.
    • Widescreen: make sure this is selected as ON to support widescreen-capable Wii games
    • Progressive Scan: turn this ON for 480p vs 480i signal
    • Audio Mixer Rate: set this to 48000 for improved audio with a tiny hit to performance
    • Shader Compilation Mode: only “sync” works on this build right now
    • OSD enabled: set this to OFF if you don’t want to see the yellow on-screen text while playing games

If you are having issues with Wii games properly displaying, go into Main Menu > Settings > Video > Drivers and make sure that “d3d11” is selected as the video driver. Sometimes, when PPSSPP crashes, it will revert to the “gl” video driver, which will break GameCube, Wii, and PS2 video.

Sony PlayStation Portable

To run PSP games on the Xbox, we need to run it via the PPSSPP RetroArch core. This does require some preconfiguration.

  • Click on this link to download the PPSSPP master assets file directly from the developer. Unzip this file and navigate to the ppsspp-master > Assets folder. Rename this Assets folder to “PPSSPP”, then place this new PPSSPP folder into the System folder within your RetroArch installation (which should be X:/WindowsApps/[long RetroArch folder name]/System)
  • Add your games directly to the internal storage on your Xbox, or boot the games via USB drive. USB drive games will take longer to load.

Configuration tips:

  • In the PSP Quick Menu > Options section, consider the following options:
    • Internal Resolution: Xbox Series S/X consoles can likely upscale to at least 4K resolutions, so feel free to adjust these settings as high as your display can manage. Bear in mind that the current build of RetroArch doesn’t output to 4K, so upscaling beyond something like 1920×1088 resolution may not have any visual benefit. Note that you will need to restart the content every time you adjust the internal resolution.
    • Confirmation: set between Cross or Circle based on personal preference
    • Anisotropic filtering: keep it OFF to prevent crashing.
    • Spline/Bezier curves quality: set to HIGH
    • Duplicate frames in 30Hz games: set to ON for smoother gameplay
    • Texture Scaling Level: set to higher values for more texture quality (up to 5) based on personal preference
    • Texture Scaling Type: can be adjusted based on personal preference
    • Texture Deposterize: turn on if upscaling, it will smooth out the image

Note that sometimes PPSSPP will revert your video driver to “gl”. To fix this, go into Main Menu > Settings > Video > Drivers and make sure that “d3d11” is selected as the video driver.

Sony PlayStation 2

To run PS2 games on the Xbox, we need to run it via the PCSX2 RetroArch core. This does require some preconfiguration. The latest builds of PCSX2 emulator doesn’t work very well with the Xbox, so we will replace it with this core provided by Archades games.

To revert to the older version of PCSX2 core, download this file, unzip it, and put the pcsx2_libretro.dll file into the X:/WindowsApps/[long RetroArch folder name]/cores folder on your Xbox (tip: rename the 1.9.9 PCSX2 core to something like “199pcsx2_libretro.dll” and keep it in that same folder in case you want to access it later).

You will also need to add the PCSX2 file structure to RetroArch. To do so, download this file, unzip it, and then place the pcsx2 folder into the X:/WindowsApps/[long RetroArch folder name]/System folder on your Xbox. Next, you will need to add PS2 BIOS files to the X:/WindowsApps/[long RetroArch folder name]/System/pcsx2/bios folder on your Xbox. For more information on BIOS, check out this description from Libretro/RetroArch. There are many different types of PS2 BIOS out there, these are the ones I prefer (from the Slim model):

SCPH-90001_BIOS_V18_USA_230.DIFF
SCPH-90001_BIOS_V18_USA_230.INF
SCPH-90001_BIOS_V18_USA_230.MEC
SCPH-90001_BIOS_V18_USA_230.NVM
SCPH-90001_BIOS_V18_USA_230.ROM0
SCPH-90001_BIOS_V18_USA_230.ROM1

Note that PS2 BIOS are copyrighted and are not shared on this website.

PS2 games larger than 3GB in size will need to be placed on the internal Xbox storage, but anything less than that can be loaded from a USB drive. However, it will load very slowly if placed in a USB drive, because the game has to be moved over to the internal Xbox SSD. It also causes instability with RetroArch and also creates a copy of the game onto the Xbox storage anyway. Instead, just load your PS2 games on the Xbox internal SSD; place the files in the X:/WindowsApps/[long RetroArch folder name]/Games folder.

Configuration tips:

  • In the PS2 Quick Menu > Options section, consider the following options:
    • Bios: allows you to choose your BIOS files in case you loaded more than one BIOS set
    • Fast Boot: bypasses the initial BIOS logo, but may affect things like applying the system language when starting a game
    • Internal Resolution: Xbox Series S/X can handle up to 6x Native (4K) resolution on many games, but the latest RetroArch build does not output to 4K. Instead, consider a 3x Native (1080p) resolution for the best balance of performance and visual fidelity.
    • Anisotropic Filtering: you can set this up to as high as 16x for reduced texture aliasing
    • Enable SpeedHacks: improves emulation speed but may introduce glitched. Keep it on “Safe (default)” for best results if you have a game that is having speed issues.
    • Other hacks may be of benefit for certain games; for the best results, refer to the PCSX2 wiki and see what other users have been doing for your favorite games.

For split-screen multiplayer, reduce the internal resolution for the best performance.

If you are having issues with PS2 games properly displaying, go into Main Menu > Settings > Video > Output > Video and make sure that “d3d11” is selected as the video driver. Sometimes, when PPSSPP crashes, it will revert to the “gl” video driver, which will break GameCube, Wii, and PS2 video.

Leave developer mode

When you are ready to leave Dev Mode and return to the retail side of Xbox, select “Leave dev mode” in the dashboard, and then be sure to uncheck “Delete side loaded games and apps” so that you don’t delete RetroArch when you leave!

If you want to have a safer exit path, download and install this app (courtesy of creator “t3”) called Safe Exit, which will safely exit Dev Mode without having to make sure you uncheck that “Delete side loaded games and apps” prompt. Install this app using the same process that you installed RetroArch: select the app and then its dependencies, then start the installation.

To re-enter Dev Mode, open the Xbox Dev Mode (DevKit Activation) app and reboot from the main Xbox interface.


Changelog

16SEP2021
– added updated PS2 core courtesy of Archades games

12SEP2021
– added clarifying info re: Playlist scanning

11SEP2021
– published guide

7 thoughts on “Guide: Xbox Series S/X and Xbox One Emulation

  1. Everything goes exactly as described except the .dat file for Mame for me. Download of file works, placed it in “game” folder I created and uses to create all my playlists. However, when I navigate to the folder to assign .dat file it does not show, only my game folders.

    Like

  2. Tried this with my X One X. Not sure it’s worth the effort and the small fee because of the storage stuff and updating RA hassles. Oh and whilst in Dev mode my Xbox kept starting up after I shut it down!!! Once I exited Dev mode the thing stayed shut off.

    Like

  3. Bought a Series S and a Dev account to do this. I follow the steps exactly and it will not work for me.
    I’ve tried it lots of times. No idea why but I’m so annoyed I wasted all that money.

    Like

  4. So I did this last night and everything was fine and as I was downloading a game I fell asleep and I woke up to my Xbox having no signal on the tv is there anything that I probably did ? I tried replacing HDMI and I tried cleaning the ports and even tried to put it in low resolution mode but nothing my Xbox turns on and the remote connects but no signal on tv someone please help!!!

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s