github adriadam10/mkw-recomp v0.1.8

one hour ago

Frame generation, races that render again on Intel, Adreno and (likely) AMD's Windows driver, a first take on
ultrawide screens, and a faster setup.

Changes

  • Ultrawide (#77, #40): Settings > Screen > Aspect ratio: 16:9 (the console's, default), the window's, 21:9 or
    32:9. Races and the title's 3D show more at the sides instead of stretching; the menus and the HUD keep their shape
    in the middle 16:9, and full-screen backdrops and fades reach the edges. What is still missing is under Known issues.
  • Frame generation (#101, by @guillo1990): Settings > Screen > Frame generation: Off (default), Automatic, 2x, 3x,
    4x. Frames made between the game's own from the pictures (optical flow), so a race at 30 fps is shown at 60; the
    FPS overlay shows game / shown frames. It makes the picture smoother, not the game faster.
  • Races black, and menus cut along a diagonal, on Intel (ANV) and Adreno (Turnip) (#26, found and fixed by
    @titooo7): full-screen passes left the position's w undefined. The black 3D with the HUD visible on AMD's Windows
    driver 26.10 (#105) looks like the same cause. After updating, the setup's shader step runs again
    (it now does whenever the translator changes).
  • Black terrain on cards whose own memory filled up (#63): sparse tiles fall back to system memory.
  • The game stopped when it started its network (#63, after a while in free roam): its sockets now answer as a
    console with no network, so it stays offline.
  • A crash pressing HOME or switching windows during the startup logo (#83, #89, #92).
  • AMD on Windows: the race's mesh draws run as compute passes, where AMD's driver lost the device (#88).
  • Intel Arc drew the race black (#64): integer images and integer colour targets are read and written as integers.
  • Big AMD cards ran out of video memory on the title (#43, #68): the texture pool starts at 8 blocks.
  • Faster setup: the shader step compiles each shader inside its own worker instead of starting a compiler for
    each of the ~11 600 (3.4x faster for that part, same output), and decodes the console's shader code 40 % faster:
    the whole step takes about 43 % less processor time. Generating the game code is 13 % faster. The compiled game
    code now stays in setup-work/obj, so from the next update on only the parts that changed are compiled again
    (seconds instead of 8-12 minutes).
  • Integrated GPUs: the memory cap counts the firmware carve-out (#50).
  • The setup's downloads failed certificate checks on systems without the usual CA file (#102, NixOS).
  • Diagnostics: GPU breadcrumbs around the present (#43, #50).

Tested before publishing

From these packages, before publishing:

  • The whole setup on Linux (Radeon 660M, RADV) and on Windows 11 (GTX 1050 Ti), with its one-minute warm-up and no
    shader left behind: about 15.5 minutes on Linux (22 with 0.1.7) and 30 on Windows (45), where the shader step went
    from 23 to 14 minutes.

Install

  • Linux x86-64, glibc 2.31 or newer (Debian 11, Ubuntu 20.04, SteamOS and later): chmod +x the AppImage and run it.
    The game it builds lives in ~/.local/share/mkw-recomp.
  • Windows 10/11 x64: unpack the zip into a folder and run mkw.exe.
  • Either: a Vulkan 1.3 GPU and about 30 GB free. Open Game files, point it at your exefs/ and romfs/ (Mario
    Kart World 1.0.0, your own dump) and press Prepare. Nothing of the game ships here: the setup builds it on your
    machine and downloads NVIDIA's nvdisasm and ptxas (pinned by sha256; 84 MB on Linux, 126 MB on Windows) to
    describe the shader encoding.

Updating

From 0.1.5 on, the start screen offers a newer release (Update to vX) and installs it: it downloads it, checks it,
replaces the program and sets up again only what changed. From an older version, once by hand: Linux, run the new
AppImage; Windows, unpack the new zip over the same folder; then press Prepare again (the steps already done are
skipped).

Known issues

  • Ultrawide (#77, #40): during the cup movie the "Skip" prompt is not shown (pressing the button still skips it); in
    two-player split screen the coin and lap numbers sit beside their frames; three and four players are not checked
    yet. 16:9, the default, is not affected.

Reporting a problem

Open an issue with the bug form and attach the logs: logs/mkw.log (the game and the start screen) and
logs/setup.log (the setup's tools), in ~/.local/share/mkw-recomp on Linux and next to mkw.exe on Windows.

Don't miss a new mkw-recomp release

NewReleases is sending notifications on new releases.