Skip to content

Releases

v0.3.13

Choose a tag to compare

@github-actions github-actions released this 07 Nov 21:55
AMD GPU? Get more FPS with one setting

Add to totk.ini next to totk.exe:

[performance]
vk_recorder = 1

Please report your GPU, driver and FPS with 0 and 1 in the comments or an issue, even if it just works: with enough good reports it becomes the default on AMD. Black screen or VK_ERROR_DEVICE_LOST? Set it back to 0 and attach logs\totk.log.

To update, run the new installer on your existing install folder. It keeps your game files, saves and totk.ini, and rebuilds totk.exe and the shaders.

Warning

DLSS and the Linux build are tested by the community. I don't have the hardware to test them myself.

Fixes

  • Fewer VK_ERROR_DEVICE_LOST crashes (#788, #802). While one game thread recorded GPU commands, another could free a texture those commands used, and its memory went away before the GPU read it: "write invalid" device faults, reported mostly on NVIDIA. Every freed object now waits until the commands being recorded have run.
  • The same fix for memory pools and texture records. Memory pools the game frees, and the port's own records of textures, also waited only for commands already sent to the GPU. This matters most on integrated graphics (Intel, AMD APUs), where the GPU works straight from the game's memory. Neither crash reproduces on my machines, so I can't prove these are the crashes you get. If you still see VK_ERROR_DEVICE_LOST, please attach logs\totk.log: it now names the object that held the faulting address.
  • Intel: no more crash at start in igvk64.dll (#681). Pipeline builds no longer run while the pipeline cache is copied for saving, which crashed Intel's driver.
  • Installing over an older version rebuilds what changed (#795). The release files all carry the same old date, so an update over an existing Setup folder could keep stale objects and fail with an undefined symbol, or keep the old totk.exe. The installer now compares file contents, not dates.
  • Overlapping uniform updates land in order. Two updates that overlapped in part could leave the older values where they overlap.
  • Mouse in menus (#905, #908). T is now a second default key for Y, so you can sort the inventory with keyboard and mouse (the left mouse button is A while the menu pointer is shown). The middle and side mouse buttons keep their bindings in menus, so side buttons bound to L and R switch tabs. A bind_ line in totk.ini now also takes its key away from other buttons' defaults: with bind_X = key:t, T presses X only.
  • The camera returns to its normal distance after aiming in direct mouse mode.
  • Xbox prompts: the action button diamond matches an Xbox pad. With Xbox button labels, A now sits at the bottom and B on the right, as on the pad.

Performance

  • Shorter hitches when entering a new area. Textures are converted from the Switch's tiled layout on the GPU instead of the CPU. In a test fight the longest loading frame dropped from 145 to about 80 ms; average FPS is unchanged.
  • Fewer commands per draw. A draw records only the dynamic states that changed: 8.5% shorter frames on an RTX 4070 Ti on the Great Sky Island.
  • Fewer full GPU barriers. Uniform updates between render passes are batched like those inside a pass.

Other

  • Crash reports name the driver code. When the game crashes inside a GPU driver, logs\totk.log now lists the driver module with the offset and the C++ exception type, so crashes like #285 can be traced.
  • The speaker setting is translated into Brazilian Portuguese and Simplified Chinese.
  • DLSS loads through the platform layer, on Windows and Linux alike.

Thanks

Thanks to ApereLieZ for the dynamic state and uniform update work, itaskaev2 for the Intel start-up fix and the DLSS loader, null15564 for the camera fix, ikeracevedo2002 for the Xbox prompt layout, and BigMeltoni, Liv3ry, NOOBTW00, ctysix, Forest-Boy and LeandroSTAR for the reports behind the fixes here.

Full Changelog: valentderah/totk-pc-recomp@v0.3.12...v0.3.13

v0.3.12

Choose a tag to compare

@github-actions github-actions released this 07 Nov 01:10
AMD GPU? Get more FPS with one setting

Add to totk.ini next to totk.exe:

[performance]
vk_recorder = 1

Please report your GPU, driver and FPS with 0 and 1 in the comments or an issue, even if it just works: with enough good reports it becomes the default on AMD. Black screen or VK_ERROR_DEVICE_LOST? Set it back to 0 and attach logs\totk.log.

To update, run the new installer on your existing install folder. It keeps your game files, saves and totk.ini, and rebuilds totk.exe and the shaders.

Warning

DLSS and the Linux build are tested by the community. I don't have the hardware to test them myself.

Fixes

  • HD texture packs load without any setting (#673). A pack grows the memory for the world's textures in its own Product.Nin_NX_NVN.HeapDef.byml.zs. The port now reads that file at start and grows the texture heap by the pack's amount, so the game no longer crashes at start or loops the panic Blood Moon. For a pack without such a file, set tex_heap_extra_mb (0 to 4096) under [mods] in totk.ini. These packs need a lot of video memory: on a GPU with less than 8 GB, turn on F1 > Compress ASTC to BC3.
  • An HD texture pack above The Second Quest no longer crashes at start. The port keeps that mod's heap table and adds the pack's growth on top.
  • Mods' ExeFS patch files that change game data work. An IPS, IPS32 or pchtxt file that writes into main's data, not only its code, was rejected as a whole. The port now stores those bytes into the game before it starts.
  • FPS no longer drops for good after the Purah Pad scope or long play on a GPU with little video memory (#754). Textures the game had released stayed in video memory, so once it ran full every frame paid for it until a restart. The port now frees them when video memory runs short. If you still see the drop, F1 > Compress ASTC to BC3 helps too.
  • Fewer crashes from memory the GPU writes (#788, #802). Memory only the GPU wrote to could be locked read-only while the GPU kept writing it. This may be behind the VK_ERROR_DEVICE_LOST / "write invalid" crashes on NVIDIA; that is not proven yet, so please report if you still get them.
  • No stretched HUD at a resolution without its HUD layout. When the HUD layout for a wider or narrower game resolution is missing, the game now draws a 16:9 picture with black bars instead of a stretched HUD.

Performance

Smaller frame time gains, largest in busy scenes and fights:

  • Uniform updates inside a render pass no longer end the pass with a full barrier: up to 3.6% shorter frames in scenes with many of them (terrain, the sky islands).
  • Recording copies stay off the game threads: about 0.5 ms shorter frames in a fight on 1.4.3.
  • The thread that records GPU commands now begins, ends and submits them itself, and its queue no longer makes the game threads wait on shared cache lines.
  • A draw binds only the vertex buffers its shader reads.

Other

  • Play time (#720). F1 > Game shows how long you have played across all runs, with this run's share. Only time with the game window focused counts.
  • The setup's DPI test passes at 125% scaling.

Thanks

Thanks to itaskaev2 for the HD texture pack support and the play time, kurerb for the first texture heap setting, ericdallo for the mods' ExeFS data writes, ApereLieZ for the uniform overlay, ProSep for the HUD bars, Luxury213 for the DPI test fix, and everyone who reported the bugs fixed here.

Full Changelog: valentderah/totk-pc-recomp@v0.3.11...v0.3.12

v0.3.11

Choose a tag to compare

@github-actions github-actions released this 07 Nov 01:10

To update, run the new installer on your existing install folder. It keeps your game files, saves and totk.ini, and rebuilds totk.exe and the shaders.

Playing on a screen that is not 16:9? The game resolution now follows the screen's shape.

On a 21:9, 32:9, 16:10 or 3:2 primary display, a game resolution you never set now defaults to one of that shape, for example 2560x1080 on a 21:9 monitor or 1920x1280 on a 3:2 laptop, so the picture fills the screen without black bars. That is more pixels than 1920x1080, so on a slow GPU you may want the old size back: F1 > Screen > Game resolution, or in totk.ini next to totk.exe:

output_res = 1920x1080

A resolution you already set is kept. With Xbox or keyboard button prompts the default stays 1920x1080, because those prompts are only built for 16:9.

Warning

DLSS and the Linux build are tested by the community. I don't have the hardware to test them myself.

Fixes

  • Crash with mods when heavy snow starts in Hebra (#776). A mod that changes a file inside one of the game's packs, without its own size table, left that file's memory budget at the game's size, and the game crashed when it first loaded the file. The port now raises the size table entries of files inside mods' packs, as it already did for loose files.
  • Crash while climbing a creature. Turning the camera up or down while climbing a Stone Talus could crash the game on 1.4.3.
  • The quick menu background no longer flickers (#225, #449, #646). Opening or closing the quick menu after a fuse could show green-and-black grain or the fused object for a moment.
  • Fullscreen at start works again (#738, #766, #622). With fullscreen = 1 the game stayed in a window until you switched away and back, and the swapchain could keep the window's old size.
  • The Recall reticle and its ring stay on their target at wide resolutions (#685). At 21:9 and 32:9 both landed short of the object, towards the middle of the screen.
  • Pre-rendered movies keep their shape at resolutions that are not 16:9 (#650). They were stretched to fill the picture. They now sit between black bars. To get the stretched look back: F1 > Screen > Movie shape > Stretch.
  • Linux: the game no longer crashes at start on older CPUs. The x86-64-v2 build crashed because of a misaligned stack.

Keyboard and mouse (experimental)

  • Direct mouse camera on 1.2.1 (#751). 1.2.1 now has the same raw mouse camera as 1.4.3. The menu pointer and the map cursor are still 1.4.3 only.
  • The mouse in menus and the map on 1.4.3 (#752, #769). The menu pointer no longer jumps back to the middle when you switch tabs. The mouse moves the map cursor and the wheel zooms the map.
  • One camera speed everywhere on 1.4.3 (#753, #717). Every player camera now turns at the same rate per mouse count, so aiming and the bow no longer feel slow. The camera no longer springs back up or down after you stop aiming.
  • Shaking the mouse detaches a fused part held with Ultrahand (#734).
  • Linux: the mouse works in the game's menus (#760). Pointing at an item now moves the focus and left click confirms.

Other

  • Frame queue, off by default (#625). The game can start a frame while the previous one waits for its turn on screen, so a frame that runs a little long still makes its slot at the frame rate limit. It adds up to one frame of input delay. To try it: F1 > Game > Frame queue.
  • The setup remembers your paths. It opens with the last install folder and the base game, update, keys and firmware paths you picked, so an update or a switch to another game version starts with the form filled in.
  • The setup window is sharp on high-DPI displays (#602). At 125% scaling and above, Windows no longer stretches it into a blurry bitmap.

Thanks

Thanks to Tempus3214 for the mouse camera work on both game versions and the climbing crash fix, ericdallo for the mods' pack fix, ProSep for the movie shape, Wintego for the resolution default and the fullscreen fix, mrtink125792 for the quick menu fix, TakeyaSaito for the Recall reticle, ipavlin98 for the frame queue and the swapchain fix, Avraham for the Linux menu mouse, deadlynch for the Linux stack fix, EthanBlazkowicz for the sharp setup window, DanielSvoboda for the idea of remembering the setup's paths, itaskaev2 for testing many of these PRs, and everyone who reported the bugs fixed here.

Full Changelog: valentderah/totk-pc-recomp@v0.3.10...v0.3.11

v0.3.10

Choose a tag to compare

@github-actions github-actions released this 07 Nov 01:11

To update, run the new installer on your existing install folder. It keeps your game files, saves and totk.ini, and rebuilds totk.exe and the shaders.

Warning

DLSS and the Linux build are tested by the community. I don't have the hardware to test them myself.

Mouse feels different on 1.4.3? The direct mouse camera is now the default.

mouse_sens has a different scale in direct mode, so a value tuned for 0.3.7 will not feel the same. Start at 1. To get the old behaviour back, pick Stick emulation on the Controls tab, or set this in totk.ini next to totk.exe:

mouse_mode = stick

The gamepad is not affected by either mode.

Performance

  • The game code is now built with an execution profile (Windows, game 1.2.1 and 1.4.3). The compiler now knows which code runs most and optimises for it. Where the CPU limits your frame rate, expect roughly 5-10% less time per frame. The installer's compile step takes a little longer than before. Linux and game 1.1.0 build as before.
  • Less copying to the GPU on discrete GPUs (#698). Small flushes far apart in one memory pool no longer copy everything between them. On a walk through Kakariko the upload fell from about 473 MiB to about 126 MiB. This targets frame spikes in crowded areas on slower PCIe links, but it has not been confirmed yet on the machine in #698.

Graphics

  • Falling rain and waterfall splashes on discrete GPUs (#91, #528). Waterfall splashes and mist showed only about once a second, and falling rain drifted.
  • Fire spreads through grass (#132). The game could not see the grass maps the GPU had updated, so fire died where it hit.
  • DLSS and DLAA no longer shake the picture on NVIDIA (#612, #701). The whole picture moved by nearly a pixel every frame with the camera still. On an RTX 4080 SUPER the shift went from 0.86 px a frame to 0.
  • Item icons no longer miss parts. A fused weapon's icon could show up without its blade until the item was captured again.

Keyboard and mouse (experimental)

  • Direct mouse camera on 1.4.3 (#558), on by default. The camera follows the raw mouse motion, with no stick dead zone or response curve. 1.1.0 and 1.2.1 keep stick emulation.
  • The mouse works in the game's menus on 1.4.3 (#605). Point at an item: left click is A, right click is B. The pointer shows only while you are using the keyboard and mouse. To turn it off: F1 > Controls > Mouse in the game's menus.
  • Keyboard and mouse button prompts (#585). To turn them on: F1 > Controls > Button prompts > PC, then restart the game. They work at 16:9 game resolutions and show the default keys.

Fixes

  • Memory leak in long sessions (#670). Memory use grew by about 44 MiB per minute of play, even standing still, until the game ran out of memory. A 5-minute idle run now adds about 5 MiB instead of about 220 MiB.
  • The map cursor and vertical aim follow the frame time on 1.2.1 (#44, #394). They ran faster as the frame rate rose. Panning the map at about 105 fps now moves at about the same speed as at 30 fps. Vertical Ultrahand and gyro aim got the same fix but have not been tested in game, so please tell us how they feel. 1.1.0 is not covered.
  • totk.log now names the port and game versions at the top, so a log attached to a bug report shows which build it came from.

Thanks

Thanks to null15564 for the direct mouse camera, Wintego for the mouse in menus and the PC prompts, mictony6 for the rain and waterfall fix, itaskaev2 for the DLSS fix, STS78721 for finding the cause of the grass fire bug, and everyone who reported the bugs fixed here.

Full Changelog: valentderah/totk-pc-recomp@v0.3.7...v0.3.10

v0.3.7

Choose a tag to compare

@github-actions github-actions released this 04 Nov 01:59

To update, run the new installer on your existing install folder. It keeps your game files, saves and totk.ini, and rebuilds totk.exe and the shaders.

If your FPS drops or you experience stuttering, set replay_async = 0 in totk.ini.


Crashes after the update? Three defaults changed: replay_async, gpl, astc_bc.

If the game crashes, loses the GPU (device lost) or looks wrong and did not on 0.3.4, put the old values back in totk.ini next to totk.exe, one at a time, and restart:

[performance]
# Replay on the game's thread (now on for every GPU)
replay_async = 0
# Graphics pipeline libraries off (now on for AMD RX 5000 and RX 6000 too)
gpl = 0
# Uncompressed textures (now compressed on GPUs with less than 5 GiB)
astc_bc = 0

Tell us in an issue which one helped, with your GPU and totk.log.

AMD RX: vk_recorder = 1 may be faster. Experimental.

The recorder thread is off by default on AMD because it lost the device on some AMD drivers in 0.2.8. On an RX 9070 it cut the time spent sending a frame to the GPU by about 17% in towns, and 0.3.4 fixed a race that matches those crashes, but nobody has confirmed it on AMD since. Add vk_recorder = 1 under [performance]; if the game crashes or loses the device, set it back to 0 and tell us in an issue.

Discord

  • Discord Rich Presence (#455), off by default. Turn it on in the Menu tab of F1. While the game runs, your Discord status shows TotK Recomp, the game and port versions and the play time. Nothing is sent while it is off.

Audio

  • 5.1 surround output (#438). F1 > Sound > Speakers: stereo (default), 5.1, or auto, which picks 5.1 when the playback device in Windows reports six or more channels.

Graphics

  • Missing walls and ground in the Depths on AMD GPUs, seen on the Steam Deck and the RX 570. The shader translator now gives Maxwell's results for bit fields past bit 31, where AMD's hardware wrapped the value.
  • Long hitches on AMD RX 5000 and RX 6000 GPUs (#381). Graphics pipeline libraries are back on for AMD's RDNA 1/2 driver. Frames of 0.5 to 1.2 s spent building pipelines are gone.
  • GPUs with less than 5 GiB of video memory (#87). Decoded ASTC textures are stored as BC3 by default there, a quarter of the memory. A GTX 1650 went from 10-23 to 3-12 ms of GPU time a frame. The setting is now Auto / Off / On.
  • Fewer long frames where the game waits for the GPU (#88, #459). Draw submissions now replay on their own thread by default: on a GTX 1650 in the Depths, frames over 50 ms dropped from about 500 a minute to about 10. It can add up to one frame of latency; replay_async = 0 turns it off.
  • HDR: highlights around the sun no longer flatten into a grey-white patch when the game uses its FSR 1 upscale (#564).
  • HDR: a highlight hue correction keeps bright saturated colours such as torch flames from turning yellow-white (#442). HDR highlight hue sets its strength; the default is 80.
  • 3:2 game resolutions for Surface and Framework screens (1920x1280 up to 3000x2000), with the HUD at the screen's edges instead of stretched (#584).
  • NPC speech balloons keep their shape on 32:9 and 16:10 (#532).

DLSS

  • The setup downloads NVIDIA DLSS for you (#489). On Windows with an NVIDIA RTX GPU it fetches nvngx_dlss.dll (version 310.9.1) from NVIDIA's DLSS SDK repository and checks the file. Untick Download NVIDIA DLSS to skip it. Without an RTX GPU nothing is downloaded. Without internet the setup still finishes, warns, and tries again on the next run.
  • DLSS's picture reaches the screen (#566). The game's own scaling pass drew the jittered scene over DLSS's output, and the whole picture wobbled slightly with DLSS and DLAA even with the camera still.
  • Black objects after using the camera rune with DLSS (#566).
  • Less smearing behind moving objects (#594). DLSS now gets the motion of each object instead of the camera's alone, and the camera's motion is computed in double precision.
  • Fewer trails behind characters (#534). A new DLSS character trails setting (F1 > Screen) controls how strongly DLSS discards old frames around moving characters, creatures and held items.
  • DLSS modes switch during play, without a restart, and Ultra Performance is offered (#594).
  • A DLSS model setting picks NVIDIA's default, preset K or preset J (#534).
  • Linux: DLSS and DLAA work with the NVIDIA driver's NGX library installed and libnvidia-ngx-dlss.so.<version> next to totk (#534). The Linux setup does not download it.
  • Players without DLSS keep the game's own scene size and dynamic resolution, as in 0.3.4.

Amiibo

  • Amiibo scans gave the wrong rewards (#579, #541). The game got the amiibo's UID and model info in the wrong layout and could not tell figures of one character apart.

Menu and overlay

  • The game language list offers every language the game ships: British English, Canadian French, Latin American Spanish, and Brazilian Portuguese on 1.4.3 (#580).
  • The full performance overlay shows the port and game versions, and the 1% and 0.1% low FPS (#587, #588). A screenshot of it in a bug report carries both versions.
  • Chinese and other non-Latin characters in cheat names and mod folder names show in the menu instead of ? (#539).
  • The game window comes to the front at start instead of opening behind other windows (#521).

Fixes

  • The game ignored all input after the menu closed (#462, #494) when a button or stick still read as held: a key released in another window, a stick resting outside its dead zone. Input now comes back after 1 s, and the log names what was held.
  • Crashes in a GPU driver or another DLL left no line in the log (#506, #531, #488, #415). They are now reported with the module name, which makes those reports possible to act on.
  • The log warns when memory = import is used on a discrete GPU, where it is much slower (#504).

Installer

  • NSZ and XCZ game files are accepted (#527).
  • Updating an install made before 0.3.1 with the 1.1.0 update failed at the end (#332). Those installs were recorded as 1.1.1.

Thanks

Thanks to mictony6, DizzyMan1337 and SchulzCode for the DLSS work, itaskaev2 for the DLSS download, NSZ and XCZ support and RTX testing, ProSep for the HDR highlights through FSR, Specht2010 for 5.1 surround and the HDR hue correction, avrahambenaram for Discord Rich Presence, Wintego for 3:2 resolutions, TakeyaSaito for the speech balloons, fsfksjfjse for the menu text, ExpertKT for the memory = import warning, genres and Gelomban6 for the amiibo layout findings, and everyone who reported the bugs fixed here.

Full Changelog: valentderah/totk-pc-recomp@v0.3.4...v0.3.7

v0.3.4

Choose a tag to compare

@github-actions github-actions released this 03 Nov 00:55

To update, run the new installer on your existing install folder. It keeps your game files, saves and totk.ini, and rebuilds totk.exe and the shaders.

Audio

  • Sound that stops for good after a while (#131). The port rendered several audio frames back to back after each pull from the sound device, before the game had answered the previous one. The game's audio thread fell behind until the sound stopped. Frames are now spaced apart the way the Switch's audio DSP spaces them.
  • Clicks at audio frame seams (#426). Reverb and other effect returns were read before the game had filled them, and a voice could skip a source sample at 32 and 44.1 kHz.
  • Grainy reverb in caves and shrines (#421). The reverb delay lines lost a sample per tap on every turn.
  • Linux: the default audio prefill is now 60 ms. At 20 ms PipeWire ran dry thousands of times in busy scenes.

Amiibo

  • Crash when equipping the Amiibo ability (#398, #410). The game destroys and sets up its amiibo events again before every scan; the port kept the destroyed event, and the game's next wait on it aborted.
  • Real amiibo dumps were refused as "Not an amiibo dump" (#441). The loader checked for a plain NFC tag instead of an amiibo.
  • The Amiibo tab picks its folder with the system's folder dialog. The folder field took no typing before, so only ./amiibo could be used.
  • The tab's reader line no longer flickers between ready and searching while the game scans.

DLSS

DLSS and DLAA still need nvngx_dlss.dll, which the port does not ship. Download NVIDIA's DLSS SDK from https://github.com/NVIDIA/DLSS, take nvngx_dlss.dll from lib/Windows_x86_64/rel and put it next to totk.exe. Without the file the DLSS settings do nothing. Windows and NVIDIA RTX GPUs only.

  • DLSS could not be turned off (#435). A DLSS mode shrank the scene even with DLSS/DLAA off.
  • Without nvngx_dlss.dll the scene stays at render_scale. A DLSS mode used to shrink the scene and sharpen textures even when DLSS could not run, which left a blurry, shimmering picture.
  • The picture shook by a fraction of a pixel each frame with a DLSS mode on, most visible on lit flat surfaces in shrines. The game's own scaling pass drew over DLSS's output again after a shader translator change. The FXAA switch (fxaa = 0) works again for the same reason.

Graphics

  • Crawling terrain textures in the Depths (#468). Terrain shaders pass texture gradients in a different order than the shader translator expected, so the mip level came out too sharp on slopes.
  • Device lost and black flickering frames on Intel integrated GPUs (#452). On Intel's driver the memory the port fills for each draw is not coherent, so the GPU read leftovers of earlier draws. Other GPUs keep the memory they used before.
  • Crash on a level change in nvnQueueSubmitCommands (#501). A texture looked up after the game freed its memory pool read the freed pool.
  • World markers on ultrawide screens (#495). At aspect ratios other than 16:9, the lock-on arrow, item names, enemy life bars and speech balloons sat short of their target. They now land on it.
  • A rare device lost with the recorder thread on: the port could free an image or buffer that a submission still being recorded used.
  • 256 is now offered as a sun shadow map size, for integrated GPUs short of memory bandwidth (#416).
  • When the GPU is lost, the log now names the render pass or compute dispatch it was running. This makes device-lost reports much easier to act on.

CPUs

  • Crash a few seconds after start on CPUs without AVX (#454), such as the Pentium Gold G6400. One small part of the non-AVX build still used AVX instructions. The release build now checks every runtime file for instructions the target CPU lacks.
  • Faster on CPUs without FMA3 (#333), such as Intel Ivy Bridge. Fused multiply-add is computed four at a time with exact rounding instead of one call per value, which removes stutter in heavy scenes.

Mods

  • Code cheats of a renamed mod folder stayed "after the rebuild" for good. Renaming a mod folder now rebuilds its cheats and ExeFS patches.
  • 1.2.1: large texture packs that raise the texture pool past 2 GiB no longer place textures in the wrong memory.
  • A new guide, docs/mods.md, walks through installing mods, their order, TKMM merges, code patches and what to check when a mod does not work.

Installer and saves

  • The game failed to load an old save after the first start (#374). Read-only folders and OneDrive placeholders in the save's working copy stopped the copy. They are now removed, and an error names the path that failed.
  • Setup failed with a MemoryError on PCs with little RAM (#240). The code generation step now retries with half the workers. TOTK_LIFT_JOBS sets the worker count by hand.
  • Linux: a setup without a display now stops at the check step instead of failing after the long compile (#338). The font warning says plainly that the game does not start without the Switch system fonts for Chinese and Korean.

Other

  • The stick rows of the Controls tab sit under an "Analog sticks" heading, and their "default" mark is right again (#393).
  • Fixes in thread waits, address signals and empty GPU memory pools, found by comparing with other ports' code.
  • totk.ini.example explains that the frame limit should divide the monitor's refresh rate, that variable refresh removes the remaining judder, and that memory = import is much slower on a discrete GPU.

Thanks

Thanks to lowlevel-larry for the audio pacing and the level-change crash, itaskaev2 for the DLSS fixes, mictony6 for the Depths terrain, MierzwaMatheus for the Intel GPU fix, TakeyaSaito for the ultrawide markers, deanzx06 for the FMA speed-up, wdiasjunior for the 256 shadow map and the stick rows, ExpertKT for the totk.ini.example notes, FaserDocs for the installer test fix, and everyone who reported the bugs fixed here.

Full Changelog: valentderah/totk-pc-recomp@v0.3.1...v0.3.4

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 02 Nov 03:23

To update, run the new installer on your existing install folder. It keeps your game files, saves and totk.ini, and rebuilds totk.exe and the shaders. Installs made with the 1.1.0 update (called 1.1.1 in 0.2.8) are set up again from the game files, because the version's name is part of the install's folder names.

Mods and cheats

  • Mods made for emulators work. Unpack a mod into a folder of its own in the mods folder next to totk.exe. The new Mods tab of the menu (F1) lists the mods: switch each one on or off, and move it up or down to decide which mod wins when two change the same file. Changes apply at the next start.
    • RomFS mods work, including the merged output of TKMM. Layouts made for Ryujinx, yuzu and the Switch's SD card (romfs, atmosphere/contents/0100F2C0115B6000/romfs, ...) are found as they are.
    • The game's resource size table is merged at start from the enabled mods, so mods that grow files or bring their own table load without crashes.
    • ExeFS code patches (.ips, IPS32 and .pchtxt, also atmosphere/exefs_patches) for your game version work. The game rebuilds itself for them (see below). A patch over one of the port's own patches turns that built-in patch off while the mod is on, and the Mods tab names it.
  • Not every mod works yet. The Mods tab marks a mod the port cannot use as not used and says why; the other mods still load.
    • Works, for example: Unbreakable equipment mods, Defogger, Xbox UI, mods merged with TKMM, IPS and pchtxt code patches made for your game version.
    • Does not work: code plugins (subsdk* or main.npdm in exefs, such as UltraCam and other exlaunch mods), ExeFS patches that change the game's data rather than its code, and code patches made for another game version (the mod's RomFS part still loads).
    • Mods for a different update than the one you installed may load but misbehave: pick the mod's release for your game version (1.1.0, 1.2.1 or 1.4.3).
    • Not needed: 60 FPS and resolution mods. The port has these settings built in.
  • Atmosphère cheats (#51). Put a cheat file (<build id>.txt, the format Switch homebrew and the emulators use) into a mod's cheats folder and switch the cheats one by one on the new Cheats tab, during play. No cheats ship with the port. Cheats that write the game's memory work at the next start. Cheats that change the game's code (most of them) need the rebuild below and then switch at once like the others. Of the 73 cheats in the 1.4.3 file of MyNXCheats, one uses an opcode the port does not run, and four that only undo other cheats are not needed. See docs/cheats.md.
  • The game rebuilds itself for mods. When an enabled mod brings code cheats or ExeFS patches the build lacks, totk.exe opens the setup's rebuild window, builds them in and starts the game again. Only the changed parts are rebuilt: about a minute and a half on a fast PC, a few minutes on a slow one; the shaders stay prepared. mods_rebuild = off under [mods] in totk.ini turns it off.

Graphics

  • NVIDIA DLSS and DLAA (#113) on RTX GPUs, with a switch for the game's FXAA. Quality, balanced and performance modes, or DLAA at full size. Windows only; DLSS needs nvngx_dlss.dll from NVIDIA's DLSS SDK next to totk.exe.
  • HDR10 output (#281) with peak, game and HUD brightness settings. Needs HDR on in Windows.
  • Shadow settings (#89, #267): a fixed sun shadow map size (foliage shadows stop turning blocky and jumping), shadow map resolution up to 4×, cascade range, soft shadows and contact shadows. All default to the game's own look.
  • Anisotropic filtering (#321), the game's own level by default.
  • Black 64-pixel squares on the ground (#67) are fixed. The Windows releases since 0.2.1 shipped an older shader translator than the sources, without the gather bias fix (#358).
  • Wine and Proton: shadow storage is on by default, and texture writes through nvnTextureFlushTexels are seen (#271, #272, #273).

Crash fixes

  • Crash a few seconds after start with exception 0xc0000409 (#222, #176, #75). With Control Flow Guard on (Windows exploit protection can force it on any program), the first game thread to end closed the process without a line in the log.
  • Crash on load with a frame limit above 240 or a 240 Hz monitor and fps_limit = display (#241, #29, #92). The game's physics fails below a 1/240 s step, so the frame limit now stops at 240.
  • "Command recording buffer" crash (#94) on systems short of memory at high render scales. Recording buffers are reused, and a failed allocation waits up to 30 s instead of closing the game.
  • Crash before the title screen on Intel UHD graphics with astc = cpu (#347, #365). Large textures are now uploaded in parts.
  • Black screen or device lost at start on AMD RDNA 2, 3 and 4 (#277, #283). 0.2.8 turned the recorder thread on for AMD GPUs; it is off by default on them again (#353). vk_recorder = 1 in totk.ini still turns it on.

Controls

  • Amiibo (#235): the new Amiibo tab reads amiibo dumps (540-byte .bin or .nfc files) from a folder and scans the one you pick.
  • A dead zone for each gamepad stick, with the stick's resting position shown in the Controls tab (#175).
  • Right-stick camera speed (#138).
  • A walk key for the keyboard (#197), Left Shift by default.
  • Xbox button icons in the game's prompts, with a Button prompts setting that follows the pad layout (#211).

Languages

  • The settings menu in Brazilian Portuguese (#183) and Simplified Chinese (#243); the setup window in Brazilian Portuguese (#186) and Simplified Chinese (#191). The setup window picks its language from one list.
  • For Chinese and Korean text the setup can copy the Switch's shared fonts from a firmware folder (#346), for example the emulators' Contents/registered.

CPUs

  • CPUs without AVX2 (#296): the game now runs on any x86-64 CPU with SSE4.2. The setup picks the faster AVX2 build when the CPU has it.

Installer

  • The update the port supports besides 1.2.1 and 1.4.3 is now called by its real name, 1.1.0 (#371).
  • An update or a combined package chosen as the base game is named as such instead of "not Tears of the Kingdom" (#261).
  • A running totk_xlate.exe during the shader step gets a message that says what to close (#174, #375).
  • Shader preparation survives a driver crash: it skips the variant the driver was building and builds the rest (#278).
  • A damaged RomFS index in the install folder (for example after a disk or memory error) makes the setup extract the game again instead of failing.

Other

  • free_cores in totk.ini works again (#212). The game can crash with it, as totk.ini.example warns.
  • The performance overlay says "bilinear (FSR only enlarges)" when FSR is selected but the picture is shrunk to fit the window, instead of plain "bilinear" (#219).

Thanks

Thanks to conongnang for the cheats, DizzyMan1337 for DLSS and DLAA, itaskaev2 for the shadow settings and the Intel UHD fix, ProSep for HDR10 and anisotropic filtering, leonelalej for amiibo, applezra for the stick dead zones, waxyfeet for the Xbox prompts, shin2344234 for the camera speed, chen3feng for CPUs without AVX2, Lucas-blip-png for Brazilian Portuguese, shenjackyuanjie and tuwary for Simplified Chinese, fch869 for the shared fonts, shenjackyuanjie for the walk key, the 1.1.0 name and the installer fixes, m3rcury02 for finding the stale shader translator behind the black squares, wdiasjunior for the shadow map and shader preparation fixes, koosc for the Wine fixes, eioo for the AMD default, SchulzCode for the Linux thread id work, lowlevel-larry for the GPU idle split in the perf line, x-wav and lunar-me for the docs, huzaifa-codess for an independent analysis of the 0xc0000409 crash, and everyone who reported the crashes fixed here.

Full Changelog: valentderah/totk-pc-recomp@v0.2.8...v0.3.1

v0.2.8

Choose a tag to compare

@github-actions github-actions released this 01 Nov 07:05

To update, run the new installer on your existing install folder. It keeps your game files, saves and totk.ini, and rebuilds totk.exe and the shaders.

Update recommended: critical fixes

Every player on 0.2.1 or older should update. These bugs lose progress, block the story or stop the game from starting:

  • Lost saves (#260, #263). When another program held a file in the save folder (an antivirus, Explorer's preview, a cloud sync tool), every save of the session could fail without a message, and the next start deleted the progress. Now a save that cannot replace the previous one is kept, and the next save or start moves it into place. The log names the program that holds the files.
  • "Camera Work in the Depths" could not be finished (#13, #63, #118, #252). On 1.2.1 the Purah Pad camera recognised nothing, so photos did not register in the Compendium and the quest could not progress. On 1.4.3 the name label under the reticle blinked.
  • Equipment locked after a Fuse (#18). Weapons, shields and bows could stay locked until the next load, on both 1.2.1 and 1.4.3.
  • Crash a few seconds after the window opens (#176) on systems with a damaged or unusual system font. The menu now checks each system font and skips the ones it cannot read.
  • Crash at every start after turning off "Virtual core gate" (#212). Despite its description, the switch turned the gate off. It is removed from the settings menu. The free_cores key stays in totk.ini for experiments, and totk.ini.example warns that it can crash the game.

Game versions

  • The installer now accepts the 1.1.1 update (v131072) in addition to 1.2.1 and 1.4.3 (#173). Many mods and saves were made on 1.1.1. On 1.1.1 a game resolution other than 16:9 is scaled to the window instead of widening the camera.

Settings

  • Field of view (Screen tab, 70 to 140 %, changes at once). 100 % keeps the game's own camera. Bow and scope zoom scale with it. 1.4.3 only.
  • Colour (Screen tab): a colour profile (Game's own, Vivid, Clarity, Custom) and sliders for brightness, contrast, saturation and gamma (#136). The adjustment covers the HUD too, but not the settings menu. At the default values nothing changes and nothing extra runs.

Saves

  • Starting the game no longer pushes older backups out of save-backup. The game rewrites its save files with the same bytes at start, and each of those saves used to make a new backup.

Crash reports

  • A failed assertion or abort on Windows now writes a crash report to the log instead of closing the game without a word.
  • The "command recording buffer" crash (#94) now logs what went wrong in detail. If you hit it, please attach logs/totk.log to the issue.

Performance

  • Linux: the game no longer makes a system call on every lock to look up its thread id. Reported gains: 36 to 46 fps on an RTX 2060 laptop, 98 to 120 fps on an RTX 2070 Super with a 7800X3D (#236).
  • AMD GPUs record graphics commands on a separate thread again. It was off by default because of device losses (#5, #40), and those no longer occur with it. vk_recorder = 0 in totk.ini still turns it off.

Installer

  • The shader step reads only the shader folders instead of the whole RomFS: about 50 s down to 2 s per install.
  • With the graphics pipeline library off (gpl = 0), the shader step now counts the variants it skips and says so in its summary. Before, it reported them as built.
  • Linux: Russian text renders again, the window uses the system UI font, and the installer opens on systems without libXft or libXrender.

Thanks

Thanks to shenjackyuanjie for 1.1.1 support and the faster shader step, to JieML1100 for finding the cause of the equipment lock and writing the patch, to Lucas-blip-png for the field of view and colour settings and to STS78721 for the colour profiles they are built on, to H.A. Forster for finding, measuring and fixing the Linux thread id cost and to SchulzCode for confirming it, to wdiasjunior, eioo and paulo-santana for the Linux fixes and reports, to lcd1232 for the Russian text in the Linux installer, to lunar-me for the installer guide fix, to Rockenheim and kirakage88 for reporting the lost saves, and to everyone who reported the camera, crash and installer bugs fixed here.

Warning

The Linux build is new and barely tested. Its author ran a full install and played on Arch Linux with a Radeon RX 7800 XT. This release's AppImage has not been run on Linux yet, and nobody has tried it on a Steam Deck. Please report what works and what breaks in the issues.

Full Changelog: valentderah/totk-pc-recomp@v0.2.1...v0.2.8

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 31 Oct 15:13

To update, run the new installer on your existing install folder. It keeps your game files, saves and totk.ini, and rebuilds totk.exe and the shaders.

Linux and Steam Deck

  • The port now runs natively on Linux. The setup ships as an AppImage (TotK-Setup-x86_64.AppImage) and builds the game from your own files into the folder you pick, as on Windows. It needs Linux 6.7 or later and glibc 2.34 or later (#60).
  • Steam Deck support: on a Deck, settings you have not set yourself default to fullscreen, 1280x800, vsync and a 40 fps limit. These values are starting points and have not been measured on a Deck yet.
  • Pressing both stick buttons (L3 + R3) cycles the performance overlay, as F10 does.

Display

  • The game now draws 16:10 and 21:9 at their own shape on both 1.2.1 and 1.4.3. The camera shows the wider or taller view, and the HUD moves to the corners (21:9, 32:9) or to the top and bottom edges (16:10, Steam Deck).
  • Added the 32:9 sizes 3840x1080 and 5120x1440 to the Game resolution menu (#181, #187).
  • Added the 16:10 sizes 1280x800, 1680x1050, 1920x1200 and 2560x1600. The Game resolution menu now lists sizes by shape.
  • New frame rate limits: 40, 45 and 90 FPS.

Graphics

  • Fixed garbage on AMD RX 6000 cards above 1080p: a band at the top of the screen, a pink glow, blocks in the grass and a blue checkered menu (#185).
  • Fixed black characters on AMD's driver for RX 400 to RX 6000 cards. A new "Dynamic alpha to coverage" switch on the Advanced tab overrides the default if your card needs it (#188, part of #67).
  • Removed the dashed dark lines along shadow edges on AMD and Intel GPUs.
  • Fixed missing 3D BC textures on AMD Vega.

Game and controls

  • The game now keeps running when its window loses focus, and the keyboard stays quiet until the window is in front again. Before, switching windows during a load could stop the game for good. "Keep running out of focus" on the Game tab brings back the pause (#170, #195).
  • A Chinese or other input method no longer takes Shift and other keys or shows its candidate window over the game (#168, #193).
  • Added a guide to connecting a Switch 2 Pro Controller with motion controls (#190).
  • Long descriptions in the menu are no longer cut off (#184).

Performance

  • Thread pools now follow the CPUs the game may use. A game limited to some cores with start /affinity, Task Manager or a launcher no longer starts threads for all of them (#196).

Installer and building

  • A copied install folder now uses the profile next to the game instead of the path it was built with.
  • Building from source can use a compiler cache through the SCCACHE variable (#172, #194).

Thanks

Thanks to Wellington Dias (wdiasjunior) for the Linux port and Steam Deck support, and to Lucas Daniel Duarte Cabral (Lucas-blip-png), shenjackyuanjie, tuwary and applezra for their pull requests in this release.

Warning

The Linux build is new and barely tested. Its author ran a full install and played on Arch Linux with a Radeon RX 7800 XT. This release's AppImage has not been run on Linux yet, and nobody has tried it on a Steam Deck. Please report what works and what breaks in the issues.

Full Changelog: valentderah/totk-pc-recomp@v0.1.9...v0.2.1

v0.1.9

Choose a tag to compare

@github-actions github-actions released this 31 Oct 12:20

To update, run the new installer on your existing install folder. It keeps your game files, saves and totk.ini, and rebuilds totk.exe and the shaders.

Display

  • Added ultrawide support on 1.4.3. Game resolutions wider than 16:9 now render at their own shape instead of a stretched 16:9 picture, and the HUD moves to the corners of the screen. The Game resolution menu offers 2560x1080, 3440x1440, 3840x1600 and 5120x2160 (#6, #137).
  • New aspect setting on the Screen tab. When the window's shape differs from the game resolution, fit (the new default) keeps the picture's shape with black bars and stretch fills the window as before.
  • Added 1280x720 and 1600x900 to the Game resolution menu for slower GPUs (#36).

Controls

  • New stick dead zone setting on the Controls tab (0-50 %, default 8 %) for gamepads with stick drift. The dead zone is round, so diagonals stay diagonal (#12, #99, #111, #115).
  • The back paddles of the Xbox Elite, DualSense Edge and Steam Controller can now be bound (#140, #156).
  • New "Xbox prompts" button layout: the buttons work by position as on a Switch, and the on-screen prompts show the Xbox letters. The prompts change after a restart, and they do not follow buttons you remap yourself (#126).
  • Fixed gyro aiming that did nothing on the first bow draw and jumped afterwards (#104).

Graphics and performance

  • Fixed GPU crashes ("device lost") at the logo, and a green or white screen, on AMD RDNA2 cards with driver 26.10.1 (#5).
  • New option for GPUs with 4 GB of video memory or less: astc_bc on the Advanced tab stores the game's ASTC textures as BC3, a quarter of the video memory. Textures look slightly blockier, so it is off by default (#87).

Audio

  • Fixed sound delay that built up during play: after a wireless headset woke up or the default audio device changed, and slowly over long sessions on some devices. The delay now stays short (#98).

Installer

  • The shader cache is now one file instead of about 120,000, which makes the install folder much faster to copy, back up or sync, and shortens the start of the game (#64).
  • An install whose game data became unreadable after setup now fails with a clear message instead of reporting success (#107).
  • The setup also prepares the ultrawide layouts (1.4.3) and the Xbox prompts.

Diagnostics

  • A fatal error now logs the process and system memory use (#94).

Thanks

Thanks to Seth (shin2344234), mrtink125792, arthurhfcardoso, Pasha Kagan, Pelipooper for their pull requests and patches in this release.

Full Changelog: valentderah/totk-pc-recomp@v0.1.6...v0.1.9