Skip to content
DittobytePublic

About

Pokémon Pokopia (Switch 2) recompiled to run natively on Windows with Linux/Handheld support. Multiplayer included, modding, feature enhancements and more! Join the discord community as well

Topics

Resources

Contributing

Security policy

Stars

737 stars

Watchers

4 watching

Forks

Repository files navigation

Recompia

Pokémon Pokopia (Switch 2) recompiled to run natively on Windows, with multiplayer support.

Latest release Latest release downloads All downloads Windows downloads Linux downloads Latest Testing build Platform: Windows 10/11 Platform: Linux AppImage Last commit on main Last commit on testing Open issues

Download the latest release for Windows Download the latest release for Linux (AppImage)

Releases · Changelog · Contributing · Credits · Parent: pokopia-native · Security · Legal · Issues · Discord

English · 简体中文 · Español · العربية · हिन्दी · Português (Brasil) · Português (Portugal)

Important

No game files are included. You need your own extracted copy of the game, version 2.0.1a. This project provides no game files, keys or dumping tools. Not affiliated with Nintendo, The Pokémon Company or Koei Tecmo; Pokémon is a trademark of Nintendo, Creatures Inc. and GAME FREAK inc. (see LEGAL.md).

Note

Built with AI, supervised by humans. This project is developed primarily with AI, with Dittobyte developers as the supervisors. Note on Josh - They say they have a handful of years of development experience, so it's not all slop. Every commit is reviewed, verified and tested by before it lands.

Screenshots

Title screen
Title screen
Island gameplay
Building your island
New Aspect Ratios
Play on New Aspect Ratios
Link Play (screenshot placeholder)
Link Play with a friend

Features

Play together (Link Play)

  • Visit a friend's island, or invite them to yours, on the same Wi-Fi or over the internet.
  • Cross-play with pokopia-native players.
  • Set it up in the launcher's Link Play page. No files to edit.
  • Step-by-step guide: Playing together.

Import your saves

  • Already playing on Eden or Ryujinx? One button in Settings finds your save and brings it over. Your emulator's copy isn't touched.
  • Got a save somewhere else? Pick its folder (the one with B00, G00 and S00 inside).
  • Your current save is never deleted. It's kept as a backup folder first.
  • If a save can't be written (a full disk, OneDrive or antivirus holding the file), your last good save is kept and the game tells you.

Easy setup

  • Use your dump as it comes: a folder (with base and updates) or a single .nup or .nx file.
  • Clear messages if something is wrong with your dump: the wrong game version, a missing update, or files damaged while copying. The launcher tells you what to do.
  • Checks before it starts: enough disk space, a working graphics driver, enough memory.
  • Use fewer cores keeps your PC usable while it builds. You can pause and carry on later.
  • Updates are quick: only the parts that changed are rebuilt.
  • The launcher tells you when a new version is out.

Controls

  • Any controller: Xbox, PlayStation, Switch Pro and more, with rumble and motion. Buttons follow the Switch layout by default.
  • Keyboard and mouse. The mouse also works in menus: click to confirm the highlighted item; scroll or use the arrow keys to move the highlight.
  • Change any button on the F1 Controls page.
  • On-screen button icons match what you're holding: keyboard, Xbox, PlayStation, Steam Controller or Switch.
  • Typing your name works with a controller, mouse or keyboard.
  • Quit without Alt+F4: hold Select and Start (View and Menu on an Xbox pad), or use Quit game in F1.
  • Open the F1 menu from a controller: click both sticks (L3 + R3); change or turn it off with [overlay] pad in controls.ini (none = off). It cannot be the quit combination.

Steam Deck and handhelds

  • Steam Deck, Legion Go S and other handhelds are recognised: controller icons stay on screen and the picture size suits the screen.
  • 16:10 screens are filled edge to edge, with no black bars.
  • Runs natively on SteamOS, with handheld speed-ups (about 26 to 53 fps on a Steam Deck and 55 to 75 fps on a Legion Go S, measured by players).
  • The launcher runs on Linux and SteamOS too: see Linux, SteamOS and the Steam Deck.

Graphics

  • Play at any resolution, 4K and above. Lower Render scale if it runs slowly.
  • Quality presets (Switch 2, High, Ultra) set how far you can see and how sharp textures are.
  • HDR on HDR screens.
  • Window, borderless or full screen. Choose the monitor, cap the frame rate, show an FPS counter. Alt+Enter switches modes while playing.
  • Upscalers: FSR 1 and NVIDIA Image Scaling work.
  • FSR 3 and DLSS / DLAA are there but don't look good yet and need rework. Leave them off for now.

