Drakengard 3 (PC)
Drakengard 3
OriginPlayStation 3
TechnologyNative C/C++ port (engine reimplementation)
Available forWindows
View official projectAbout the project
Drakengard 3, conocido en Japón como Drag-On Dragoon 3, es un rol de acción videojuego desarrollado por Access Games y publicado por Square Enix en exclusiva para PlayStation 3. Es el tercer juego de la serie Drakengard y una precuela de la aventura original de la PS2. El videojuego, como el resto de la serie, presenta una mezcla de combates terrestres de hack-and-slash con algunas secciones puntuales de batallas aéreas. La historia se centra en Zero, una mujer que puede manipular la magia a través de la canción.
Official project information
Drakengard 3 Recompiled
A native port of the PlayStation 3 game Drakengard 3.
Download · Installing · Playing guide
Report an issue · Build from source · Technical notes · Ko-fi
</div>Contents
About
A native PC port of Drakengard 3 (Drag-On Dragoon 3, PlayStation 3, BLUS31197) for Windows, macOS and Linux, made by static recompilation of the game's code on the ps3recomp toolkit.
The game's PowerPC and SPU code is translated to C++ ahead of time and built into a normal executable, with the PS3's system libraries replaced by native implementations and the RSX graphics by Direct3D 12, Metal or Vulkan. There is no emulation at run time.

