Gopher64 fork with netplay session save/resume and desync auto-resync
This repository has been archived on 2026-08-27. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Claude 8e2c29039c UI: session save/resume controls + resync status (#8)
Add UI controls for the netplay session save/resume and resync
indicator features:

- netplay_create.slint: Add 'Resume Session...' button with file picker
  callback for .netplay-state files
- netplay_wait.slint: Add 'Save Session' button (host only, gated by
  is_host property), add resyncing indicator badge
- netplay_page.slint: Add resyncing property to NetplayData global
- src/ui/netplay.rs: Wire on_netplay_resume_session callback (opens
  file picker, placeholder for #3 flow), on_netplay_save_session
  callback (placeholder for #3 flow), set is_host on wait window setup

The save/resume callbacks show placeholder messages until #3 is
implemented. The resync indicator shows during ResyncState != Idle.

Closes #8
2026-08-25 22:19:56 -05:00
.cargo gopher64-netplay#16: runnable build gate on the review box 2026-08-25 16:21:01 -05:00
.github ci: pin actions/checkout to v4 (node20) — v7 needs node24, unsupported by host runner 2026-08-25 22:18:33 +02:00
android-project re-arrange input profiles (#1150) 2026-07-05 10:43:23 +00:00
data add instructions for input profile (#1179) 2026-08-03 15:43:27 +00:00
docs fix(#16): wire provisioned cmake lib root + link/run tests in the gate (review bounce) 2026-08-25 16:21:01 -05:00
parallel-rdp add gpu hints on windows (#1158) 2026-07-13 07:17:35 +00:00
retroachievements update rcheevos (#1172) 2026-07-23 22:11:01 +00:00
scripts fix(#16): wire provisioned cmake lib root + link/run tests in the gate (review bounce) 2026-08-25 16:21:01 -05:00
src UI: session save/resume controls + resync status (#8) 2026-08-25 22:19:56 -05:00
.gitignore ignore settings.json 2025-05-16 13:32:54 +02:00
.gitmodules RetroAchievements (#710) 2026-04-07 08:59:03 +02:00
build.rs use idle (#1039) 2026-06-08 13:23:22 +00:00
Cargo.lock update quick-xml (#1195) 2026-08-24 13:10:50 +00:00
Cargo.toml update quick-xml (#1195) 2026-08-24 13:10:50 +00:00
LICENSE Initial Commit 2023-10-04 14:33:17 -06:00
README.md Update contribution guidelines (#1143) 2026-07-01 07:58:17 +00:00
rust-toolchain.toml update rust (#1190) 2026-08-20 18:39:19 +00:00

gopher64

Gopher64 is a cross-platform N64 emulator. Some notable features:

  • Netplay
  • Homebrew support
  • Upscaling
  • CRT shader
  • Emulate CPU overclocking
  • Cheats
  • Savestates
  • RetroAchievements

download

Windows:

MacOS:

Linux:

  • Standalone executable: gopher64-linux-x86_64
  • Flatpak: flatpak install flathub io.github.gopher64.gopher64

Android:

wiki

https://github.com/gopher64/gopher64/wiki

discord

Discord invite link

controls

Keys are mapped according to these defaults. Xbox-style controllers also have a default mapping applied.

netplay

Gopher64 supports P2P netplay (online play with others).

Please read the guide before trying out netplay.

portable mode

If you would like to keep all the game data in the same folder as the executable, you just need to create a file called "portable.txt" in the same directory as the executable.

flatpak

If you want to run the flatpak from the command line, you need to add the --filesystem=host:ro option, for example:

flatpak run --filesystem=host:ro io.github.gopher64.gopher64 /path/to/rom.z64

building and usage

  1. Linux only: install the SDL3 dependencies
  2. Install rust
  3. git clone --recursive https://github.com/gopher64/gopher64.git
  4. cd gopher64
  5. cargo build --release
  6. ./target/release/gopher64 /path/to/rom.z64

contributing

PRs that are vibe coded and/or co-authored by AI agents (Plan/Agent mode) are not permitted. If you are going to submit a PR, it should be scoped to a single feature/improvement.

Please contact me via a GitHub issue or Discord (loganmc10) before doing substantial work on a PR.

license

Gopher64 is licensed under the GPLv3 license. Many portions of gopher64 have been adapted from mupen64plus and/or ares. The license for mupen64plus can be found here. The license for ares can be found here.

privacy and code signing policy

Free code signing for the Windows release is provided by SignPath.io, certificate by SignPath Foundation.

During online netplay sessions, the server logs your IP address and basic session information (game title and session name) for operational purposes. No additional personal data is collected or stored.

If you enable the RetroAchievements feature, some data is sent to their systems. Please see their terms here.