Files
goldeneye-pc-port/.github/release-notes.md
T
James Dansereau c7898d1620 D254/D255: stop the Linux crash handler eating its own logs; document the Facility firefight crash
The POSIX handler re-entered on SIGABRT (sysFatalError -> abort) and
truncated ge007.crash.log, so field crashes came back as bare abort
records with no faulting PC or registers. Guard against re-entry,
terminate directly with _exit(), and dump si_addr + the general register
set from the ucontext — a Deck crash now names the bad pointer on its
face.

Also documents D255 (new SIGSEGV in vtxstore's active-object walk during
a Facility firefight on the Deck; disassembly shows the fault is a
32-bit-zero-extended read of ObjectRecord.model, misnamed ChrRecord.
chrflags by the decompiler) and updates the release notes' Deck status.
2026-09-13 19:28:25 -04:00

5.5 KiB
Raw Blame History

GoldenEye 007 PC Port — (pre-release)

Pre-release. The full single-player campaign runs at a steady 60 fps with no known crashes, audio (music + SFX) playing throughout. This cut is for playtesting: a full end-to-end confirmation that all 21 missions are completable on this build is still owed, and the known issues below are real.

What's new since v0.1.0

  • Steady 60 fps in normal play (the software RSP runs off the presentation critical path); Video.DisplayFPS in the F10 overlay shows it.
  • Audio: in-level music and sound effects throughout (the alpha was silent). A handful of tracks have wrong-sounding instruments (below).
  • Mouse: click-to-lock capture (click to grab, ESC to release) with a proportional GEPD-style aim mode; sensitivity / Y-inversion / aim-turn split tunable in ge007.ini or the F10 overlay. The legacy always-grab mode is gone.
  • Rendering: outdoor skies render correctly; water no longer renders green/pulsing; reflective surfaces (glass, chrome weapon skins) work.
  • Crash fixes: the two v0.1.0-era crashing levels (Bunker ii, Statue) and the AI-pacing bug that broke Cradle are fixed and playtest-verified — all 21 solo missions load and run crash-free. Also fixed: the Steam Deck / Linux Facility crash triggered by walking into the crouch-forcing spot at the level's opening (D253) — this also revives the auto-crouch and ladder signals, which were dead on PC before.
  • QoL: F10 in-game options overlay (fullscreen, resolution, frame cap, MSAA, texture filtering, FOV/draw distance, sensitivity), mute-on-focus-loss, F12 screenshot.
  • Modern dual-stick controller layout (the scheme used by the console re-releases): left stick move/strafe, right stick look, right trigger fire, left trigger aim, A/X use, B/Y crouch/cancel, RB/LB cycle weapons.
  • Linux / Steam Deck: the Linux bundle now ships its own SDL2 — it runs as-is on any distro, and sideloads onto a Steam Deck with nothing installed.

Known issues

  • Cutscenes frequently glitch — skipped beats, wrong camera, misplaced or hovering actors, wrong timing; the Dam level-end cutscene is racy (D243). The most visible gap in this release.
  • Music quality on some tracks — a wrong-sounding bass instrument on a few elevator/level tracks (D230).
  • Particle colours cycle through a rainbow palette — bullet-impact sparks and lingering smoke/explosion residue drift through the hues over time instead of holding their intended grey/orange palette (D252).
  • Water on IsWater levels shows a moving seam between two patterns (D245); thin pixel strips at the left/right screen edges at non-integer window scales (D246).
  • The front-end Nintendo logo renders as two white blobs, and the Rareware logo is close but its texture filtering looks off (D75).
  • The F10 overlay's bottom row duplicates whatever item is currently selected (e.g. the MSAA value appears both on its own row and again at the panel bottom); earlier builds showed it as an intermittent 4K- fullscreen ghost of the top row.
  • Steam Deck: one open crash remains — the v0.1.0-era Facility crash is confirmed fixed on Deck hardware, but a new SIGSEGV can occur during a firefight in Facility (D255); diagnosis is in progress. Other levels are untested there so far — please report any Deck-specific faults (a ge007.crash.log next to the exe helps; recent builds now capture full faulting registers in it).

Downloads

File Platform
goldeneye-pc-port-<version>-win64.zip Windows x86-64
goldeneye-pc-port-<version>-linux-x86_64.tar.gz Linux x86-64 (incl. Steam Deck)

Each contains the engine executable, a README, license texts, and the prepare-assets tool. No ROM, no game assets. The Windows bundle carries its runtime DLLs; the Linux bundle carries SDL2 — on both platforms nothing needs to be installed first.

Running it

You supply your own GoldenEye 007 N64 ROM (.z64, big-endian) that you legally own — NTSC-U (US), PAL (EU) or NTSC-J (JP); the asset step detects the region from the SHA-1. US is the best-tested.

  1. Unpack the archive.
  2. Make a data/ folder next to the executable and put the ROM in it, named per region (ge007.ntsc-final.z64 / ge007.pal-final.z64 / ge007.jpn-final.z64).
  3. Run the one-time asset step (needs Python 3.8+): python3 prepare-assets/prepare-assets.py — it reads your ROM and writes the two data/pc*-<region>/ folders the engine needs. Standard library only; a few seconds.
  4. Run the executable from that folder.

Steam Deck: sideload the unpacked folder (USB or a file manager), do steps 2–4, then add the executable to Games → Add Game as a non-Steam game.

In-game settings on the Deck: the options overlay is fully gamepad-driven — it opens with Select, the D-pad or left stick (up/down) moves between options, A steps the selected option forward, B steps it back, and Start (or Select again) closes. No keyboard needed.

Full steps are in the bundled README.md.

Verify the download

sha256sum -c goldeneye-pc-port-<version>-win64.zip.sha256
sha256sum -c goldeneye-pc-port-<version>-linux-x86_64.tar.gz.sha256

Source & docs

https://github.com/jkdansereau/goldeneye-pc-port — built on the GoldenEye 007 decompilation, architecture after the Perfect Dark PC port. Non-commercial fan preservation/research project; not affiliated with any rights holder.