github adriadam10/mkw-recomp v0.1.7

3 hours ago

The game starts on AMD graphics cards under Windows, where the window did not open or the title froze.

Changes

  • On AMD's Windows drivers the window did not open after Play, or opened minutes later and froze on the title (#36,
    #38, #54, #20). Some of the game's shaders hold a switch, and our translation gave every instruction of them an
    entry point; AMD's compiler took minutes on those (with AMD's own offline compiler, 50 of 81 did not finish in 30 s;
    now none, 84 s for the 81). The translation now takes the switch's own cases. After updating, the setup's shader
    step runs again. Also: a shader the driver does not return holds the game at most 30 s, once, and the start no
    longer waits minutes for the whole prewarm. GPL=0 in mkw.ini is not needed: remove it.
  • The window opens black at once instead of after the first image (#36, #20).
  • A crash in a race, no function at guest pc main+0x35bdf8 (#40): the recompiler took an address loaded into a
    register that was overwritten in between, and split a game function in 67 pieces.
  • A crash after choosing the character with a 4096 shadow map at 1440p (#48): when that map does not fit, it keeps
    the game's size.
  • 2160p in Graphics > Resolution (#55).
  • A 64-bit integer compare in 6 shaders was done on 32 bits.
  • Diagnostics for graphics-card crashes: the log names the clear, copy or blit after the frame's last pass (#43), and
    GPU_CRUMBS_DRAW=1 in mkw.ini names the shader of each draw (#37, #40, NVIDIA's "instruction pointer invalid").

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. We have no AMD card on Windows: the shader fix was checked with AMD's own offline compiler.

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

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.