Nothing of the game is in this repository. You need your own copy of Drakengard 3: the US disc and the game's 1.01 update, plus whatever DLC you own. The installer takes them from there.
If this helped you, consider buying me a coffee
Installing
What you need:
-
A PC with Windows 10 or 11 (64-bit), a GPU with Direct3D 12 and a CPU with AVX2 (Intel Haswell / AMD Zen or newer), or a Mac with Apple silicon on macOS 13 or newer. About 16 GB of free disk space, 10 GB more for the Japanese voice pack and about 3 GB for the Spanish translation.
-
Your copy of the game, US release, as either:
- the disc (BLUS31197), dumped to a folder or a decrypted
.iso(PS3 Disc Dumper writes one; an image from an ordinary disc tool is still encrypted and is refused), or - the PSN release (NPUB31251): the game's package as a PlayStation 3
downloads it (
UP0082-NPUB31251_00-DOD3MAINGAME0000, 15.6 GB). No licence files are needed.
Other regions, the European PSN release among them, are refused.
- the disc (BLUS31197), dumped to a folder or a decrypted
-
The 1.01 update, as the package a PlayStation 3 downloads:
UP0082-BLUS31197_00-DOD3PATCH0000000-A0101-V0101-PE.pkg. This is the disc release's update; the PSN release takes it too. -
Optionally, the DLC packages you own (
UP0082-NPUB31251_00-...). No licence files are needed. -
Optionally, mods: the Spanish fan translation and the DLC Undub (Japanese voices for the DLC chapters), which the launcher installs on its Mods page; see docs/PLAYING.md.
Windows:
- Download
dod3-recomp-<version>-win64.zipfrom the releases and unzip it anywhere (not inside Program Files). - Run
dod3.exe. SmartScreen may warn the first time, as the program is not signed: "More info", then "Run anyway". - In the setup that opens, add your files (the disc image or folder, or the
PSN game package; the update package; any DLC packages) with Add Files /
Add Folder, in any
order, then Install. The game's files are copied into the
gamefolder next todod3.exe(a few minutes). - Play. From then on
dod3.exeopens the launcher: Play, and the game's mods, DLC and settings.
macOS:
- Download
dod3-recomp-<version>-macos-arm64.zipfrom the releases, unzip it and move "Drakengard 3 Recompiled.app" to Applications. - The app is not notarised, so macOS refuses it the first time. On macOS 15 and later: open it once, then allow it in System Settings > Privacy & Security ("Open Anyway"). On macOS 13 and 14: Control-click the app, choose Open, then Open again.
- The setup opens as on Windows. The game's files go into
~/Library/Application Support/Drakengard 3 Recompiled.
Linux (x86-64; the Steam Deck included), experimental:
- Download
dod3-recomp-<version>-linux-x86_64.tar.gzfrom the releases and unpack it anywhere you can write to. It needs a Vulkan 1.3 driver (Mesa's RADV, ANV, or NVIDIA's), SDL2 (sdl2orsdl2-compat; SteamOS has it) and glibc 2.38 or newer. - Run
dod3in the folder. The setup opens as on Windows, and the game's files are copied into thegamefolder beside it. Add Files uses the desktop's picker (kdialog or zenity); without either,./dod3 --install <files...>in a terminal does the same. - On a Steam Deck: install from Desktop Mode, then add
dod3to Steam as a non-Steam game to play it in Game Mode.dod3.logbeside it says what happened if it does not start.
Settings (resolution, display mode, frame-rate cap, anti-aliasing, field of
view, draw distance, skipping the intro, the keyboard's keys) are in the
launcher's Settings, in the game's own Settings menu (Graphics Settings,
System Settings, Advanced Graphics and Picture Settings), or in dod3.ini.
docs/PLAYING.md has the controls, the saves, the Japanese
voices, and what to do if something goes wrong.
Building
The port is built in three steps: the game's PPU code is lifted to C++, its SPU programs are lifted, and the whole is compiled with CMake. Lifting needs the game's executable, so you need your own copy of the game first.
-
Toolchain. Windows: Visual Studio 2022 or newer (the Build Tools are enough, with "Desktop development with C++" and the Windows SDK), LLVM with clang-cl, CMake 3.20 or later, Ninja, Python 3.11 or later, Git for Windows, and vcpkg with
zlib:x64-windowsandsdl2:x64-windows(VCPKG_ROOT, orC:\vcpkg). macOS: Xcode's command-line tools and, from Homebrew,cmake ninja python zlib sdl2 glslang spirv-cross. Linux: Clang, CMake, Ninja, Python and the SDL2, zlib, Vulkan and glslang development files (Ubuntu 24.04 package names, and the Steam Deck's distrobox, in docs/BUILDING.md). All three also need a decryptedlibsre.prxfrom the PS3 firmware (docs/BUILDING.md). -
The sources.
git clone --recurse-submodules https://github.com/soyjxck/dod3-recomp cd dod3-recomp python3 -m venv .venv # py -3 -m venv .venv on Windows .venv/bin/pip install -r ps3recomp/tools/requirements.txt -r tools/requirements.txt -
The game's files. Any built
dod3(a release's, or one from another machine) installs the game into the repository root, which decrypts the update's executable toelf/EBOOT_101.ELFand lays outgame/disc:DOD3_INSTALL_BASE=. path/to/dod3 --install <disc .iso or folder> <update .pkg> [DLC .pkg ...] -
Lift the PPU code (a few minutes; about 550 MB of C++ in
recompiled_101/):.venv/bin/python ps3recomp/tools/ppu_loader.py elf/EBOOT_101.ELF -o out/v101/ .venv/bin/python ps3recomp/tools/ppu_lifter.py elf/EBOOT_101.ELF \ --functions out/v101/EBOOT_101.functions.json \ --hle-stubs out/v101/EBOOT_101.imports.json \ --code-end 0x157fc00 \ --nonvolatile-locals \ --hook 0x000C1E50 --hook 0x00EE7728 --hook 0x00272E58 \ -o recompiled_101/ -
Lift the SPU programs into
spu/, with the native fast paths hooked in:tools/lift_spu.sh -
Compile. Windows, from a plain command prompt (the script finds Visual Studio, LLVM, CMake and vcpkg):
tools\build_win.batmacOS:
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release cmake --build buildA clean build takes about 15 minutes, nearly all of it the lifted code.
-
Run the game installed in the repository root:
DOD3_INSTALL_BASE=. build/dod3
docs/BUILDING.md has the CMake options, the developer run form, packaging a release and regenerating the committed tables; docs/TECHNICAL.md how the port works; docs/DEBUGGING.md the switches, profiling and the regression tests; CONTRIBUTING.md the layout of the tree and the conventions.
Status
| Windows 10/11, Direct3D 12 | Playable. 60 fps at 4K on an RTX 4090 / i9-13900K (chapter 1 through the heavy destruction scene, open areas, the village); 120 fps holds at lower resolutions |
| Windows, Vulkan | Experimental (RSX_BACKEND = vulkan) |
| Linux, Vulkan | Experimental. Tested on a Steam Deck (SteamOS, Desktop Mode): the chapter 1 battle at 55-65 fps uncapped, the heaviest moments in the 40s; Gaming Mode not yet tried |
| macOS 13+, Apple silicon, Metal | Playable. 60 fps at 1080p in battle on an M1 Pro |
| Game version | The 1.01 update (required) |
| DLC | All 20 packs, including the Japanese voice pack |
What the port adds over the original: any internal resolution (supersampling included), windowed, borderless or full-screen display, wider screens (16:10, 21:9, 32:9), a frame-rate cap of your choice (60 and 120 tested) or one that follows the scene, with the frames shown at even intervals, FXAA or MSAA, anisotropic filtering, a wider field of view, sharper shadows, a longer draw distance for scenery and for trees, HDR (Windows and macOS: the light the game clips at white goes up to your display's peak), a depth of field and bloom drawn smoothly at high resolutions, depth of field and the blood on the screen each on or off, skipping the intro logos and movie, pausing or muting when the window is in the background, keyboard and mouse, trophies (a pop-up as you earn one, and their list in the launcher), cheats, and the button prompts of the pad you hold -- set in the launcher, or in a Graphics Settings, a System Settings, an Advanced Graphics and a Picture Settings page added to the game's own Settings menu. The launcher also installs your DLC and two fan-made mods (the Spanish translation, with the added pages in Spanish, and the DLC Undub), and on Windows updates the port from its releases.
Known issues: the game has been tested on few machines, and at 16:10, 21:9 and 32:9 some of the HUD is still out of place.
How it fits together
elf/EBOOT_101.ELF --ppu_loader/ppu_lifter--> recompiled_101/*.cpp (the game's PPU code as C++)
SPU programs --tools/lift_spu.sh------> spu/ (SPURS tasks, jobs, the audio DSP)
src/ ---------------------------> the port: the runner, native fast paths, the settings menu, the installer
ps3recomp/ ---------------------------> runtime, HLE libraries, the RSX draw engine and its backends
The executable dod3 installs the game from your files (a Dear ImGui
setup, src/install/ and src/ui/), then opens a launcher for its mods,
DLC and settings, and runs it.
Legal
This project is not affiliated with or endorsed by Square Enix, Access Games or Sony Interactive Entertainment. Drakengard 3 and all of its assets belong to their owners; none are included, and the port only runs from a copy of the game you own.
The code in this repository is under the MIT License. It builds on ps3recomp (MIT) and includes Dear ImGui (MIT) and the Inter typeface (SIL Open Font License 1.1); see THIRD_PARTY_NOTICES.md.
Credits
- ps3recomp by sp00nznet: the
recompiler, the runtime and the PS3 library implementations. This port's
changes to it are in the soyjxck/ps3recomp
fork, the
ps3recomp/submodule. - RPCS3: the reference for much of the PS3's behaviour, and the source of two techniques used here (write-watched texture memory, a guest clock that stops while the game is paused).
- XenonRecomp and Unleashed Recompiled: the model for a recompiled port, and for its installer.
- Dear ImGui by Omar Cornut: the setup's and the launcher's user interface.
- Inter by Rasmus Andersson: their typeface.
- The mods the launcher installs are their authors' work: the Spanish translation by Traducciones Vacuno (TraduSquare), the DLC Undub by Canzah and Slow.
