github Dittobyte/Recompia v0.10.2-beta.1
Pokopia Recomp 0.10.2-beta.1 (Testing)

pre-releaseone hour ago

Changes in this build

  • #440 Host: more AMD handhelds recognised, from one board table
  • #439 Pool copy: the log line says why auto chose on or off
  • #438 Memory guard: log both commit readings, one counter helper
  • #441 Merge main into testing
  • #434 README: Dive-safe F1 example and Portuguese translations (Brazil and Portugal)
  • #436 Report a GPU wait that starts mid-run, and show the shader translator's error in setup.log
  • #433 Launcher: Koi's Camp comes back, Meadow is a fourth colour, lighter pictures
  • #397 Runtime: change one ini value in place (config_save_key), first step of the Gameplay tab
  • #412 Steam Controller icons fit the Steam Controller (2026)
  • #414 Pad: bind the Steam button and the extra (quick-access) button
  • #416 Options: pad button remap rows in the game's Controller tab
  • #419 Link Play: Copy invite and Paste invite (one message for address, room code and mode)
  • #420 Link Play: Test connection, Check my setup and Friends on my Tailscale
  • #422 Replace fan art and the game-styled logo with placeholder art
  • #423 Comments and scripts: drop the earlier game's name and a personal path
  • #417 pkp_ui_backdrop: state the goal of the 4:3 work in the header
  • #415 Merge main into testing: readback deferral on by default (#276), frame trace lock fix
  • #276 Brings Josh's PR #404 (deferred NVN readback on by default for the 30x16 scene-colour probe, the readback candidate's test and notes removed) and PR #407 (frame trace without the name lock) into testing.
  • #411 Log when every frame waits on the GPU from the start of a run (#405)
  • #413 4:3 Fix: full-screen UI backgrounds fill narrower-than-16:9 screens (experimental, off by default)
  • #408 Show which gameplay mods are on (pkp.log and Settings > Gameplay)
  • #406 Changelog: gameplay extras are off by default in the Testing build
  • #403 Story co-op: the host's story keeps going during a session (pokopia-native 1.4.0)
  • #401 Link Play: pokopia-native's co-op module at 1.4.0 (port forwarding, room code out of the log)
  • #402 NVN: loop guards for three compute shaders (pokopia-native 1.4.0)
  • #400 Merge main into testing: gameplay mods on by default, shadow quality, pool import retry
  • #395 Merge main (new folder layout) into testing, carrying the off-by-default extras and the Testing tab
  • #391 Touch Menu button automatic again (handhelds keep a way into the menu)
  • #390 Extras are off by default: mouse in menus, taller view, touch Menu button, shader note
  • #389 Launcher: Testing tab (log export and viewer, experimental features)
  • #388 Merge main (0.9.0) into testing, with launcher arrow-key navigation (#362)

Update: press Update, then Set up again once (new game hook for Story co-op; your saves and shaders are kept).

