Skip to content

Releases

Launcher 0.3.8

Choose a tag to compare

@Grunttanamo Grunttanamo released this 14 Nov 10:03

KarPur Launcher 0.3.8 fixes a build failure when updating an existing installation.

Fixed in 0.3.8
Builds after an update could fail with undefined res_shadow_* symbols. Thanks to @alcantarilla22 for reporting this in #66. The launcher unpacked source files with older archive timestamps, so Ninja could incorrectly reuse compiled files from an earlier version. Updated files now receive current timestamps; on a launcher-version change, unchanged project files are also refreshed to recover installations already affected by this problem. Subsequent builds of the same version remain incremental.
Link failures now point to the actual linker errors, instead of always suggesting that a running game was locking the executable.
Added an automated regression test using the actual launcher unpacker and a synthetic archive. All seven launcher checks pass, including nine unpacking assertions. The update was also tested successfully on an existing installation.
If you encountered #66: update to Launcher 0.3.8 and build again. You do not need to delete your installation or extract your game again.

Included from 0.3.7
These changes were already included in 0.3.7 and are retained in 0.3.8:

Fixed the launcher error dialog when switching keyboard layouts while a text field or build log has focus (CultureNotFoundException / globalization-invariant mode).
Fixed the crash when opening the map with shadow quality x4 (#61). Both shadow render targets now preserve the game's original graphics-memory budget.
Fixed recovery after an interrupted compiler/toolchain download (#62). The build now checks the complete package list and continues an incomplete setup.
Fixed builds in installation folders containing characters outside the system codepage (#65).
Improved failed-build reports so they show the actual failure and nearby lines instead of unrelated warnings at the end of the log.
Retained everything from 0.3.5: shadow quality up to x4 and Disabled, no version exclusives, no trade evolutions, stutter reduction, the volume fix and .nsp base-game support.
Added the optional AMD character-creation diagnostic switch TOTK_XFB_SYNC=1 (#18); it is off by default and slower when enabled. This is a diagnostic option, not a confirmed AMD crash fix.
Added six checks for the launcher's build path and a release checklist for contributors.
KarPur builds the game from your own dump. No game data is included.

Launcher 0.3.7

Choose a tag to compare

@Grunttanamo Grunttanamo released this 14 Nov 08:23

KarPur Launcher 0.3.7: shadow quality x4 no longer crashes when the map is opened, two builds that could not recover are fixed, and a failed build finally says what went wrong.

Fixed

  • Switching the keyboard layout while typing in the launcher raised an error dialog ("Unhandled exception … Only the invariant culture is supported in globalization-invariant mode"), for example after clicking into the build log. Windows tells the program which layout is now active, the program asked the system what language that is, and the build setting we used had no answer for anything but English. It is likely to have hit German, French and most other non-English keyboards. The game itself was never affected and the build kept running.

  • Shadow quality x4 crashed the game when the map was opened (#61). The setting arrived in 0.3.5 and this hit everyone who chose x4; x2 and x3 were not affected.

    The sun shadow pass has two render targets, not one. Only the depth map was reported to the game as the 1024x1024 one it replaces, so the second asked the game's own graphics pool for 32 MiB instead of 2 — 30 MiB off the budget the game sizes for itself. Opening the map ran that pool out, and the game does not check the allocation that then fails. Both targets are now reported the same way, and one rule decides both what the game is told and where the memory comes from, so the two cannot disagree again. Wild Pokémon and town NPCs are unchanged, which is the thing that breaks when the game's own budget is touched.

  • A build that stopped during the compiler download could never finish afterwards (#62). An interrupted toolchain step was remembered as complete, because only one of its 31 packages was checked for — and that one is the first. Every later build then failed at the lifting step with ninja not found, with no way out through the launcher, and each attempt spent three minutes merging the RomFS first. The launcher now compares what was unpacked against the full list and continues where it stopped.

  • A build failed outright if the install folder held a character outside the system codepage (#65), such as D:\Game\Pokémon_Violet. The resource compiler opens the files it is pointed at through that codepage; it now gets a relative name instead of a full path.

  • A failed build now reports the reason. The error shown after a failure kept the last few lines of output — but a build that stops at one file compiles all the others, so what you saw were warnings from somewhere else. It now keeps the line that announces the failure and the two after it. If you report a build problem, that line is what tells us where to look.

Also in this release

  • Everything from 0.3.5: shadow quality up to x4 and Disabled, no version exclusives, no trade evolutions, the stutter reduction setting, the volume fix and .nsp base games.
  • A switch for the AMD crash during character creation (TOTK_XFB_SYNC=1), for anyone who wants to help narrow it down (#18). It is off by default and slower when on.
  • For contributors: tools/check_launcher.py runs six checks on the launcher's own build path before a release, one for each way it has gone wrong, and docs/launcher-checks.md lists the steps that cannot be automated. Five of the six exist because a player found the bug instead of us; the sixth because a release was test-built into an empty folder and crashed on a keyboard layout change.

Looking for AMD help

There is still no AMD graphics card here and nobody nearby with one, so the AMD-specific bugs are hard to track down alone: a crash during character creation on newer cards (#18, #28, #39), a GPU usage spike at the same moment (#17), and flickering foliage (#29, #59). If you own an AMD card and know Vulkan or graphics debugging, an issue or a pull request would help a great deal — see #51.

Reminder

KarPur builds the game from your own dump. It ships no game data, and none of the settings add any: they change values in the data your own copy already contains.

Launcher 0.3.6

Choose a tag to compare

@Grunttanamo Grunttanamo released this 14 Nov 07:38

KarPur Launcher 0.3.6: shadow quality x4 no longer crashes when the map is opened, and two builds that could not recover are fixed.

Fixed

  • Shadow quality x4 crashed the game when the map was opened (#61). The setting arrived in 0.3.5 and this hit everyone who chose x4; x2 and x3 were not affected.

    The sun shadow pass has two render targets, not one. Only the depth map was reported to the game as the 1024x1024 one it replaces, so the second asked the game's own graphics pool for 32 MiB instead of 2 — 30 MiB off the budget the game sizes for itself. Opening the map ran that pool out, and the game does not check the allocation that then fails. Both targets are now reported the same way, and one rule decides both what the game is told and where the memory comes from, so the two cannot disagree again. Wild Pokémon and town NPCs are unchanged, which is the thing that breaks when the game's own budget is touched.

  • A build that stopped during the compiler download could never finish afterwards (#62). An interrupted toolchain step was remembered as complete, because only one of its 31 packages was checked for — and that one is the first. Every later build then failed at the lifting step with ninja not found, with no way out through the launcher, and each attempt spent three minutes merging the RomFS first. The launcher now compares what was unpacked against the full list and continues where it stopped.

  • A build failed outright if the install folder held a character outside the system codepage (#65), such as D:\Game\Pokémon_Violet. The resource compiler opens the files it is pointed at through that codepage; it now gets a relative name instead of a full path.

  • A failed build now reports the reason. The error shown after a failure kept the last few lines of output — but a build that stops at one file compiles all the others, so what you saw were warnings from somewhere else. It now keeps the line that announces the failure and the two after it. If you report a build problem, that line is what tells us where to look.

Also in this release

  • Everything from 0.3.5: shadow quality up to x4 and Disabled, no version exclusives, no trade evolutions, the stutter reduction setting, the volume fix and .nsp base games.
  • A switch for the AMD crash during character creation (TOTK_XFB_SYNC=1), for anyone who wants to help narrow it down (#18). It is off by default and slower when on.
  • For contributors: tools/check_launcher.py runs five checks on the launcher's own build path before a release, one for each way it has gone wrong, and docs/launcher-checks.md lists the steps that cannot be automated. Three of the five checks exist because a player found the bug instead of us.

Looking for AMD help

There is still no AMD graphics card here and nobody nearby with one, so the AMD-specific bugs are hard to track down alone: a crash during character creation on newer cards (#18, #28, #39), a GPU usage spike at the same moment (#17), and flickering foliage (#29, #59). If you own an AMD card and know Vulkan or graphics debugging, an issue or a pull request would help a great deal — see #51.

Reminder

KarPur builds the game from your own dump. It ships no game data, and none of the settings add any: they change values in the data your own copy already contains.

KarPur Launcher 0.3.5

Choose a tag to compare

@Grunttanamo Grunttanamo released this 13 Nov 14:16

KarPur Launcher 0.3.5: sharper sun shadows at no cost to the game, both editions' exclusive Pokémon in one game, evolutions that used to need a trade, and a first setting against stutter.

New

  • Shadow quality (Settings tab): Original, x2, x3, x4, or Disabled. The game's own sun shadow map is 1024x1024; x4 makes it 4096x4096, which removes most of the jagged edges on shadows.

    It costs the game nothing. The map is reported to the game as the original size, so the game's own memory stays exactly as it was shipped and nothing is taken from the streaming it does for NPCs and wild Pokémon. An earlier attempt that grew the game's graphics pool instead did take it, and cut the distance at which town NPCs appear from about 30 m to about 3 m — that is gone.

    Disabled skips the shadow pass completely: no sun shadows, and work the GPU no longer does at all.

  • No version exclusives (Settings tab, off by default): the wild Pokémon that are exclusive to the other edition spawn in yours as well. 66 spawn entries across Paldea, Kitakami and the Blueberry Academy, including the version-split paradox Pokémon and Tauros' two breeds. Your own edition's Pokémon are unaffected.

  • No trade evolutions (Settings tab, off by default): the 28 evolutions that can only happen through a trade work offline instead. 16 of them on reaching a level, 12 by holding the item they needed and gaining a level. Kadabra, Machoke, Graveler, Haunter, Boldore, Gurdurr, Phantump, Pumpkaboo, Onix, Scyther, Spritzee and Swirlix take a level; Poliwhirl, Slowpoke, Rhydon, Seadra, Electabuzz, Magmar, Porygon, Porygon2, Feebas, Dusclops and Clamperl's two evolutions take an item. The exact levels and items are listed in docs/progress.md.

  • Stutter reduction (Settings tab: off, standard, aggressive — off by default, experimental): two changes contributed in #49 and #53, which let a window image be acquired again at its display time and let threads run without a virtual core until they ask for their core number. Both measured as an improvement in play, both still new, so they stay off until more people have tried them.

  • The player's volume now also applies to AudioOut, not only the audio renderer (#44).

  • A base game given as an .nsp now merges with the update, instead of needing an .xci (#40).

  • The Home page now carries a short notice about the state of AMD support, so it is visible before the first build rather than only in the issues.

Fixed

  • A build could lift and compile for over an hour and then stop with No module named 'romfs_index' (#45). The module shipped correctly; what was missing is that Python only puts a script's own folder on its search path when started the usual way. With PYTHONSAFEPATH set, or -P or -I, it does not. The two tools that imported a neighbour without saying where it lives now say so.

If trees or foliage flicker

Several reports describe random trees or foliage flickering (#29, #59). One of them notes that a 2K shadow mod made it stop in a different emulator — which is close enough to the new Shadow quality setting to be worth a try. If x2 or higher changes anything for you, please say so in those issues; it would be the first real lead.

Note on building

If a build stops at the linking step with "Permission denied" on karpur.exe, the game is still running from that folder and holds the file (#48). Close it and build again.

Looking for AMD help

The maintainer has no AMD graphics card and knows nobody who does, so the AMD-specific bugs are hard to track down alone: a crash during character creation on newer cards (#18, #28, #39), a GPU usage spike at the same moment (#17), and the flickering above. If you own an AMD card and know Vulkan or graphics debugging, an issue or a pull request would help a lot — see #51.

Reminder

KarPur builds the game from your own dump. It ships no game data, and none of the settings above add any: they change values in the data your own copy already contains.

KarPur Launcher 0.3.3

Choose a tag to compare

@Grunttanamo Grunttanamo released this 11 Nov 12:44

KarPur Launcher 0.3.3: DLC, a controller-friendly launcher, a Quit button and performance overlay in the game's own menu, and a real performance option for AMD and other non-NVIDIA cards.

New

  • DLC activation: confirmed working, including the story areas (not just the costumes). Give your DLC .nsp in Setup and it is unpacked and reported to the game automatically, no extra switch needed.
  • Quit game button in the F1/Esc menu, with a confirmation, so fullscreen no longer needs Alt-F4 (#25).
  • Performance overlay (Off/FPS/Full) is now also selectable in the F1/Esc menu, not just the launcher.
  • The launcher itself works with a controller (#30): the sidebar's tabs and Play follow the stick or D-pad, A opens a page or presses a button, B goes back.
  • Graphics card setting (Settings tab): pick which GPU runs the game when more than one is installed.
  • Mode setting: Docked (1920x1080, full quality) or Handheld (1280x720, the console's own lower-resolution mode) — a genuine speed gain on AMD and other non-NVIDIA cards, no reverse engineering needed. NVIDIA-only options (DLAA, DLSS, Frame Generation) lock themselves off once you pick a non-NVIDIA card.
  • Fresh edition artwork in the launcher (icons, logos, larger banners).

Fixed

  • The performance overlay's "3D scene" line always read the same as "Game image" and was removed; it had no patch behind it on this game version.

Looking for AMD help

The maintainer has no AMD graphics card and knows nobody who does, so the remaining AMD-specific bugs (a crash on some RDNA 3 cards during character creation, flickering trees) are hard to track down alone. If you own an AMD card and know Vulkan or graphics debugging, please open an issue or pull request — even a contribution put together with an AI assistant's help would be very welcome.

Updating

Open the Update tab of your launcher and install 0.3.3, or download KarPur-Launcher.exe below. It rebuilds what changed (including the DLC step) and prepares the shaders again. Your saves and settings stay.

🤖 Generated with Claude Code

KarPur Launcher 0.3.2

Choose a tag to compare

@Grunttanamo Grunttanamo released this 10 Nov 20:27

KarPur Launcher 0.3.2: your team with its icons, an experimental Mods tab, fixes for AMD graphics cards, and a test run for older processors.

New

  • Team icons on the Home page: each Pokémon of your team shows its icon. KarPur takes the icons from your own game files during the build and keeps them on your PC; the launcher contains no pictures from the game.
    • The Home page now follows the game: the team updates as soon as you save, and when the game ends.
  • Mods (experimental): a new tab for your own mods, for example from NexusMods: add a mod folder or a .zip, switch each mod on or off.
    • Nothing of your game is replaced: KarPur gives the game a mod's file while the game loads the original. A mod switched off is gone at the next start.
    • Only a few mods have been tried so far. Mods that change existing files work (tested: Improved Dynamic LODs, PokePopulation). Files a mod adds and a mod's code (exefs) are not supported yet; the tab says per mod what it can use. If a mod makes the game crash or behave oddly, switch it off and tell us in Feedback which mod it was.
  • Firmware folder (Setup, optional): with your console's system files, a base game as .nsp, or an .xci converted from one, now builds too (they lack the system fonts a cartridge carries).

Fixed

  • AMD graphics cards: black shadows. Everything facing away from the sun was black, because the game's ambient light could not be read on AMD (#12). Checked on an AMD RDNA 2 GPU.
  • AMD graphics cards: crashes ("device lost") in the character creation: graphics pipeline libraries are now off on every AMD card, which made the game run much longer in #18. If it still crashes for you, please report it.
  • The build stopped at the compiler download (CERTIFICATE_VERIFY_FAILED) when an antivirus program scans HTTPS: the download now goes through Windows itself in that case (#20). Every file is still checked against its fixed checksum.
  • When Windows runs out of memory (RAM and page file), the game's log now says so in plain words (#14).
  • The launcher rebuilds the game by itself after it was updated in any way (also when you replaced it by hand).
  • The launcher no longer shows an error when its window is minimised.

Test run: processors without AVX2

Since 0.3.1 the game builds and starts on older processors without AVX2. 0.3.2 makes the game's math much faster there (the build now targets your own processor, and a calculation the game uses everywhere no longer runs in slow software). This has hardly been tried. If you have such a processor, please send a report with your CPU and the FPS you get: it helps a lot (#15).

Updating

Open the Update tab of your launcher and install 0.3.2, or download KarPur-Launcher.exe below. It rebuilds what changed and prepares the shaders and icons again (a few minutes). Your saves and settings stay.

🤖 Generated with Claude Code

KarPur Launcher 0.3.1

Choose a tag to compare

@Grunttanamo Grunttanamo released this 09 Nov 09:14

KarPur Launcher 0.3.1: a fix for the team on the Home page.

Needs to be Fixed

  • The Home page could show wild Pokémon instead of your team, for example an outbreak near you. The game keeps the wild Pokémon around you in the same form as your party. It will get fixed with the next Launcher Update!

Updating

Open the Update tab of your launcher and install 0.3.1, or download KarPur-Launcher.exe below. It rebuilds what changed (a few minutes). Your saves and settings stay.

Everything new in 0.3.0 (Home page, Saves tab, all shaders prepared during the build, compatibility mode, the fix for processors without AVX2) is in the 0.3.0 notes.

🤖 Generated with Claude Code

KarPur Launcher 0.3.0

Choose a tag to compare

@Grunttanamo Grunttanamo released this 09 Nov 08:52

KarPur Launcher 0.3.0: a new look, your team on the start page, a Saves tab, all shaders prepared during the build, and fixes for players whose build or game failed.

New

  • Home page: a start page in your edition's colours (Violet purple, Scarlet red), with Play, the state of your build, your last save and your current team (name and level).
    • The game writes the team when it saves, so the page shows it after your first save with this version.
  • Saves tab:
    • Export your save as a .zip, Import one, open its folder, or restore one of your last saves.
    • The current save is always kept as a backup first.
  • All shaders prepared during the build: the last step of Build prepares about 36,000 shaders from your own game files. New areas, Pokémon and attacks appear without the stutter of first-time shader builds.
    • The first time this takes about 5 minutes; after updates, about a minute.
  • Compatibility mode (Settings): turn it on if your game crashes right after the character creation.

Fixed

  • The build stopped at "Self-test" (exit code 3221225501) on processors without AVX2. The build now detects your processor and builds for it.
  • The dropdowns no longer flash the old square look on hover.

Changed

  • Every page has its own icon, and pages open at their top.
  • A palette per edition across the whole launcher; the logo follows it.

Updating from 0.2.0

Open the Update tab of your launcher and install 0.3.0, or download KarPur-Launcher.exe below. It then rebuilds what changed and prepares the shaders (a few minutes). Your saves and settings stay.

Requirements reminder

  • The base game must be an .xci (a cartridge dump). A base game as .nsp stops the build with an error about the shared fonts folder.
  • The update must be 4.0.0.

Only Pokémon Violet 4.0.0 has been tested by the maintainer; Scarlet works according to community reports. The launcher contains no game files. Everything built from your game stays on your PC: do not share it.

🤖 Generated with Claude Code

KarPur Launcher 0.2.0

Choose a tag to compare

@Grunttanamo Grunttanamo released this 08 Nov 11:24

KarPur Launcher 0.2.0: NVIDIA DLAA, DLSS and Frame Generation, a Controls tab, and the game's DLC button back.

New

  • NVIDIA DLAA (Settings > Anti-aliasing): smooth edges in the 3D world, about 1 ms per frame on an RTX card.
  • NVIDIA DLSS (Settings > Upscaling): the 3D world resolved at your window's size, or at 4K and scaled down (supersampling). The HUD stays as the game draws it.
  • DLSS Frame Generation (Settings > Frame generation): 2x on RTX 40, up to 4x on RTX 50. Needs Windows' hardware-accelerated GPU scheduling (Settings > System > Display > Graphics) and a restart of the PC.
  • NVIDIA's files are not part of KarPur. Add your own copies with Add nvngx_dlss.dll and Add Streamline files (games with DLSS Frame Generation ship them: nvngx_dlss.dll, nvngx_dlssg.dll, sl.interposer.dll, sl.common.dll, sl.dlss_g.dll, sl.reflex.dll, sl.pcl.dll).
  • Controls tab: click a button and press the key, mouse button or controller button you want; controller layout, stick dead zone, swapped sticks, inverted camera, mouse sensitivity, vibration, motion controls.
  • In the game, F1 or Esc opens the Controls page, and the performance overlay names DLAA / DLSS and the frames Frame Generation shows.

Changed

  • The game's downloadable-content button is back: the PC settings page in the game's menu is off by default (the launcher has the same settings).
  • Rounded dropdowns and dark scrollbars; every page scrolls.
  • The Feedback button opens the browser reliably (long reports go to the clipboard).

Updating from 0.1.0

Open the Update tab of your launcher and install 0.2.0, or download KarPur-Launcher.exe below. Then press Build once in Setup: only what changed is rebuilt (a few minutes). Your saves and settings stay.

Only Pokémon Violet 4.0.0 has been tested. The launcher contains no game files. Everything built from your game stays on your PC: do not share it.

🤖 Generated with Claude Code

KarPur Launcher 0.1.0

Choose a tag to compare

@Grunttanamo Grunttanamo released this 08 Nov 03:54

The first release of the KarPur Launcher: build Pokémon Violet 4.0.0 as a native PC game from your own dumps, without installing anything.

What you need

  • your own base game as an .xci (an .nsp does not work as the base game), the update 4.0.0 as an .nsp, the DLC as an .nsp if you have it, and prod.keys from the same console
  • Windows 10 or 11 (64-bit) with a Vulkan graphics card and a current driver
  • about 30 GB of free space while building (about 12.5 GB afterwards) and an internet connection

Only Violet has been tested. Scarlet is untested.

How to use it

  1. Download KarPur-Launcher.exe below and start it. Windows may warn because the file is not signed: More info → Run anyway.
  2. In Setup, choose your files and a target folder without spaces, then press Build (30-60 minutes the first time).
  3. Press Play, or use the shortcut in your target folder.

What's in it

  • builds without Python, MSYS2, .NET or Visual Studio: the launcher downloads Python and the compiler from their official sources and checks every file
  • Settings for the game (FPS limit, window, upscaling, wild Pokémon, …), Repair, Update from this releases page, and a dark design that follows your game's colour
  • Feedback: fills in your PC's details and opens a GitHub issue for you to submit
  • PC Settings in the game's main menu are set up automatically, and karpur.exe gets your game's own icon

The launcher contains no game files. Everything built from your game stays on your PC: do not share it.

🤖 Generated with Claude Code