GoldenEye 007 PC Port — v0.5.0
Platforms: Windows x86-64 and Linux x86-64 (including Steam Deck); no macOS or ARM builds yet.
Region: NTSC-U (US) only. First release since v0.4.0 — it includes
everything staged as v0.4.1, which was never published on its own.
What's new
- 2-4 player split-screen. Pads per player, on every map, each seat keeping its own controls.
- One options menu. The F10 overlay and the file-select PC Options entry are now the same menu — checkboxes, sliders and dropdowns, laid out like the Perfect Dark PC port's — and the game's own crosshair doubles as the mouse pointer.
- The game's N64 control styles, per player. Original (the game's own styles 1.1-2.4) or the port's Ext, chosen per seat and saved with the Bond file.
- Emulator saves load directly. Copy a Project64, mupen or 1964 save in as
data/ge007.eepand it is converted on first launch. - Fog and haze closer to the N64. Ground fog no longer chunks away tile by tile, the haze around Bond stays steady, and a new Fog distance setting (100% = N64) applies live alongside Draw distance.
- Fixes you can see. The Dam ending camera swivels onto Bond as on the N64, and rockets no longer pass through the ground.
- Also since v0.4.0: controller presets and rebinding, PlayStation/Nintendo button names, master volume and audio-device selection, a steady 60 fps on low-end GPUs, and fixes for reported issues: fire rate (#114), tank-crush sound loop (#115), tank movement (#116), weapon sway (#117), recoil on some GPUs (#118) and light fixtures that didn't react to shots (#119).
- More settings. Always-on and custom-colour crosshair, crosshair opacity and colour-by-health, fullscreen, center window, scalable HUD, and an optional update check (off by default).
Played live on Windows and Steam Deck: campaign spot-checks, 2-4 player
split-screen and controller-only sessions.
Install
- Unpack the archive.
- Make a
data/folder next to the executable and put your GoldenEye 007 N64 ROM (US,.z64) in it, namedge007.ntsc-final.z64. - Run the executable; the first start takes a few extra seconds while it generates its asset files.
No ROM or game assets are included. The bundles carry everything else they
need (Windows runtime DLLs; SDL2 on Linux, glibc 2.31 or newer — Ubuntu 20.04+,
Debian 11+, SteamOS), so nothing has to be installed first.
Steam Deck: same steps on the Deck, then add the executable as a
non-Steam game; the options overlay opens with Select and is fully
controller-driven.
Upgrading from an earlier version: unpack into a new folder and copy your
ROM, ge007.eep (progress) and ge007.ini (settings) into its data/ — don't
copy old pcmodels-* / pccg-* folders. Full steps, controls and
troubleshooting are in the bundled README.md.
Known issues (the two that matter)
- NTSC-U ROMs only. PAL and JP regions convert, build and boot from source, but aren't in the release packages yet.
- Saves from v0.4.0 and earlier that used
All unlockedcan hold fake unlocks. Not repaired automatically; keep a backup ofdata/ge007.eepfrom before you used it. The full table, with workarounds, is the known-issues table in ROADMAP.md.
Thanks
Outside contributions merged for this release:
- dolent (PRs #120–#123),
- MST246 (#125 draw-distance investigation),
- italoarruda (#109 gamepad-preset ideas),
- TenebrusoM (DexDrive / the D514 save-format sample)
Verify the download
sha256sum -c goldeneye-pc-port-0.5.0-win64.zip.sha256
sha256sum -c goldeneye-pc-port-0.5.0-linux-x86_64.tar.gz.sha256
Source & docs
https://github.com/jkdansereau/goldeneye-pc-port, built on the GoldenEye 007 decompilation, with its architecture modelled on the Perfect Dark PC port.
Non-commercial fan preservation/research project; not affiliated with any rights holder. AI disclosure: built through agentic AI coding (Claude Code + a local open-weight model), directed by one person in their spare time.
See the README's How it was made section for the full account.
Menu and settings work:
Rendering and gameplay fidelity:
Build, tooling and harness:
Reference-frame gate for this release: Windows, Linux and Steam Deck eachFull notes: every change with finding labels (Dxxx), detail per area, and verification
What's new (detail)
Options menu
Controller, Key Bindings and Game. Display mode is a dropdown; Backspace goes back.
and in a level, and Game.HudScale scales them with the in-game HUD.
Sliders and arrows are drawn smooth at any window size.
right-click goes back, and the tip follows the hovered row.
frames, seconds, pixels), wrapped tips, one Key: Action hint style and
consistent names (Original / Extended, "Original layout"). Skip intro and
All unlocked are no longer marked experimental, and All unlocked applies
live. The game's own Look up/down row is gone; use Invert look on the
Mouse and Controller pages.
Controls
(the game's N64 styles 1.1-2.4), chosen per seat.
and Custom rebinding carry over. Preset names refer to the Xbox
release's control styles; this project is not affiliated with Microsoft or Rare.
release's "left stick aims the crosshair" and "D-pad copies the left stick"
behaviours are not reproduced.
on PC). Existing untouched empty save folders get the same on first play;
played or customised profiles are not changed.
Saves
data/ge007.eep is converted on first launch (the
original is kept as ge007.eep.emulator.bak). The converter eep_convert.py still does explicit two-way conversion.
Picture and settings
section below). Forced aspect ratios letterbox/pillarbox without re-cropping
the play area.
mouse sensitivity maximum is 4x. FOV is vertical degrees, 30-90, with
60 = the N64 view. "Guard AI uses full wide view" is now Gameplay view
area (Original / Extended). Old values migrate once; existing ge007.ini
files still load.
Window and updates
the window/taskbar icon is a new project mark.
to GitHub per launch and an "Update available" row linking to the releases page.
Also new since v0.4.0
multiplayer map and in 4P on Temple.
master volume and audio-device selection.
distances, sniper zoom, turret pacing, Dam/Caverns water, weapons.
(#115), tank movement (#116), weapon sway (#117), recoil on some GPUs (#118)
and light fixtures that didn't react to shots (#119).
Fixes and changes, with finding labels
PD-ordered sections with checkboxes, sliders and dropdowns (D504); display
mode dropdown and Backspace-back (D504 follow-up).
chosen per seat and saved with the Bond file (D518, D516).
ge007.eep import (D514).
covers them (D512).
health: the four settings the Perfect Dark port had that this port lacked (D511).
and tip wrapping (D554); Look up/down row removed (D564).
off inside a level (D558). New defaults: Crouch Toggle, Look ahead off (D556,
D557); same for untouched empty save folders (D559).
Original or Custom RGB with 0-255 sliders, as in the Perfect Dark port; a
saved named preset carries over as Custom (D569). Long dropdowns stay on
screen (D568).
canvas pixels and grew visibly at large window sizes; now smooth (D520).
Holding left/right on a Bond settings row no longer drops the FPS counter (D517).
size and ratio, which no longer fight the front-end Aspect ratio setting;
the earlier findings-log note was corrected (D349).
Bond again, as on the N64; an old port workaround snapped it straight onto
him (D552).
away tile by tile, and the sky fades into fog toward the horizon as on the
N64 (D540). Large near-camera triangles are now clipped against the near
plane the way the N64's RSP does, with per-vertex fog recomputed on the
clipped edge, so the haze around Bond stays steady as he moves instead of
brightening and darkening (D543, D553; compared against hardware-level
emulation). A new Fog distance setting (100% = N64) is independent of
Draw distance, and Draw and Fog distance now apply live instead of on the
next level load.
fire turned into black/white/yellow/blue bands (also seen on the Deck); fixed
by clamping colour-combiner inputs to the range the N64 can produce (D548).
through the ground when fired near Bond's feet (a stack-layout difference
from the N64, D545), and the same class of bug is fixed in thrown grenades,
knives and objects (D549).
screens, and one B could back out two overlay pages. A short release
hold-off on menu A/B/Start and a single back action per press are now in
place. This is a mitigation: the exact cause is unconfirmed (the Deck
re-check passed) (D541).
the wider view can still show a faint distant building edge (e.g. Surface's
dish from the start area); 4:3 matches the N64 (D503).
play area (D508); the rare gun/hand model glitch after changing ratio
mid-level is largely fixed, a rare remainder is logged (D509).
tightened; the CI cache actions no longer carry stale ROM paths.
sweep used to overwrite your own data/ge007.ini and leave the previous
level's save file behind, and now pins both idempotently (your ini and save
are restored whatever the run does); the capture helper reads its frame
windows out of the gate instead of a stale hardcoded copy (D524). The gate's
recipe was re-based: per-level windows in settled gameplay rather than the
intro flyby, and the save file pinned present (D522, D523).
GE_PCDUMP must be first-last:step (a colon
where the dash belongs silently dumps every frame, D527), and a
GE_STARTMENU boot skips the EEPROM import, so the imported-save test must
run from a normal boot (D528). A per-triangle draw-state census probe
(GE_D526/GE_D526BOX/GE_D526MAX) is available for transparency/texture
triage (D526; the P13 Dam-ending grate show-through it targeted was confirmed
faithful N64 behaviour on 1964/GEPD, so no change shipped).
Verification
carry the full 21-level reference-frame set (63 frames each) at the same stems,
re-captured for this release's fog and near-plane changes and confirmed by two
independent capture passes per platform. The full pixel gate is green on all
three against their own goldens on the final build: Windows 21/21, Linux
(Intel HD 3000) 21/21 and Steam Deck 21/21. The recipe pins the run for you: the
save file's CONTENT is pinned (the gate installs its own canonical save per
level, the same way it pins the display ini — D529) and the PRNG seed is
hard-pinned (a stray GE_RSEED in your environment warns and is ignored rather
than re-seeding the gate — D532), so a gate run and a capture run see the same
starting state. The cross-platform spread on the shipped sets (0.188-4.553% of
pixels over tol 2 on the 20 non-Cuba levels) is informational only — it is not
a cross-platform pixel-parity claim.
