OpenShao is a native PC port of Mortal Kombat: Shaolin Monks, made by statically recompiling the original Xbox game.
Important
OpenShao does not include the game. You need your own USA/Europe Xbox copy.
- Windows 10 1903 or later, or Linux with glibc 2.38 or later
- x64 CPU with SSE4.2 and POPCNT
- Direct3D 12 GPU, or Vulkan 1.2 with dynamic rendering and timeline semaphores
- Controller, or keyboard and mouse
- On Linux, the system
libcurlfor mod and update downloads
- Download the latest release for your system.
- Extract it to a folder.
- Open OpenShao.
- Choose your game: an ISO, XISO, ZIP, extracted folder or
default.xbe. - Select Play.
Keep the game image or folder where it is. OpenShao reads it in place.
The launcher checks for a new version when it opens. Select Update and it installs the new version and restarts. Saves, settings and mods are kept.
To update manually, extract the new release to a new folder. The first start of 0.3.0 moves the data and saves of earlier releases to the new folders.
- Launcher with game selection, mods, folders and automatic updates.
- Konfigure Recompilation, an in-game settings menu for display, graphics, controls, audio and language.
- Pause menu with Continue, Options, Konfigure Recompilation, Exit Game and Exit to Desktop. Exit Game returns to the main menu.
- Widescreen at 16:9, 16:10, 21:9, 32:9 or the window's own shape, with the original 4:3 as default.
- Render scale from 25% to 400%, anisotropic filtering and V-Sync.
- Remappable controls for controllers, keyboard and mouse, with mouse camera support.
- Local Ko-op with keyboard and mouse plus one controller, or two controllers.
- Separate text and voice languages, including Brazilian Portuguese through a language pack.
- Mods from the OpenShao-Mods catalog, installed and updated in the launcher.
- Most graphical issues have been fixed, but some can still appear. Any problem is worth reporting: open an issue with a screenshot.
- Mortal Kombat II and The Suffering demo do not run.
- A scene can pause briefly the first time it is shown while its shaders compile.
Use the original USA/Europe Xbox release. Renamed or converted images from other releases are not supported. The check covers the executable, archives and required movies.
Open Files in the launcher. Each folder has an Open button, and Move places it somewhere else.
| System | Data | Saves |
|---|---|---|
| Windows | %LOCALAPPDATA%\OpenShao |
Saved Games\OpenShao |
| Linux | ~/.local/share/OpenShao |
~/.local/share/OpenShao/saves |
Open the launcher and select Files > Video > Restore.
| Input | Key or button |
|---|---|
| Move | W A S D |
| D-pad | Arrow keys |
| A / B | Space / Esc |
| X / Y | J or left click / K or middle click |
| Black / White | C / Q |
| Triggers | Shift / E |
| Start / Back | Enter / Backspace |
| Camera | Mouse |
| FPS display | F9 |
| Release or capture the mouse | F10 |
Change them in Konfigure Recompilation > Controls. Each action has a primary and an alternate key.
Xbox, PlayStation and other SDL-compatible controllers work. The game shows Xbox buttons. In single player, the keyboard, mouse and first controller all control player 1. In Ko-op, the keyboard and mouse are player 1 and a controller is player 2. With two controllers, each controller is one player.
For a controller without a mapping, put an SDL gamecontrollerdb.txt in the data folder.
Open Mods in the launcher and select Install. A downloaded .tar.xz installs through Install from file.
Then choose the language in Konfigure Recompilation > Language. Mod authors can read the mod guide.
Lower Render scale in Konfigure Recompilation > Graphics. Press F9 to see the frame rate. The game is limited to 60 FPS.
Only one copy can run at a time with the same data folder.
| Option | Effect |
|---|---|
--configure |
Open only the launcher settings |
--no-launcher |
Start the game with the saved settings |
--setup |
Choose the game again with the system dialogs |
--disc <image>, --game <folder> |
Play another copy of the game for this session |
--data-dir <path> |
Use another data folder for this session |
--save-dir <path> |
Use another saves folder for this session |
--portable-saves |
Keep saves in hdd next to the executable |
--paths |
Print the folders in use |
Open an issue with the steps that cause it and the latest log from Files > Logs > Open. Include a screenshot for graphical problems. Do not attach game files.
You need the original default.xbe, Python 3.11, Git and a C++ toolchain: Visual Studio 2022 with LLVM 21 on Windows, or Clang 18 on Linux.
git clone https://github.com/OAleex/OpenShao.git
cd OpenShao
git clone https://github.com/TGP482/XboxXBERecomp.git third_party/XboxXBERecomp
git -C third_party/XboxXBERecomp checkout 40e9c35451305f09ca9d86f677e4b9c2c37ff26b
python tools/build_recomp.py --xbe path/to/default.xbe --sdk third_party/XboxXBERecomp --testOn Windows, add --llvm "C:/Program Files/LLVM". See Building for packages, options and the Linux setup.
Development uses AI assistance for executable analysis, code, debugging, tests, build scripts and documentation. The maintainer reviews every change. Validation includes automated tests and gameplay.
Built with XboxXBERecomp. See tools and dependencies, third-party notices and the Brazilian Portuguese credits.
The code is licensed under GPL-2.0-or-later. The license does not cover the original game or its assets. OpenShao is not affiliated with or endorsed by the owners of Mortal Kombat or Xbox.