Regressions and known problems

  • The Lenovo Legion Go, Go 2, ROG Xbox Ally and MSI Claw A8 now start in handheld mode (picture size, the game's lighter handheld graphics settings, controller prompts, short waits under Proton). This has not been confirmed on those devices yet; if it looks worse than before, set [am] operation_mode = docked or [host] handheld = off in pkp.ini
  • Under Proton the memory limit cannot trigger yet (the reading it compares is 0 there); this build only shows both readings in pkp.log
  • The Steam Controller (2026) is still not detected under Proton; use another pad there

What to test

  • On any AMD handheld (Steam Deck, ROG Ally, Legion Go, Legion Go S, Xbox Ally, Claw A8), under Proton or Windows: play 10 minutes, then send the lines of pkp.log that contain host: handheld, pool_copy, footprint and gamepad. Say which BIOS GPU-memory setting you use if you changed it. They show which handheld rule matched, why pool copy is on or off with the graphics memory size, and the two memory readings
  • On a Legion Go, Go 2, ROG Xbox Ally or MSI Claw A8: check that pkp.log says host: handheld: yes, and tell us whether the picture size, the controller prompts and the frame rate feel right compared with the previous build
  • If the frame rate falls partway through a session: send the pkp.log lines that contain waited on the GPU and say how long into the session it began
  • If Set up stops on a Steam Deck or another Linux handheld: send shader_cache/harness_error.txt and setup.log

Memory limit

  • pkp.log now shows both memory readings (private commit and pagefile usage) in its footprint line and in the 75% warning, and says once when the private-commit reading is 0
    • Before: only the footprint was shown, so on Linux (Proton) a log reading footprint 0.00 GB could not tell whether the game used no memory or the reading was blind
    • Now: the log names both readings; the limit itself is checked exactly as before
    • Still not: the memory limit compares private commit, so it cannot trigger while that reading is 0; this only makes that visible in a log

Graphics driver resets

  • pkp.log now says when every frame of a run waits on the graphics card from the start, which is what a driver reset on a Linux handheld looks like. The game cannot fix it: reboot the device. The README's common problems say so too
  • It also notices a run that starts fine and then slows down: when frames wait on the graphics card for three summary windows in a row, pkp.log says when it began (before, it only looked at the start of a run). It is a note for bug reports, not a fix

Shader setup

  • When the shader translator stops, setup now writes what it said to shader_cache/harness_error.txt and shows it in setup.log and in the error (on Linux, Proton hid it, so the log said only that it stopped)
  • Setup checks that the translator's files are whole before it starts and names what is missing or too short

Screens narrower than 16:9

  • Added 4:3 Fix, a very experimental option in Settings > Testing (Testing channel only, off by default) for 4:3, 16:10 and 3:2 screens: full-screen backgrounds, fades and dimming fill the whole picture instead of stopping at a 16:9 strip in the middle. Menus, text and buttons stay where they were. If you have a 4:3 or 16:10 screen, please try it and send pkp.log with what looked wrong. It needs a restart of the game to take effect
  • pkp.log also states how many megapixels a frame costs at the picture's shape

Link Play invites

  • Added Copy invite and Paste invite to the launcher's Link Play page: the host copies one message (address, room code and mode) and the friends paste it, instead of typing both. A Tailscale address is recognised and set up as internet play, and the host's page now lists the PC's Tailscale address even without a relay. Typing a Tailscale address into Same network now says what to do instead of just refusing it
  • Added Test connection, Check my setup and Friends on my Tailscale to the Link Play page: they say in plain words whether an address answers, what may block friends from joining (firewall, a Public network, client isolation), and which of your Tailscale devices are hosting, with a Join button. They only look and never change anything

Pool copy diagnostics

  • pkp.log now states why pool copy is on or off: whether the host is Wine, the graphics card type and its largest device-local memory heap in MiB, and the 8 GiB limit

More handhelds recognised

  • The Lenovo Legion Go, Go 2, the ASUS ROG Xbox Ally and the MSI Claw A8 (the ROG Ally X was already recognised) are now treated as handhelds, like the Steam Deck, Legion Go S and ROG Ally
    • Before: only the Deck, Legion Go S and ROG Ally were recognised; on the others the game was told it was docked and the picture size and short waits were chosen for a desktop PC
    • Now: on these devices the game is told it is in handheld mode and picks its own lighter handheld graphics settings, a window smaller than 1080p is no longer rendered at 1080p, controller prompts stay for the trackpad and touch screen, and (under Proton) short waits sleep instead of spinning. pkp.log shows which board rule matched in the host: handheld line
    • Still not: AYANEO, GPD and OneXPlayer, whose board names are not reliably known (OneXPlayer's also cover Intel models); set [host] handheld = on in pkp.ini for those. If the handheld graphics settings do not suit your device, set [am] operation_mode = docked (that alone), or [host] handheld = off (all of it)

Gameplay mods

  • Settings > Gameplay and pkp.log now show which gameplay mods and experimental features are on, so you can see at a glance what a start will use

The Testing tab

  • Added a Testing tab to Settings, shown only on the Testing channel: send logs, read them, and switch the features still being tried on or off
    • Export and report makes one zip of pkp.log, pkp.log.prev, the crash files, setup.log and pkp.ini, opens its folder (testing-logs next to pkp.exe) and the bug report form. Drag the zip into the form: the launcher has no GitHub login, so nothing is uploaded for you
    • Names in paths, your account and server settings and IP addresses are removed before anything is written. Long logs keep their end, so the zip stays under GitHub's 25 MB limit
    • View logs shows the end of each file in the launcher, with a filter and a Copy button
    • Experimental features has Mouse in the game's menus and the Taller view on 16:10 screens, both off by default. The gameplay options (Camera aim, Running jump, Sort, Search, Quit Game) are off by default in this Testing build; switch them on here
  • The touch screen Menu button is automatic: on when the machine has a touch screen, so a handheld keeps its way into the menu

Link Play

  • Updated the co-op module to pokopia-native 1.4.0. It still plays with pokopia-native 1.3.0 to 1.4.0 and with earlier builds of this game: the way games talk to each other did not change
  • Added automatic port forwarding when you host over the internet without a relay
    • Before: your router had to forward port 47600 (TCP and UDP) by hand
    • Now: while you host, the game asks your router to forward it (UPnP, NAT-PMP or PCP) and gives it back when you stop. Ask the router to open the port on the Link Play page's Host view ([net] port_forward) turns it off
    • Still not: a router with UPnP switched off, or an internet provider that shares one address among many homes, can't be helped by this; pkp.log says which, in a nat: line. A relay you run on this PC still needs its own port forwarded. Quitting the game while hosting leaves the forwarded port until its one-hour lease runs out
  • pkp.log no longer contains your whole room code, only its first group, so a log is safe to attach to a bug report. The launcher still shows the whole code

Game

  • NVIDIA graphics cards no longer risk a crash (device lost) in three of the game's compute shaders when a loop count is not the game's: the count is held to the size of the table the loop walks (on other cards, to 16384). From pokopia-native 1.4.0; [nvn] loop_guard = off turns it off
  • Story co-op (experimental, [pkp] link_story_coop): the host's own story no longer stops while friends are visiting. Before, any Link Play session turned the host's story talks into "Bring here to say hi!" and paused its requests. From pokopia-native 1.4.0

Launcher

  • Added arrow-key navigation to the launcher, for a handheld whose d-pad reaches it as keys
    • Before: Steam's default layout for a non-Steam shortcut sends the d-pad as arrow keys, and the launcher ignored them
    • Now: the arrow keys move between controls, Enter presses, Escape goes back (closes a question, or returns Home), the same as the pad
    • Text boxes, sliders and drop-downs keep the arrows they need

Gameplay

  • Fixed camera aim staying off after you used the Joy-Con 2 mouse mode once (#367)
    • Before: turning mouse mode off left the game stuck half in it, so camera aim never came back until a restart
    • Now: pressing the mouse mode key again fully leaves mouse mode and camera aim works again right away
  • Fixed the Joy-Con 2 mouse mode hitting the wrong block (#367)
    • Before: clicking broke or placed a block off to the side of the one under the pointer
    • Now: your character turns to the block under the pointer before swinging, so the click lands on it

Controls

  • Fixed the Mouse Mode Key row in Settings > Mouse (#367)
    • Before: pressing a key on the row did nothing, and after one change the row got stuck at the end of its bar
    • Now: press left or right on the row (or click it), the row says "Press the new key", then press any key, mouse button or wheel notch. Esc cancels. It works every time, and F1 can't be picked by mistake
  • Added Controller Button and Presses rows to the game's own Settings > Controller tab: remap any controller button without the F1 page
    • Before: giving a rear grip, a trackpad click or another controller button a Switch button was only possible in Settings (F1) > Controller, or in controls.ini
    • Now: on Settings > Controller, press left or right on Controller Button to pick a button (for example Right grip R4), then on Presses pick what it presses on the Switch pad (Default, Nothing, A, B ...). Save as with any other row; Cancel keeps the old layout. A button the file maps to several buttons at once shows Custom and is left as it is
    • Still not: it shows one button at a time; the F1 page still lists them all
  • Added two more bindable controller buttons: the Steam button and the extra button (the Steam Controller (2026)'s and the Steam Deck's quick-access "...", an Xbox Share, a PlayStation 5 microphone button) (Settings F1 > Controller > Pad buttons, or guide and misc1 in [padmap] of controls.ini)
    • Before: they pressed nothing and could not be given a Switch button
    • Now: each has a row and can press any Switch button; with the Steam icons on, a prompt for a button you gave them shows an S or three dots. They press nothing until you pick one
    • Still not: with Steam running, Steam may keep these two buttons for itself (start the game outside Steam to use them); the Steam Controller (2026)'s trigger clicks are not here, because the controller library in this build does not report them
  • Changed the Steam Controller button icons to fit the new Steam Controller (2026)
    • Before: the icons were the original 2015 controller's: its small buttons were the < and > arrows and it had two rear grips, so R4 and R5 (or L4 and L5) both showed "RG" (or "LG")
    • Now: View and Menu show the same symbols as on a Steam Deck, and each rear grip has its own icon: L4, L5, R4 and R5
    • Still not: it needs the new prompt_icons.pak that comes with the build; the Steam button, the quick-access (...) button and the trigger clicks have no prompt icon yet

How to report

Open a bug report, choose Testing as the channel, say which version you have, and attach pkp.log (and setup.log if Set up ran). Thank you for testing.

Don't miss a new Recompia release

NewReleases is sending notifications on new releases.