PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment Europe Limited and in other regions. This app is not affiliated in any way with Sony Interactive Entertainment.
AetherSX2 is provided under the terms of the Creative Commons Attribution-NonCommercial-NoDerivatives International License (BY-NC-ND 4.0, https://creativecommons.org/licenses/by-nc-nd/4.0/).
This means that you cannot use AetherSX2 to make money.
AetherSX2 uses third-party code. You can view the licenses for this code by selecting "Third-Party Notices" in the navigation menu (swipe out from the left).
The console is an extremely complex piece of hardware, with many very powerful components, even for today. Due to differences between the console hardware and your phone's hardware, they are computationally expensive to simulate. You need a high end device to achieve good performance.
We recommend at least a Snapdragon 845-equivalent device. This means 4 large cores (Cortex-A75 level). If you only have two big cores (e.g. Snapdragon 700 series SoCs), you should not enable multi-threaded VU, and performance will suffer as a result. Devices with Mali or PowerVR GPUs will run the app, but performance will be lower than Adreno GPUs.
If you want to use the app on a slower device, you can try it, but games will run slow, especially heavier titles.
Yes, you do. A BIOS image is required to play games and is not optional. This image should be dumped from your own console, using a homebrew application. There are plenty of guides available online on how to dump your console’s BIOS.
AetherSX2 should only be used to play games you own and have dumped from disc yourself. To dump your games, you can use a tool such as ImgBurn to create a .iso for the disc, and then copy across it to your device over USB. Optionally, you can use compression tools such as gzip or chdman to further reduce the size.
Different games have very different hardware requirements, due to how much they utilized the various components of the console. See the next section.
Open Controller Settings while ingame, by pausing and tapping the controller icon in the top-right corner. Select "Add/Remove" buttons for L3/R3, and/or change the control layout to dual sticks.
Press the pause or back button while ingame, and tap the controls tab in the top-right corner. You can also add additional buttons for hotkeys here, e.g. fast forward, quick load/save, etc.
Turn your device around if you have auto rotation enabled. You can also force it to always use landscape in the first page of App Settings.
Map the controller in "Controller Settings". You can start with the automatic mapping, but sometimes triggers or sticks still need to be mapped manually.
Long press the game in the game list/grid, tap Game Properties, and tap the Game Settings tab. If you want to change these settings while in-game, open the pause menu, and tap the info button in the top-right corner to access Game Properties.
AetherSX2 now has "input profiles", which are a grouping of the touchscreen button layout, as well as Bluetooth controller bindings.
To create an input profile:
You can load this profile manually when you want to use it, but you can also automatically load the profile for specific games. To do so:
You get 4 macro buttons per virtual controller.
Due to the complexity of the console’s hardware, there are still plenty of issues which arise when using the hardware renderer. You can try using the software renderer for these games.
Open the pause menu and tap Load/Save state, there are 10 slots + a quick save (for onscreen buttons).
Currently you can only import an entire memory card at once; it is not possible to import individual saves. Swiping from the left in the game list will show an “Import Memory Card” option which you can use to import a *.ps2 image of a memory card.
Due to scoped storage on Android 11+, we cannot place your saves in a normal directory on external storage. However, with a file explorer app, you should be able to access the Android/data/xyz.aethersx2.android
directory, in your primary storage volume, which contains your save states and memory cards. Note that accessing this directory requires granting additional permissions to your file manager on Android 11+.
Place cover images in the covers directory, located in the data directory mentioned above, with the file name as the game title or serial in jpg/png format. Alternatively, you can long press in the game list and select “Choose Cover Image” to import an image.
Long press the game in the game list, and select “Create Launcher Shortcut”.
The software renderer draws everything onscreen using the CPU instead of the GPU, which is very slow in comparison. However, the software renderer's performance has now been improved to the point where it's usable for many games.
Assuming you have a device with 4 big cores, you'll want to disable multi-threaded VU to free up one of your big cores, and the software rendering threads to 2. You can then enable affinity control (to any mode), which will also pin the software threads to the big cores.
If you have a device with only 2 big cores, the software renderer will never perform well; the small cores are much too slow for rasterization.
For some devices (e.g. Samsung and Pixel), using affinity control can improve performance consistency. By enabling this option, the CPU cores in your device are sorted from most powerful to least powerful, and the threads pinned to these cores in the order you select, to avoid the scheduler constantly moving them around.
The best setting will depend on your device and the game, hence why it is settable per-game. If you're experiencing massive frame rate variance, where it bounces around with a range of more than 20fps, experimenting with this option may help.
Use the "Show CPU Usage" option in graphics to work out which thread is the heaviest/second heaviest, and then choose the corresponding affinity control mode. Devices with equal big/little core distribution likely won't need to use this option.