# PCSX-Redux: a PlayStation 1 emulator rebuilt as one monolith with an open BIOS

> PCSX-Redux is a fork of the PCSX PlayStation 1 emulator that drops the plugin system for a single codebase, renders on OpenGL 3 and ImGui, and ships OpenBIOS, a MIPS R3000A BIOS implementation that boots games without a retail BIOS. It builds 64-bit only for Windows, Linux and macOS, and the macOS build is not code signed.

**grumpycoders/pcsx-redux** — The PCSX-Redux project is a collection of tools, research, hardware design, and libraries aiming at development and reverse engineering on the PlayStation 1. The core product itself, PCSX-Redux, is yet another fork of the Playstation emulator, PCSX.

- Repository: https://github.com/grumpycoders/pcsx-redux
- Website: https://pcsx-redux.consoledev.net
- Stars: 1,029 · Forks: 158
- Language: C++
- License: GPL-2.0
- Published: 2026-10-19 · Updated: 2026-10-19 · Language: en
- Canonical page: https://hysenlabs.com/projects/grumpycoders-pcsx-redux

## What the project actually is: an emulator, plus tools, plus hardware designs

The PCSX-Redux project is described as a collection of tools, research, hardware design and libraries aiming at development and reverse engineering on the PlayStation 1, and the core product is called yet another fork of the PlayStation emulator PCSX. The repository layout shows how much more than an emulator this is. There is a tools/ directory with tools that can be used to work with PlayStation 1 software, a src/mips directory holding pieces of code targeting the PlayStation 1 and, importantly, the OpenBIOS project, a MIPS R3000A BIOS implementation that can be used to boot PlayStation 1 games without the need for a retail BIOS. There is a hardware/ directory with hardware designs usable with the PlayStation 1, a wiki with research information not directly related to the emulator. So an evaluator is looking at a platform project, with an emulator as the most visible part of it rather than the whole of it.

## The five goals: drop the plugins, use OpenGL 3 and ImGui, improve debugging

The project states its goals roughly, and the list is worth quoting because it describes what kind of fork this is. Bring the codebase to more up to date code standards. Get rid of the plugin system and create a single monolithic codebase that handles all aspects of the PlayStation emulation. Write everything on top of OpenGL 3 and ImGui for portability and readability. Improve the debugging experience. Improve the rendering experience. The second goal is the one that changes the character of the project. A plugin-based emulator is extensible, which means it is also a negotiation between an API and whatever the plugin wants to do, and the plugin boundary is where portability problems and API churn live. Removing it is a bet that a single codebase can be more maintainable than a core plus plugins, and the debugger is the visible payoff, with a debugger screenshot at the top of the README.

## OpenBIOS: a MIPS R3000A BIOS you are allowed to ship

The OpenBIOS element is the part with the clearest legal and practical value. The code comes in two big parts, the emulator itself and OpenBIOS, which can be used as an alternative to the retail, copyright protected BIOS. The OpenBIOS project is a MIPS R3000A BIOS implementation, and R3000A is the MIPS processor the original PlayStation hardware used, so this is a reimplementation of the firmware the console runs. That matters for two separate audiences. For a developer trying to run their own code on emulated hardware, it removes the dependency on an image they cannot redistribute. For a preservation-oriented user, it is a BIOS that can be shipped in a package. The build for it needs a MIPS toolchain, and the repository carries an mips.ps1 script for installing one on Windows, plus a Makefile and an xmake.lua for the Unix side.

## Hardware requirement: 64-bit only, OpenGL 3.2 core falling back to 3.0

The Where section lists the download pages for Windows Intel 64-bits, a Windows CLI build, Linux Intel 64-bits and Linux Arm 64-bits as AppImages, and macOS Arm. Then it states the constraint plainly: all builds are 64-bit only, and they need a GPU and driver that can create at least an OpenGL 3.0 context, with the emulator asking for a 3.2 core profile first and falling back to 3.0 if that fails. That is a real constraint for anyone with an older GPU or a virtualised display, and the fallback behaviour is a reasonable design rather than a hard requirement on 3.2. The platform matrix is what you would expect from a project with an active CI setup: the Windows build is on Azure Pipelines with a definition id, while the Linux and macOS builds run on GitHub Actions with separate workflow files for Linux and macOS.

## The macOS build is unsigned, and the workaround is in the README

There is a Note section that exists because the project has not sorted out code signing for macOS. The macOS version is not currently signed with a developer certificate, so you may see a security warning when opening the application, and the message is quoted as Apple cannot check it for malicious software. The README then gives the two ways around it, either by right-clicking the app and selecting Open, which signals an explicit decision and adds an Open button to the warning dialog, or by going to macOS Settings, Privacy and Security, and allowing the app from the section there. It notes you only need to do this once for freshly downloaded copies. That last sentence is the operational detail, because a user who assumed the exception persisted would keep hitting the warning after every update. The project also asks people to use a Discord server for the emulator specifically and a separate PSX.Dev Discord server for PlayStation 1 development, hacking and reverse engineering in general.

## Building from source: recursive clone, and a Makefile that explains its own fragility