In-game settings

Press F1 in the game to change graphics, controls and sound (volume, output device, mute when the window is in the background). Most changes apply straight away.

Quick start

  1. Download the zip from the latest release and extract it anywhere.
  2. Run PokopiaLauncher.exe. If SmartScreen warns, choose More info → Run anyway. Pick your dump folder and press Set up: it compiles the game on your PC (about 7 minutes), then builds the shader cache (1 to 2 hours, you can pause and continue later).
  3. Press Play.

F1 opens the settings in game. Middle mouse toggles Joy-Con 2 mouse mode (point and click to place and break blocks).

Linux, SteamOS and the Steam Deck

  1. Download PokopiaRecomp-<version>-linux-x64.tar.gz from the latest release and extract it anywhere (for example your home folder).
  2. Run PokopiaLauncher.AppImage in that folder (double-click it, or ./PokopiaLauncher.AppImage in a terminal). Pick your dump folder and press Set up: the first time it downloads its build tools (Python and Zig, about 100 MB), compiles the game, then builds the shader cache. You can pause and continue later.
  3. Press Play.

Nothing runs through Proton or Wine: the launcher, the game, the shader translator and the build tools are all native Linux programs.

If PokopiaLauncher.AppImage does not start on a system without FUSE, run ./PokopiaLauncher.AppImage --appimage-extract-and-run.

To start the game from Steam (Game Mode on the Deck): in Desktop Mode, Add a Non-Steam Game, pick PokopiaLauncher.AppImage, and set its launch options to --play. More detail, and what was tested, in launcher/README.md.

Mods and translations

You can layer a folder of replacement files (a text or texture mod, a translation) over the game without touching the game dump: Settings > Game > Mods, or romfs_mod under [fs] in pkp.ini. Nothing is bundled with this project; get a mod from its author.

The folder you choose must look like the game's own romfs: the same files and folders, starting at the top level. Its files replace the game's files with the same path, folders are merged, and files that only the mod has are served as well.

MyMod/                       <- choose this folder in Settings > Game > Mods
├── LD_C0_R.BIN              <- same path as in the game's romfs
├── LI_C0_R.IDX
└── motor_asset_re/
    └── ...

If a download has an outer folder (for example 2.0.1/romfs/...), choose the inner romfs folder, the one that contains LD_C0_R.BIN, not the outer one. If the folder level is wrong, pkp.log says that none of the mod's files replaces a game file. Mods that replace files containing shaders are not supported.

Mods e traduções (Português do Brasil)

Você pode colocar uma pasta de arquivos de substituição (um mod de texto ou de texturas, uma tradução) por cima do jogo sem mexer no dump: Settings > Game > Mods, ou romfs_mod em [fs] no pkp.ini. Este projeto não inclui nenhum mod; peça ao autor do mod.

A pasta escolhida precisa ter a mesma estrutura da pasta romfs do jogo: os mesmos arquivos e pastas, a partir do nível mais alto. Os arquivos dela substituem os arquivos do jogo com o mesmo caminho, as pastas são mescladas, e arquivos que só existem no mod também são usados.

Se o download tiver uma pasta externa (por exemplo 2.0.1/romfs/...), escolha a pasta romfs de dentro, a que contém LD_C0_R.BIN, e não a pasta externa. Se o nível da pasta estiver errado, o pkp.log avisa que nenhum arquivo do mod substitui um arquivo do jogo. Mods que substituem arquivos com shaders não são suportados.

Updating from an older version

Your saves, settings and shaders stay.

From 0.7.5 on: press Update on Home (or in Settings > About). The launcher downloads the new release, checks it, swaps its own files and restarts. When the release changes the game code, the launcher first builds the new game program (pkp.exe) next to the one you have, with the new release's own tools. That takes from a few minutes to an hour, depending on your PC, and you can keep playing the whole time: Home shows the progress, and the update installs once the game is closed. Cancel stops it until then and changes nothing; the next Update picks up where it stopped.

From 0.7.0 or older: download the new zip (Windows) or PokopiaRecomp-<version>-linux-x64.tar.gz (Linux) from the latest release, close the game and the launcher, and extract it over your install, into the same folder. It holds no saves, settings, shader cache or game files, so nothing of yours is replaced.

