Perfect Dark on PC: native port setup guide (2026)
The Perfect Dark PC port is a native build of Rare's N64 shooter made from the Perfect Dark decompilation. It's not an emulator. You get mouselook, widescreen, FOV control, 60 FPS (and experimental framerates up to 240), and split-screen that works. The README calls it a work in progress: "mostly functional", with minor graphics and gameplay issues and the odd crash. Checked against the official repo on Oct 13, 2026 (~2.0k stars).
Legal: CRT Forge links to official project repos only. We never host or link ROMs, ISOs or game dumps. Bring your own dump from a cartridge or disc you own. This isn't legal advice.
fgsfdsfgs/perfect_dark to the perfect-dark-pc-port org; old links redirect.Step 1: check which ROM you have
Hash your dump (MD5) at romhacking.net/hash and match it to this table from the README:
| Version | MD5 | Name it | Run |
|---|---|---|---|
| ntsc-final / US V1.1 / US Rev 1 (recommended) | e03b088b6ac9e0080440efed07c1e40f | pd.ntsc-final.z64 | pd.x86_64 (default build) |
| ntsc-1.0 / US V1.0 (supported, not recommended) | 7f4171b0c8d17815be37913f535e4e93 | pd.ntsc-final.z64 | default build |
| pal-final | d9b5cd305d228424891ce38e71bc9213 | pd.pal-final.z64 | pd.pal.x86_64 |
| jpn-final | 538d2b75945eae069b29c46193e74790 | pd.jpn-final.z64 | pd.jpn.x86_64 |
The NTSC 1.1 "final" ROM is the one to use. Your boot screen calls both US versions "NTSC version 8.7 final".
Step 2: download the right build
Grab the archive for your OS from the official release. Most people want pd-x86_64-windows.zip or pd-x86_64-linux.tar.gz. Apple Silicon Macs take pd-arm64-osx.tar.xz. Anything that comes bundled with a ROM isn't from the project.
Step 3: drop the ROM into a data folder and play
- Extract the archive. Create a folder called
datanext to thepd.x86_64executable if it isn't there. - Copy your NTSC ROM into it, renamed to
pd.ntsc-final.z64. - Run
pd.x86_64. For PAL or JPN, usepd.pal-final.z64+pd.pal.x86_64orpd.jpn-final.z64+pd.jpn.x86_64.
Optional: put your Perfect Dark Game Boy Color ROM in data as pd.gbc. The port emulates the N64 Transfer Pak, so some cheats unlock automatically. On Linux you can move the data folder to ~/.local/share/perfectdark; on macOS, ~/Library/Application Support/perfectdark.
Nintendo Switch: the Switch zip has three folders (perfectdark, perfectdark_pal, perfectdark_jpn). Copy the one for your region to /switch on the SD card and put the ROM in its data folder.
Default controls
1964GEPD-style and Xbox-style bindings are built in. Rebind everything in pd.ini. The mouse only controls player 1.
| Action | Keyboard + mouse | Xbox pad |
|---|---|---|
| Fire / Accept | LMB / Space | RT |
| Aim mode | RMB / Z | LT |
| Use / Cancel | E | N/A |
| Use / Accept | N/A | A |
| Crouch cycle | N/A | LS click |
| Half-crouch | Shift | N/A |
| Full-crouch | Control | N/A |
| Reload | R | X |
| Previous weapon | Mouse wheel forward | B |
| Next weapon | Mouse wheel back | Y |
| Radial menu | Q | LB |
| Alt fire mode | F | RB |
High framerate and fixes
- 60 FPS is supported, and the port fixes some framerate-related bugs.
- Up to 240 FPS (experimental): turn on
Uncap Tickratein Extended Video Options. The README warns things break above roughly 165 FPS, so cap it with VSync orVideo.FramerateLimit. - Mods: basic mod support, "currently enough to load a few custom levels".
- Online play: netplay builds live on the separate
port-netbranch (linked from the README).
Building from source (optional)
You need CMake, SDL2, zlib, Python 3 and a GCC toolchain: MSYS2 MINGW64/MINGW32 on Windows (not the MSYS prompt), and gcc/g++ 10+ on Linux. It does not build with Visual Studio. Add -DROMID=pal-final or -DROMID=jpn-final for region builds.
git clone --recursive https://github.com/fgsfdsfgs/perfect_dark.git && cd perfect_dark
cmake -G"Unix Makefiles" -Bbuild .
cmake --build build -j4
More native N64 ports: best N64 PC ports (GoldenEye, Zelda, Mario Kart, Star Fox), Starship, sm64coopdx. New to this? Read what a decomp PC port is and how to play them.
FAQ
Is the Perfect Dark PC port legal?
The port contains no game assets: it's built from the Perfect Dark decompilation and needs your own ROM. CRT Forge only links the official repo and never links ROMs. This isn't legal advice.
Where do I download the Perfect Dark PC port?
From the official repo's rolling "ci-dev-build" release (Latest automatic build, port branch): github.com/perfect-dark-pc-port/perfect_dark/releases/tag/ci-dev-build. The repo used to live at github.com/fgsfdsfgs/perfect_dark and GitHub redirects the old links. The release assets we checked on Oct 13, 2026 were last rebuilt on Aug 13, 2026.
Which Perfect Dark ROM do I need?
The recommended ROM is ntsc-final (US V1.1, md5 e03b088b6ac9e0080440efed07c1e40f), named pd.ntsc-final.z64 inside a data folder next to the executable. US V1.0 also works but isn't recommended. PAL and JPN ROMs need their own executables (pd.pal / pd.jpn).
Does it support mouselook and 60 FPS?
Yes. The README lists mouselook, dual-analog support, widescreen, configurable FOV, 60 FPS with fixes, and experimental high framerate up to 240 FPS (enable Uncap Tickrate in Extended Video Options; cap around 165 FPS with VSync or Video.FramerateLimit).
Does Perfect Dark PC have multiplayer?
Split-screen multiplayer works in the main build. Online netplay builds live on the separate port-net branch; the README links to that branch's download section.
Which platforms are supported?
Windows 7+ (x86_64, i686), Linux (x86_64, i686), macOS (x86_64 on 10.9+, arm64 on 11.0+) and Nintendo Switch (arm64). The ci-dev-build release also ships a Flatpak. You need a GPU with OpenGL 3.0 / ES 3.0 or newer.