The How section is candid that the code is meant to be built with very modern compilers, that it is still fairly experimental, and that lots of things can break. The sources are only on GitHub, and the clone must be recursive because the project uses submodules, so the git clone command needs the --recursive flag. The Makefile then shows why that matters, in a comment that is unusually candid for a build file. It defines a list of submodule sentinels, one per submodule the build globs sources from, and the comment explains that checking imgui alone let a checkout that had imgui but not implot report submodules present and then fail at compile time on a missing implot.h, which is a much worse place to find out. The comment also explains the Nix interaction, where the build fetches a hand maintained list into third_party/ and takes the rest from nixpkgs, and how listing a sentinel that is missing anywhere the Makefile runs silently disables the dependency files rather than reporting a missing submodule.

```bash
git clone --recursive https://github.com/grumpycoders/pcsx-redux.git
```

## The dependency list and the build surfaces, from Makefile to xmake to Visual Studio

The Makefile names the packages the build expects, which is the fastest way to see what this project actually links against. The required set is capstone, freetype2, libavcodec, libavformat, libavutil, libswresample, libcurl, libuv, sdl3 and zlib, with an optional set of md4c, fmt, libllhttp, libluv and liburiparser, and optional libraries of multipart and ucl. SDL3 for input and windowing, FFmpeg for media, capstone for disassembly and libuv for the event loop is a modern stack, and it is a fair proxy for the code standards goal. The project supports several build paths, with a Makefile at the root, an xmake.lua, a Visual Studio solution under vsprojects/, a flake.nix with a flake.lock, a pcsx-redux.nix, and dockermake.sh and dockermake.bat scripts. On Windows the README describes the open and build paradigm with Visual Studio 2022 Community Edition, where NuGet takes care of dependencies on the first build, and it lists the specific recovery for an hresult e_fail error, which is deleting the .suo file, restarting Visual Studio and retrying.

## Licence, community and where the project stands

The licence is GPL-2.0, with a LICENSES.md file alongside the LICENSE, which in a project that embeds third party code in a third_party/ directory is the file to read for the terms of the bundled components. The community infrastructure is split by purpose, with a Discord for the emulator and another for general PlayStation 1 work, and the project asks for financial support through a Buy Me a Coffee link in the README header. The repository carries a CODE_OF_CONDUCT.md, a CONTRIBUTING.md, an AUTHORS file, a crowdin.yml for translations, an i18n/ directory, an RFC.md and a TODO.md, and the Makefile lists the locales that are built, namely el, es_ES, fr, ja, pt_BR, sv, uk and zh_CN. The last push to the repository was on 2026-10-15, the repository is not archived, and there are no GitHub releases, since the download pages are hosted on a separate distribution service with dev builds per platform.

## Conclusion

PCSX-Redux suits a developer who wants to work on PlayStation 1 software or reverse engineering and needs a MIPS R3000A BIOS they are allowed to use, and who is prepared for an experimental codebase. It is the wrong choice for someone who wants a stable emulator to play games on, because the project describes itself as still fairly experimental where lots of things can break, and a poor fit if you need a signed macOS application or a machine without an OpenGL 3 capable GPU. Before adopting it, clone the repository recursively, because the build globs sources from submodules and a checkout without them fails at compile time, and note that all builds are 64-bit only and ask for an OpenGL 3.2 core profile before falling back to 3.0.

## FAQ

### What is PCSX-Redux?

The PCSX-Redux project is a collection of tools, research, hardware design and libraries aiming at development and reverse engineering on the PlayStation 1. The core product, PCSX-Redux, is a fork of the PCSX PlayStation emulator that drops the plugin system in favour of a single monolithic codebase rendered on OpenGL 3 and ImGui.

### What is OpenBIOS and why does it matter?

The src/mips directory contains the OpenBIOS project, a MIPS R3000A BIOS implementation that can be used to boot PlayStation 1 games without the need for a retail BIOS, and it can be used as an alternative to the retail, copyright protected BIOS. Building it requires a MIPS toolchain.

### What are the system requirements for PCSX-Redux?

All builds are 64-bit only and need a GPU and driver that can create at least an OpenGL 3.0 context. The emulator asks for a 3.2 core profile first and falls back to 3.0 if that fails. Downloads exist for Windows Intel 64-bits, a Windows CLI build, Linux Intel and Arm 64-bits as AppImages, and macOS Arm.

### How do I build PCSX-Redux from source?

Clone the repository recursively with git clone --recursive, because the build globs sources from submodules. The project offers a Makefile, an xmake.lua, a Visual Studio solution under vsprojects/, Nix support through flake.nix and pcsx-redux.nix, and Docker scripts. The code is meant to be built with very modern compilers and the project describes itself as experimental.

### Why does macOS warn me when opening PCSX-Redux?

The macOS version is not currently signed with a developer certificate, so Apple cannot check it for malicious software. You can right-click the app and select Open, or allow it in macOS Settings under Privacy and Security. You only need to do this once for freshly downloaded copies.

## Sources

- [grumpycoders/pcsx-redux on GitHub](https://github.com/grumpycoders/pcsx-redux)
- [Issues](https://github.com/grumpycoders/pcsx-redux/issues)
- [License: GPL-2.0](https://github.com/grumpycoders/pcsx-redux/blob/main/LICENSE)
- [Project website](https://pcsx-redux.consoledev.net)
- [README](https://github.com/grumpycoders/pcsx-redux/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/grumpycoders-pcsx-redux