If Home shows Finish update after an update: that release changed the game code and it could not be built before the update (an install that was extracted by hand, or an older version picked in Settings), so the launcher builds the game program (pkp.exe) again from your game files. It also happens when you skipped such a release earlier and update by hand later. This takes from a few minutes to an hour, depending on your PC, and your shaders and saves are kept. It is not the long first setup: shaders are only translated again when the release notes say so, and then only the ones that changed. The old pkp.exe stays until the new one is ready.

Copy the save folder somewhere first if you want a backup. A save that a newer version wrote may not load in an older one.

Playing together

Link Play puts several players on one island. Cross-play works with pokopia-native players on game version 2.0.1. Players on game 1.0.5 cannot join.

What changed. Link Play now speaks pokopia-native's co-op protocol. It does not work with earlier Link Play builds of this port, so everyone updates to this release.

Each player needs their own save. A copy of someone else's save cannot join its original.

Set it up. In the launcher, open Link Play and pick one:

Choice Use it for
Off No Link Play.
Same network The default. Same Wi-Fi or network: the host is found by itself. If not, type the host's address, for example 192.0.2.10 (under This PC on the host's page), in Join directly.
Internet Play over the internet. Every room shows up in the game's Visit a Friend list: no room code, nothing to forward.

Changes apply the next time the game starts.

In the game, open the PC in your first house, then Link Play (it unlocks after Environment Level 2 in the Withered Wasteland) and pick Local connection. (Online connection is Nintendo's own service and does not work here.) The host picks Invite Others to Visit, the others Visit a Friend.

Same network. Everyone picks Same network. Steam Deck and other Proton or Linux devices find hosts and are found too, on whatever network they are on. Cafe, hotel and guest Wi-Fi often keeps devices apart: there, play over the internet instead.

Over the internet. Everyone picks Internet. Nothing to forward and no code to type: the launcher uses the project's public relay, and every room on it shows up in the game's Visit a Friend list. For a private room, say yes when the game asks to set a Link Code: only players who type it can join. Your own relay or a forwarded port are under Advanced; any pokopia-native co-op relay works there too, and PokopiaLauncher --host runs one on a server. The Link Play guide has the steps and what to check when it does not connect; the full multiplayer page has relays and ports. The relay does not encrypt the game's traffic.

Ports and firewall. The first time you host, Windows Firewall asks about pkp.exe: allow Private networks. Your network must be Private too (Settings, Network & internet, your connection, Network profile type: Private).

Port Who Protocol
47600 the host TCP and UDP
47610 the relay TCP, and UDP for the faster path

Interact everywhere and Story co-op (experimental, off by default). In the story areas the game puts visitors in Spectator Mode. Interact everywhere lets them use moves and items, pick up, place and build there. Story co-op lets them talk to the story characters, and turns Interact everywhere on. Every player needs the same two switches, or the host is not listed. Only the host's save keeps the story progress.

Link Play: joining and walking around together work. See docs/multiplayer for how it works and the pkp.ini keys.

Common problems

  • The window is black, or the game stutters a lot, on the first launch. The game makes some shaders while it runs. The launcher translates the ones it has seen before every start and again after you quit, so the first runs are rough and later ones are better. Give it a minute and keep playing. If the setup stopped half way, open Game files and press Set up to continue. It keeps finished work.
  • The launcher says the game files are from an older version, or that the update is missing. This release needs version 2.0.1a. Dump the game again with the update installed. The base game alone is not enough.
  • The launcher says it found no usable game files, or Set up says a file does not match. Pick the folder that holds base and updates (for example Pokopia_v2.0.1a). Each needs exefs (main, sdk, subsdk0, rtld, main.npdm) and romfs. A file that does not match is damaged. Dump it again, or copy it again.
  • The launcher says the game data (romfs) is incomplete, or the game closed at start with "pkp.exe exited with code 4". Your dumping tool wrote the update's romfs without the base game's files under it (an update only holds the files it changes). Keep the base game in the same dump (base next to updates, each with exefs and romfs) and pick the folder that holds both: the launcher adds the missing files from base itself. Then press Set up once more. Otherwise dump the game again with the update merged into the base game.
  • The launcher says the dump was copied in text mode. You copied it with FTP in text mode, which damages main, sdk and subsdk0. Copy the exefs and romfs folders again with the transfer type set to Binary (FileZilla: Transfer, Transfer type, Binary).
  • Your dump is one file (.nsp, .xci). The launcher takes the game as folders, or as a .nup or .nx package (an .nx made from extracted files or from a .nup, not straight from the .nsp or .xci). Extract the .nsp or .xci to folders with your dumping tool.
  • Setup stops with an error about a file that cannot be opened or removed. Put the folder somewhere plain, like C:\Pokopia, not in a folder that OneDrive syncs. Your antivirus may be scanning the files it is building: wait for it, or allow the folder. Open setup log shows where it stopped.
  • Set up warns before it starts. It checks free disk space (about 14 GB with packed shader files, the default, or about 31 GB with loose ones), Vulkan, memory and the processor first. On an Intel 13th or 14th generation desktop CPU, update the BIOS before you set up: without Intel's fix these CPUs can crash under long full load. If the PC gets hot or hard to use while it builds, tick Use fewer cores.
  • Low frame rate, or a blurry picture. The picture size is fixed when the game starts. It is the size of the window or screen at that moment (Settings, Display).
    • Start in Borderless on a 4K screen and the game draws at 4K. That is heavy. Lower Render scale.
    • Start Windowed (1280x720 by default) and press Alt+Enter, and the picture stays 720p, scaled up. Set Window mode before you press Play.
    • Set Frame rate limit to what your screen can show.
  • Link Play: the visitor cannot find the host. Pick Visit by address and type the host's address (the host's Link Play page shows it). Check that the host started the game and picked Invite Others to Visit, that Windows Firewall allows pkp.exe on Private networks, and that the network is Private. Cafe, hotel and guest Wi-Fi that keeps devices apart blocks LAN play for everyone: use Internet with a relay and a room code. Over the internet, check the relay address and the room code. Changes on the Link Play page apply the next time the game starts.
  • Link Play: the connection is refused. The players do not match. Everyone needs game 2.0.1, the same release (or pokopia-native for cross-play), and the same mods and the same Interact everywhere and Story co-op switches.
  • Link Play: "Communication error" (9005) when you visit. You are both playing copies of the same save, so both have the same player ID. Each player needs their own save.
  • The controller is not detected. Open the game with F1 and look at the Gamepad line on the Controls page. It says "No gamepad open" when the game sees none. Connect it before you press Play, then try the other cable or port. Close other programs that may be holding the pad.

