DuckStation is an excellent PlayStation 1 emulator for Windows, Linux, macOS and Android
The PlayStation 1, Nintendo SNES, GBA, and DS are my favorite consoles of all-time because they have tons of RPGs. I remember playing WWF/WCW games, and many JRPGs on my old Windows 98 computer using ePSXe back in the 2000s.
Emulation has come a long way since then; there have been many advancements, improvements and of course new emulators. DuckStation is a PSX emulator and a brilliant one at that.
It comes with a QT-based GUI version and a no-GUI version. We'll be discussing the GUI version here since it is user-friendly, and pretty much works well outside the box. The only thing you need to set up is the PS1 Bios, which is not included for obvious reasons.
Click on Settings > BIOS Settings and select the directory the BIOS file is located in to add it to the application.
Note: Don't pick the main BIOS folder which has the files for different firmware regions. Select a specific one such as NTSC-UC. To check whether it worked, go to DuckStation's main screen and click on the Start BIOS button and the emulator should load into the system's BIOS (main menu).
DusckStation does not support archive formats ZIP, 7Z, RAR, etc. It only works with the following types: BIN, ISO, IMG, CUE, CHD, M3U, EXE, PSEXE, PSF, and MiniPSF. Many PSX games span multiple discs, so make sure you extract each of those and place them in the same folder for your own convenience.
Compared to other emulators, DuckStation has modern controls by default, i.e., instead of relying on the arrow keys, it uses WSAD for movement.
You may remap the key bindings from the Controller settings screen.
DuckStation supports save states, and you have 10 per game which should be plenty for most games. Quick save (to the last used slot) by using F2, and quick load from the slot using F1. Hit Escape to Save and Exit. To get back to your game, hit the resume button, and it loads the save instantly. Switch to Full Screen mode using Alt + Enter. Capture a screenshot by tapping the F10 key, there are plenty of other keyboard shortcuts in the emulator.
The best part about DuckStation is that it has a nice description for each setting that explains what changing the option will do. And it also tells you what the default value for every setting is, i.e. whether it should be enabled, disabled, etc.
You can change the display renderer, aspect ratio, resolution, fast-forward, rewind, among several options. Tired of slow scenes? You'll be happy to know that the emulator has a Turbo mode, which can be configured from the Controller Settings page.
Note: If you are experiencing weird animations, flickering NPC character graphics, etc, it's likely because you haven't enabled the perspective PGXP settings. I wanted to include animated GIFs showing what the issue looks like, but the recorded images were too large, they were like 4MB each and that could slow down the page considerably.
Anyway, to fix the glitchy graphics, navigate to the Enhancement Settings > PGXP and toggle Geometry Correction. This will also enable Culling Correction and Texture Correction. You don't need to enable Depth Buffer, at least I didn't have to for the games I played.
DuckStation is an open source emulator, it is available for Windows, MacOS, Linux and Android. I switched to it on my Android phone before trying the Windows version, and they both work great. The emulator also comes in a portable version for PC.
I can't comment on how DuckStation compares to the Beetle (Mednafen) Retroarch core, because I haven't used Beetle a lot. But if you ask me which one is better between DuckStation and ePSXe, I'd say the former is clearly the better one.
DuckStation has a lot more options including support for Software Renderer, Open GL/D3D/Vulkan, PGXP, a better interface, and of course the fact that it's actively developed is an additional plus. I experienced some crashes with Vulkan (could also be some other setting that I was testing), but the other rendering modes work fine. I recommend checking the Game compatibility spreadsheet that's available on the program's GitHub page, before you start playing anything.