Why DuckStation Standalone?
There’s a few reasons why you’d want to use Duckstation Standalone.
The SwanStation RetroArch core hasn’t been updated in a very long time and there’s a few updates and things missing from it that DuckStation Standalone has.
For example, you might notice on Android that it’s hard to upscale Final Fantasy games with SwanStation due to slowdown, but DuckStation Standalone has no issues at all handling it for performance.
Basically, if you’re chasing upscaling and best performance with continual updates, then DuckStation Standalone is what you want.
Installation
Download Link: https://play.google.com/store/apps/details?id=com.github.stenzek.duckstation
Download Link (Website): https://downloads.duckstation.org/android/
Both the Play Store and Website versions are the same for DuckStation, choose whichever you’d prefer. Most users will likely use the Play Store.
ROMs & BIOS
So right off the bat, you are of course going to need PlayStation 1 games if you plan on following this guide, and I would suggest just simply creating a ROMs folder on your internal storage or SD card, and then an psx folder inside of it, where you will put your PlayStation 1 games.
I would suggest the CHD file format as they take up less space, they’re lossless, and they’re one single file as opposed to a bunch of BIN/CUE files.
If you’re wondering how you can organize your multi-disc games, you can follow the guide here: Setup m3u for multi-disc games.
For the BIOS file, you will want the PSXONPSP660.BIN BIOS file.
As far as finding the ROMs & BIOS yourself, the setup video in this post should help, and also this video here:
Setting up DuckStation
Once you’ve installed it, go ahead and open it. Just click next on the Welcome screen.
On the Settings screen, you can adjust some settings now if you want or we can do it after, just click next.
It’s now asking for you to import your BIOS files, and remember we downloaded that PSXONPSP660.BIN BIOS file earlier, so just navigate to that and select it.
Next up, we have to tell DuckStation where our PS1 games are, so head to your internal storage or SD card, the ROMs folder we created and click the psx folder we created.
Go ahead and click next, and then next again, then click finish.
It will now import all your games, may take some time.
App Settings
First things first, let’s change some settings.
Click the three lines top left and head to App Settings.
You can now see some of the settings we ignored before, they’re all in these tabs and menu.
Show FPS
We likely want to see our Framerate for a bit, so we can turn on:
- Show FPS
- Show CPU Usage
- Show GPU Usage
- Show GPU Statistics
- Show Resolution
- Show Frame Times
If you want to increase the size of the Framerate information, you can do that via OSD Scale as well, sometimes it can be hard to see the information depending on your device’s resolution.
PS1 Boot Animation, Fast Forward Speed & Rewind
In System, if you like that cool PS1 boot animation and sound, disable Fast Boot to get that all the time.
Scroll down to Speed Control and if you have a powerful device, you may want to limit the Fast Forward Speed if Unlimited is too quick for you.
Lastly, you can enable Rewind if you want, but I personally never do.
Graphic Settings
Head to Graphics and this is the fun stuff.
You can change the GPU Renderer if you want, I typically leave it on Automatic. Some people swear by Vulkan, but I let DuckStation figure it out.
If you have a powerful device, we can upscale the resolution via Internal Resolution, so I’m going to set it to 1080p.
There’s an option for Widescreen Rendering – personally, I would never, but some of you may want widescreen.
Shaders
Let’s head to Post-Processing and there’s a lot of shader lovers out there, well, this where you can add your shaders.
There’s built in ones that you can enable here, but I don’t like shaders so I won’t be.
RetroAchievements
The Achievements tab is where you can sign in with your RetroAchievements login and information if you have it and want to do so.
I do want to do so, so I will.
Game List
Game list is where your games are currently located, which we selected during setup.
If you ever move your ROM folder or want to move it, maybe to an SD card, you can come here and update the location.
Memory Cards
If you ever want to import a memory card, you can do so on the Memory Cards tab, but otherwise no real reason to touch anything here.
Controller Settings
That’s it for App Settings, let’s head back. Next, let’s go into Controller Settings.
Remove on-screen touch controls
Head to Touchscreen and if you’re using a controller or handheld, set Touchscreen Controller View to None to remove the on-screen touch controls.
Enable Rumble
If you scroll all the way down, you’ll see Enable Game Vibration and if you want rumble, turn this on.
This may not work for every controller or device.
Mapping your controls
Head to Port 1 and we can now configure our handheld or controller.
Scroll to Bindings and then start to map your controller by selecting each button and pushing the button on your controller or handheld that you want it to match.
You can stop after mapping Right Stick Up.
Hotkeys
Head to Hotkeys.
I like to map:
- Fast Forward Toggle to L3+R2
- Quick Load to L3+L1
- Quick Save to L3+R1
- Toggle on-screen display (show and hide framerate information) to L3+A
Lastly, we have Open Pause Menu.
Now, normally you don’t need to map this as many handhelds or controllers have a back button to open it, but feel free to map it, maybe L3+X would be good for you.
Transfer Data
Head back and I want to talk about Transfer Data.
Transfer Data is an easy way for you to backup all your data from DuckStation and then import it to DuckStation on another device, or even the same device if you’re just resetting.
Super useful, and not a lot of people know about this, but keep this in mind if you ever want to setup a new device and keep your saves and everything.
In-Game Menu
Otherwise, let’s go ahead and boot up a game by just clicking it.
Now, if you have a back button on your device, push it to get the in-game menu.
Or you can swipe up from the bottom and hit the back arrow or sometimes swipe in from the left.
Otherwise, just give the Pause Menu a hotkey like we talked about before.
Changing Discs
Few things here you can do.
Change disc is important to know, for when you’re done a disc, just select the next disc and off you go.
Cheats
If we select Patch Codes, this is cheats.
You have to select Enable Codes and scroll down and choose what you want to enable.
Lots of games will have cheats already included by default.
Per-Game Settings
But let’s talk about the top right buttons.
If you click the (I) button, this means any changes you make here will only apply to this specific game.
So if we head to Graphics, maybe this game we want to run at a lower resolution or a different GPU renderer, you can set that all here as long as you hit the (I) button top right.
Global Settings
Now if you hit the Settings cog top right, any changes you make here apply globally to all games.
So you can easily make changes for all games.
Per-Game Controls
Head to the Controller icon and you’ll see an option here called Per-Game Configuration.
If you turn that on, now any changes you make here for the controller will only apply to this specific game.
You can even save a profile and load it for another game if you wish.
If you turn off Per-Game Configuration, any changes made will apply to all games.
Exiting Games
To exit a game, just choose Exit Game from the in-game menu or you can map a hotkey for it.
Saves Location
Because DuckStation has all of its data behind Android’s Scoped Storage, many unrooted devices will not be able to manually copy saves.
Saves are located by default in the Internal Storage/Android/Data/com.github.stenzek.duckstation/files/memcards folder.
States are located by default in the Internal Storage/Android/Data/com.github.stenzek.duckstation/files/savestates folder.
However, DuckStation has the built-in Transfer Data option that we talked about earlier and you should use that to backup your saves, states and other data on most unrooted devices.