If it is none of these, see Reporting problems.

Where your saves, logs and settings are

All of these are in the game folder: the folder with PokopiaLauncher.exe and pkp.exe, unless you chose another one in Settings, Game folder.

What Where
Saves save (Settings can point it elsewhere: Save folder)
Settings pkp.ini and controls.ini (F1 in game writes controls.ini)
Log pkp.log, written on every start from the launcher. A crash also writes pkp_crash.txt, pkp_freeze.txt or pkp_fatal.txt.
Translated shaders shader_cache (about 26 GB)
Build files build (the setup's work folder)
Unpacked .nup or .nx nup_dump, if you picked a .nup or .nx (its add-ons, if any, in nup_dump/aoc)
Launcher settings %APPDATA%\org.pkp-recomp.launcher\launcher.json (your dump folder and game folder)

Never attach game files, the build or shader_cache folders, or saves to an issue. pkp.log is enough.

Community

Questions, bug help, testing and chat: join the Recompia Discord. The launcher also has a Join Discord button under Settings > About > Community. Bugs that need a fix are still reported on GitHub.

Reporting problems

Open an issue with pkp.log from the session where it happened, your GPU and your Windows version (on Linux: your distribution, the Proton version and the device).

Linux, SteamOS and Linux handhelds: I (Jerban) look after the Linux side, so Linux bugs get fixed and sent out quickly through the one-click updater. Sorry for the frequent updates, and thanks for your patience. Please keep reporting Linux bugs, always with your logs: pkp.log, and setup.log for problems with Set up (see Where your saves, logs and settings are). Anything outside Linux is reviewed by Josh first.

License

GPL-3.0. Third-party code keeps its own licence, see CREDITS.md.

About

Pokémon Pokopia (Switch 2) recompiled to run natively on Windows with Linux/Handheld support. Multiplayer included, modding, feature enhancements and more! Join the discord community as well

Topics

Resources

Contributing

Security policy

Stars

737 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages