Fritchii

Fritchii changelog

The notes for each release, as published on GitHub. Fritchii offers each new version when you open it.

5.8.4Latest

Fritchii 5.8.4

Fixed

  • Saves copied with the Saves button now show up in the game. Each emulator makes its own user profile, and v5.8.3 could put the copied saves under the old emulator's profile, which Fritchii doesn't have (some of you got "Orphaned Profiles Detected"). Copies now always go into Fritchii's own user.
  • The Saves window always backs up first and tells you where: before copying, importing or fixing it shows the backup folder, and the message at the end names it again with a button to open it.
  • Already copied and your saves don't show up? Open Saves: a Fix button appears and moves them to the right place (a backup is made first).
  • "My settings changed when I launched OoT": Switch 2 games, OoT included, always run on the 12 GB memory layout, so Fritchii switches to it while the game runs and puts your setting back after. The box now says "12GB DRAM (Switch 2)" instead of "Unsafe", Fritchii no longer counts it as an OoT-only setting, and changing it tells you that it only matters for Switch 1 games.

New

  • DLSS quality and preset per game: they're in a game's own settings now too (Game Settings > Graphics), with "use global" like the rest.
  • Fritchii's tuned settings are applied once more with this update; you can change anything afterwards.
This release on GitHub
5.8.3

Fritchii 5.8.3

New

  • Saves window: a Saves button on the home screen (also Help > Saves...) to:
    • Export your saves to a .zip file, to back them up or move them to another PC.
    • Import saves from a .zip file (a Fritchii export, or a zip of a save folder).
    • Copy saves between Fritchii, Eden (%APPDATA%\eden) and Lichii 150+ (%APPDATA%\lichii), in any direction.
  • The saves a copy or an import replaces are backed up first (in nand\user\save-backups), and the message at the end opens that folder. Close the game before using it, and close Eden or Lichii when copying into them.
  • Saves land in the right place even when the two emulators made different user profiles.
  • Fritchii's tuned settings are applied once more with this update; you can change anything afterwards.
This release on GitHub
5.8.2

Fritchii 5.8.2

Changed

  • Fritchii asks before copying your old data. When you come from v5.7 or older, Eden or Lichii, the first launch asks which folder to copy from (each shows when you last played, the newest is picked for you) and what to copy: Saves and keys and Settings are ticked, Mods isn't. Pick Copy, or Start fresh to begin with nothing. Your old folder is never changed either way.
  • Mods are only copied if you tick them, so mods made for other builds don't come along by surprise.
  • Help > Copy Data from Eden or Lichii... uses the same question, so you can copy (again) later, for example your mods. What Fritchii has before is kept in folders ending in .backup.
  • If you already updated to v5.8 or v5.8.1, nothing changes for you: your data was already copied. Use the Help menu entry if you want to copy something again.
  • Fritchii's tuned settings are applied once more with this update; you can change anything afterwards.
This release on GitHub
5.8.1

Fritchii 5.8.1

Fritchii v5.8.1, a hotfix for v5.8's data move.

Fixed

  • Your newest data is the one that gets copied. On its first launch v5.8 always preferred a folder an earlier Fritchii had used (%APPDATA%\eden), so if you had moved on to Lichii 150+ (%APPDATA%\lichii), you got your older eden saves. Fritchii now copies from the folder with your newest saves.
  • Already updated to v5.8 and got the wrong data? Use Help > Copy Data from Eden or Lichii... and pick the folder. Fritchii restarts and copies it over its own data. What Fritchii had before is kept next to it in folders ending in .backup, and the folder you copy from is not changed.
  • Fritchii's tuned settings are applied once more with this update; you can change anything afterwards.
This release on GitHub
5.8

Fritchii 5.8

Heads up: Fritchii now has its own data folder, %APPDATA%\fritchii. On the first launch it copies your settings, saves, keys and mods over from your old folder by itself (your earlier Fritchii or Eden folder %APPDATA%\eden, or Lichii 150+'s %APPDATA%\lichii) and shows one message saying what it copied, with a button to open the new folder. Your old folder is not changed or deleted. Since caches aren't copied, "Preparing shaders" runs once after this update. If another emulator is still open on that folder, Fritchii asks you to close it and start again; nothing is copied until then. Portable installs (a user folder next to lichii.exe) keep using it as before.

New

  • DLSS quality modes: Graphics > DLSS quality: Automatic (as before), Native (DLAA), Quality, Balanced, Performance or Ultra Performance. A mode that doesn't fit the game's resolution falls back to Automatic. The quality and the preset now change while you play, and the status bar shows what DLSS is running, for example "DLSS QUALITY K". Preset K stays the default (zortos293/Lichii#1249 by zortos293, with Native DLAA sizing from myshadowww's #840).
  • Discord and Donate buttons right on the home screen.

Fixed

  • Water ripples at 60 fps and below: with the default 30/60 mode the ripples skipped frames at the 60 cap and slowed down under 60. They now keep their speed at any frame rate (found in zortos293/Lichii#1180).
  • DLSS no longer turns itself off on 8 GB cards a few seconds in, when NVIDIA warns that VRAM is full (zortos293/Lichii#941).
  • Pressing OK or Apply in the settings during a loading screen no longer freezes the window until the game is in (zortos293/Lichii#1168).

Faster and smoother

  • Faster texture uploads and downloads (zortos293/Lichii#784): fewer hitches when new areas load.
  • Game code compiles faster after loads: a debug check the CPU emulator ran on every block of game code is skipped.
  • "Preparing shaders" only runs again when a release actually changes how shaders are translated, not after every update.
  • Fritchii's tuned settings are applied once more with this update; you can change anything afterwards.
This release on GitHub
5.7

Fritchii 5.7

Heads up: "Preparing shaders" runs once after this update, because the graveyard fix below changes how some shaders are translated. It's usually a few minutes, since your graphics driver keeps most of what it compiled last time. After that it's straight into the game again.

New

  • .nx games (fab918's NXFormat). Fritchii opens .nx archives like any other game, with their updates and DLC. To make one, right-click a game in the list and pick Convert to NX... (from NUP, NSP, XCI or a dump folder; NSP and XCI updates and DLC in the same folder go in too). Manage NX Archive adds or removes updates and DLC later. Everything runs inside Fritchii, no extra files needed (zortos293/Lichii#923, #1078 and #1232 by fab918).

Fixed

  • Stretched or glowing geometry and white areas after area changes should be gone. When the game freed some GPU memory and reused the same address later, the emulator kept showing the GPU the old memory, which by then held other data, so a mesh could read a pack of game files as its vertices until a restart (zortos293/Lichii#1199 and follow-ups by PantACRO4life, 99ivs and zortos293). If you still see one, use Help > Export Log and post it in the Issues channel.
  • Ctrl+U (high refresh) works with the Hyrule Cheat Menu mod installed. Fritchii's patch moved to a spot the mod doesn't use, and the mod's code stays untouched.
  • Kakariko graveyard: two objects the game draws were skipped (zortos293/Lichii#279, #1186 and #1181).
  • No more out-of-memory crash on PCs with 16 GB of RAM: the texture cache now also stays within what Windows can hand out, not just what the GPU has (zortos293/Lichii#1210).

Faster and smoother

  • About 5 fps more in fights (51.9 to 56.9 in a Stalchild fight on an RTX 4080): when the game reads back something the GPU made, the emulator's GPU thread no longer stops and waits for the graphics card (the core of zortos293/Lichii#1028).
  • Less stutter right after area changes. OoT runs on 6 emulated CPU cores and each compiled the same game code for itself after a load; idle cores now do it ahead of time.
  • Less VRAM and more free RAM: the texture cache cleans up from about 7.5 GB at most, so VRAM stays around 6 GB on big cards instead of climbing to 10 GB. Windows counts that memory against your RAM too, so area loads stop stuttering when the PC runs low. Cards with less VRAM keep their own lower limit.
  • Shorter hitches on loads and kills: game file reads are no longer slowed to 40 MB/s, and the background memory cleanup waits while the game is loading.
  • Help > Export Log now says what caused each stutter, so stutter reports are much easier to track down.
  • Fritchii's tuned settings are applied once more with this update; you can change anything afterwards.
This release on GitHub
5.6

Fritchii 5.6

Heads up: "Preparing shaders" runs once more (around 15 minutes on an 8-core CPU), on every GPU, because of the AMD horizon fix below and a new detail Fritchii now stores about each shader. After that it's straight into the game again. The first minute or two after it can also be a bit slower while the driver settles.

Fixed

  • The huge glowing triangles ("light beams") are much rarer. In Kokiri Forest, Kakariko, the graveyard and Hyrule Field they used to grow over a session. One cause is fixed: a compute shader wrote further than the emulator tracked, and the game read old data back from there. Every compute shader is now checked once, and tracked fully if it writes further. No fps cost. They can still show up in long sessions: if you see one, use Help > Export Log and post it in the Issues channel.
  • AMD: no more GPU hangs on draws the game makes with mesh shaders (zortos293/Lichii#814). AMD's driver now goes through a compute fallback for them. New Mesh Shaders setting in Graphics (Automatic, Native, Compute) if you want to try the other path.
  • AMD: no more rainbow "disco" outline where mountains and far scenery meet the sky. Draws that don't output every colour channel left the rest undefined, and AMD's driver filled it with garbage. Port of jpkto's Lichii #353 (Fritchii #29 by trushna88).
  • The opening cutscenes and the main menu video stay in sync with their audio. The game only shows about 30 frames a second on those screens, so the 60 fps videos played at half speed while the music kept going (almost 7 seconds behind after 12 seconds). Videos now show the frame that matches the audio and skip the rest. A broken video frame or a failing decoder can no longer crash the game.
  • The Song of Time no longer ends with a loud crackle (zortos293/Lichii#1073 by justin-wq1337).
  • No more freezes of up to 3 seconds when the game swaps a compute shader mid-play (zortos293/Lichii#969 by El-Sashok).
  • Unlocking the speed limit no longer makes OoT run fast. Above 60 fps the whole game sped up; it now stays at its normal speed. Turbo and Slow still work as fast-forward and slow motion. In OoT, Ctrl+U now switches the high refresh rate mode instead (see New).
  • Opening the ocarina without a microphone no longer crashes the game (zortos293/Lichii#497 and #881, via Fritchii #16).
  • Mods that patch the same spot as Fritchii's built-in patches win over them (Fritchii #5). Game titles from NUP files show properly (Fritchii #20). Empty controller mapping values are no longer lost (Fritchii #30 by FFcustoms). Fritchii builds on Linux again (Fritchii #19).
  • Help > Export Log always sends this session's log. A Fritchii that never finished closing (for example after an update) could keep the log file locked, and the export then sent an old log.

New

  • High refresh rate (experimental): press Ctrl+U in OoT to go above 60 fps at normal game speed, and again to go back, no restart needed. The cap is in Graphics > Advanced (your monitor's refresh rate, 90, 120, 144 or 165), and the Graphics checkbox follows Ctrl+U. Water ripples keep moving above 60 too (zortos293/Lichii#1152, after #655 by atk3001). It's new: tell us if a timer, cutscene or minigame acts weird with it on. The 30 FPS mode still wins over it.
  • Dark's standalone Dynamic FPS mod is skipped and hidden automatically, since Fritchii has it built in (the mod also blocked the high refresh mode). Your files aren't touched. If you turned the built-in off in Add-Ons to use the mod, nothing changes for you.
  • Reset to Defaults (Settings > General) puts every setting back to Fritchii's own tuned settings, after saving a backup. Restore Settings brings any saved set back. Controls and game folders stay.
  • "My settings don't apply" explained: when OoT has its own values in Configure Game, the Settings window now says so at the top, with one button to put OoT back on your global settings. Export Log lists them too.
  • RAM and VRAM in the performance overlay, with how much your PC has left (amber when it's getting low).
  • "Shaders build again in game" reports explain themselves: the log now shows how big the GPU driver's own shader cache is at boot, after preparing and at exit, whether the last session closed cleanly, and how fast preparing ran.
  • OoT's videos look like they should again on NVIDIA RTX. The title screen and cutscene videos go through the game's own upscaler again (it removes banding and sharpens), instead of the plain stretch every build has used since v5. It costs nothing visible on RTX cards. GPUs that would have to emulate its math keep the fast stretch. Graphics > "Ocarina of Time movies" lets you pick either.
  • Discord and Donate buttons on the home screen and in the Help menu.

Faster and lighter

  • About 1 GB less RAM: memory the game cleared to zero is given back to Windows.
  • PCs with less than 24 GB of RAM keep fewer old GPU pipelines around, so long sessions page less.
  • About 5 fps more in Castle Town (45 to 50 on an RTX 4080 standing in the market): the emulator stopped sending the GPU thousands of empty submissions a second, and reports and fences no longer allocate memory each time (part of zortos293/Lichii#1161).
  • No more VRAM pile-up: old render targets the game replaced are cleaned out, so VRAM stays around 5.5 GB in Castle Town instead of filling to 10-11 GB, and the freezes when it got full are gone (fights especially).
  • Long sessions: pipelines rebuilt after being cleaned out keep their buffers, so a long session can't slowly break some meshes (zortos293/Lichii#1143).
  • Fewer dips in busy spots: a depth buffer that the game clears right away is no longer copied in from game memory first (7.5 MB every frame in Castle Town, the cause of an NVIDIA player's dips). About +2.5 fps in Castle Town.
  • Texture memory on 10 GB and bigger cards can fill further before the cleanup starts (zortos293/Lichii#1129 by Liomar Oliveira).
  • FXAA is off by default. OoT's own anti-aliasing (or DLSS) already smooths edges, FXAA on top only blurred the picture. Fritchii's tuned settings are applied once more with this update; you can change anything afterwards.

In v5.5

  • No more flickering camera for players who had frame generation on before v5. Fritchii has no frame generation, but an old setting kept it running in the background (and turned off Fritchii's frame pacing). It can't run anymore.
  • Extended Dynamic State is set back to EDS2 once. Players who set it to Disabled or EDS3 (often an old AMD crash tip) had "Preparing shaders" skip almost every shader. EDS2 is what the shaders are recorded with, and the AMD crash that tip avoided is fixed since v5.3. You can still change it afterwards.
  • NVIDIA: the shader cache size is set by Fritchii itself. Newer drivers no longer show "Shader Cache Size" in the NVIDIA Control Panel. Fritchii now tells the driver to keep a large cache for Fritchii only, nothing else on your PC changes.
  • DLSS fixes: the "Use NVIDIA DLSS" checkbox could be overridden by an old per-game value and show unchecked in game; it's a global setting now. New DLSS preset option (Default, J, K recommended, L, M) in Graphics.
  • Graphics > Extensions now says it: GPU thread pinning is built in and on automatically.
  • The old "Prepare Shaders" window says it's the optional quick warm-up (the full preparation runs by itself when you start the game).

In v5.4

  • AMD: "Preparing shaders" now prepares the whole game. Until now it skipped 116,373 of OoT's 120,461 shaders on AMD (it finished in seconds) because they were recorded on an NVIDIA card, which handles one GPU setting (the dynamic logic operation) differently. Fritchii now converts them for AMD's driver: all of them get prepared, so new areas play like you've been there before, as on NVIDIA. Thanks to koriko for the log that pinned it.
  • AMD: expect a full "Preparing shaders" screen once (around 15 minutes on an 8-core CPU), even if you went through it on v5.x. After that it's straight into the game.
  • Nothing changes on NVIDIA.

In v5.3

  • AMD: Shader libraries are really off by default now. v5.2 meant to turn them off on AMD's Windows driver but its check never matched, so RX 5000/6000 cards kept crashing while loading shaders. If you unticked the setting yourself, nothing changes for you.
  • Updates retry by themselves. When GitHub's file server answers with an error like 504 or the connection drops, Fritchii now tries again a couple of times before giving up (from the next update on).

In v5.2

  • GTX 10 series and older: invisible geometry is drawn again. Objects the game draws with mesh shaders, which these cards lack, now go through a compute fallback (zortos's prototype, zortos293/Lichii#569, #642, #841). Some foliage or walls may still be missing or flicker.
  • AMD: textures no longer write into other textures' memory. Images whose size isn't a multiple of their block size wrote past their edge while being decoded. NVIDIA ignores that, AMD put it in other textures: black blocks, a crosshatch, and in the end a GPU crash. From CheezerWheezer's AMD fork.
  • AMD (Windows driver): Shader libraries are off by default. RX 5000 and 6000 cards crashed building them; unticking the setting was the workaround, now it's automatic. NVIDIA keeps them.
  • The full right-click menu is back on the home screen (Open Mod Data Location, Dump RomFS, Remove, Verify Integrity, Start Game without Custom Configuration...), for modders.
  • No more crash when the PC's memory budget is reached during long sessions (seen in Castle Town after half an hour). Buffers in system memory may now go over Windows' budget, like textures already could. Also from CheezerWheezer's AMD fork.

In v5.1

  • Dialogue text no longer turns into scraps of other textures. Each new text box size could show garbage the first time it appeared.
  • Delete Shader Cache in the Help menu (and when you right-click the game on the home screen), with a confirmation. Only for a cache that went bad: the shaders are prepared again on the next start.
  • AMD: likely fix for a crash right after pressing Play (seen on an RX 6600 with a shader cache from v4). v5's change for the red line in the Royal Family's Tomb is taken back for now, so that line can show again on AMD until it's redone and tested on AMD hardware.
  • One v5 change to how GPU memory is refreshed after small writes is taken back too: in this emulator it could bring back stale data.
  • 4K and scaled displays: Fritchii follows the scale set in Windows, as far as your screen leaves room for its windows. 150% on a 4K screen used to become 200% (windows too big, dialogs cut off) and 125% became 100% (tiny text).
  • Game Settings fits the screen: long tabs scroll, the window resizes, and OK / Apply are always reachable.

Everything new in v5

Windows x64. Tested with The Legend of Zelda: Ocarina of Time (0400486024DEC000) on a Ryzen 7 7800X3D + RTX 4080: stable 60 fps in a lot of places, rarely under 45 even in the heaviest ones (Water Temple included), no shader stutter after the preparation.

New

  • Shaders are prepared once, before you play. The first time you start OoT, a "Preparing shaders" screen builds the game's shaders at full speed (about 15 minutes on an 8-core CPU, once). After that, places you visit for the first time play like you've been there before: walking into a new area used to freeze for ~0.7 s per new shader, now it's 40-70 ms, and loads are shorter. A new driver or GPU prepares them again. Built on zortos's precompile work (zortos293/Lichii#895, #896).
  • New look. Graphite theme, a home screen, an in-app "What's new", and Help > Export Log for bug reports.
  • In-game controls. Move the mouse to the top of the game for Pause, Restart, Stop, Fullscreen and the menus.
  • New performance graph (View > Performance Overlay): big fps, frame time, the lowest recent fps and a line against 60 (or 30). Loading screens leave a gap instead of a dip.

Faster

  • Moving NPCs and crowds no longer drag the frame rate down. About +3 fps in Castle Town from each of the fixes behind it (render target relocation, image pool, an exact frame clock, cleanup of stale copies), and ~2.4 GB less video memory (8.8 to 6.4 GB in Castle Town).
  • ~2.3 GB less RAM, so 16 GB PCs have more room.
  • Windows 11: a precise game clock built in. Players who got big gains from the GlobalTimerResolutionRequests registry tweak get it without the tweak.
  • Shader translation moved off the GPU thread.
  • Retrained profile-guided build on the new code.

Fixed

  • New players: "Press Start", chat bubbles and lighting are right on an empty shader cache (they were missing or wrong while shaders were still building).
  • Objects that could vanish for a whole session in some games (clip distances, zortos293/Lichii#902).
  • Fastmem kept on PCs with little free memory instead of silently running 20-25% slower (zortos293/Lichii#645).
  • Less RAM while shaders are prepared (#878), a rare channel deadlock (#609), mods folders that don't exist (#686), Windows long paths (#576), and a few smaller ones (#918, #727, #610).

Shader cache

  • The cache moves to version 54 (zortos's numbering), so caches from zortos's builds and Fritchii's are shared. The first start copies your old cache once (about +1.2 GB for OoT). The old v52 file stays so you can roll back to v4; you can delete it later if you don't plan to.

Known

  • AMD and Intel changes could not be tested on that hardware here: please report problems with your GPU model and the log (Help > Export Log).

Dynamic FPS by Dark (built-in). Thanks to zortos293 and every Lichii contributor whose work is in here, and to the Ocarina of Forks Discord for the moral support, the novel ideas and the debugging help.

This release on GitHub
5.5

Fritchii 5.5

Fritchii v5.5, fixes.

  • No more flickering camera for players who had frame generation on before v5. Fritchii has no frame generation, but an old setting kept it running in the background (and turned off Fritchii's frame pacing). It can't run anymore.
  • Extended Dynamic State is set back to EDS2 once. Players who set it to Disabled or EDS3 (often an old AMD crash tip) had "Preparing shaders" skip almost every shader. EDS2 is what the shaders are recorded with, and the AMD crash that tip avoided is fixed since v5.3. You can still change it afterwards.
  • NVIDIA: the shader cache size is set by Fritchii itself. Newer drivers no longer show "Shader Cache Size" in the NVIDIA Control Panel. Fritchii now tells the driver to keep a large cache for Fritchii only, nothing else on your PC changes.
  • DLSS fixes: the "Use NVIDIA DLSS" checkbox could be overridden by an old per-game value and show unchecked in game; it's a global setting now. New DLSS preset option (Default, J, K recommended, L, M) in Graphics.
  • Graphics > Extensions now says it: GPU thread pinning is built in and on automatically.
  • The old "Prepare Shaders" window says it's the optional quick warm-up (the full preparation runs by itself when you start the game).

In v5.4

  • AMD: "Preparing shaders" now prepares the whole game. Until now it skipped 116,373 of OoT's 120,461 shaders on AMD (it finished in seconds) because they were recorded on an NVIDIA card, which handles one GPU setting (the dynamic logic operation) differently. Fritchii now converts them for AMD's driver: all of them get prepared, so new areas play like you've been there before, as on NVIDIA. Thanks to koriko for the log that pinned it.
  • AMD: expect a full "Preparing shaders" screen once (around 15 minutes on an 8-core CPU), even if you went through it on v5.x. After that it's straight into the game.
  • Nothing changes on NVIDIA.

In v5.3

  • AMD: Shader libraries are really off by default now. v5.2 meant to turn them off on AMD's Windows driver but its check never matched, so RX 5000/6000 cards kept crashing while loading shaders. If you unticked the setting yourself, nothing changes for you.
  • Updates retry by themselves. When GitHub's file server answers with an error like 504 or the connection drops, Fritchii now tries again a couple of times before giving up (from the next update on).

In v5.2

  • GTX 10 series and older: invisible geometry is drawn again. Objects the game draws with mesh shaders, which these cards lack, now go through a compute fallback (zortos's prototype, zortos293/Lichii#569, #642, #841). Some foliage or walls may still be missing or flicker.
  • AMD: textures no longer write into other textures' memory. Images whose size isn't a multiple of their block size wrote past their edge while being decoded. NVIDIA ignores that, AMD put it in other textures: black blocks, a crosshatch, and in the end a GPU crash. From CheezerWheezer's AMD fork.
  • AMD (Windows driver): Shader libraries are off by default. RX 5000 and 6000 cards crashed building them; unticking the setting was the workaround, now it's automatic. NVIDIA keeps them.
  • The full right-click menu is back on the home screen (Open Mod Data Location, Dump RomFS, Remove, Verify Integrity, Start Game without Custom Configuration...), for modders.
  • No more crash when the PC's memory budget is reached during long sessions (seen in Castle Town after half an hour). Buffers in system memory may now go over Windows' budget, like textures already could. Also from CheezerWheezer's AMD fork.

In v5.1

  • Dialogue text no longer turns into scraps of other textures. Each new text box size could show garbage the first time it appeared.
  • Delete Shader Cache in the Help menu (and when you right-click the game on the home screen), with a confirmation. Only for a cache that went bad: the shaders are prepared again on the next start.
  • AMD: likely fix for a crash right after pressing Play (seen on an RX 6600 with a shader cache from v4). v5's change for the red line in the Royal Family's Tomb is taken back for now, so that line can show again on AMD until it's redone and tested on AMD hardware.
  • One v5 change to how GPU memory is refreshed after small writes is taken back too: in this emulator it could bring back stale data.
  • 4K and scaled displays: Fritchii follows the scale set in Windows, as far as your screen leaves room for its windows. 150% on a 4K screen used to become 200% (windows too big, dialogs cut off) and 125% became 100% (tiny text).
  • Game Settings fits the screen: long tabs scroll, the window resizes, and OK / Apply are always reachable.

Everything new in v5

Windows x64. Tested with The Legend of Zelda: Ocarina of Time (0400486024DEC000) on a Ryzen 7 7800X3D + RTX 4080: stable 60 fps in a lot of places, rarely under 45 even in the heaviest ones (Water Temple included), no shader stutter after the preparation.

New

  • Shaders are prepared once, before you play. The first time you start OoT, a "Preparing shaders" screen builds the game's shaders at full speed (about 15 minutes on an 8-core CPU, once). After that, places you visit for the first time play like you've been there before: walking into a new area used to freeze for ~0.7 s per new shader, now it's 40-70 ms, and loads are shorter. A new driver or GPU prepares them again. Built on zortos's precompile work (zortos293/Lichii#895, #896).
  • New look. Graphite theme, a home screen, an in-app "What's new", and Help > Export Log for bug reports.
  • In-game controls. Move the mouse to the top of the game for Pause, Restart, Stop, Fullscreen and the menus.
  • New performance graph (View > Performance Overlay): big fps, frame time, the lowest recent fps and a line against 60 (or 30). Loading screens leave a gap instead of a dip.

Faster

  • Moving NPCs and crowds no longer drag the frame rate down. About +3 fps in Castle Town from each of the fixes behind it (render target relocation, image pool, an exact frame clock, cleanup of stale copies), and ~2.4 GB less video memory (8.8 to 6.4 GB in Castle Town).
  • ~2.3 GB less RAM, so 16 GB PCs have more room.
  • Windows 11: a precise game clock built in. Players who got big gains from the GlobalTimerResolutionRequests registry tweak get it without the tweak.
  • Shader translation moved off the GPU thread.
  • Retrained profile-guided build on the new code.

Fixed

  • New players: "Press Start", chat bubbles and lighting are right on an empty shader cache (they were missing or wrong while shaders were still building).
  • Objects that could vanish for a whole session in some games (clip distances, zortos293/Lichii#902).
  • Fastmem kept on PCs with little free memory instead of silently running 20-25% slower (zortos293/Lichii#645).
  • Less RAM while shaders are prepared (#878), a rare channel deadlock (#609), mods folders that don't exist (#686), Windows long paths (#576), and a few smaller ones (#918, #727, #610).

Shader cache

  • The cache moves to version 54 (zortos's numbering), so caches from zortos's builds and Fritchii's are shared. The first start copies your old cache once (about +1.2 GB for OoT). The old v52 file stays so you can roll back to v4; you can delete it later if you don't plan to.

Known

  • AMD and Intel changes could not be tested on that hardware here: please report problems with your GPU model and the log (Help > Export Log).

Dynamic FPS by Dark (built-in). Thanks to zortos293 and every Lichii contributor whose work is in here, and to the Ocarina of Forks Discord for the moral support, the novel ideas and the debugging help.

This release on GitHub
5.4

Fritchii 5.4

Fritchii v5.4: shader preparation for AMD.

  • AMD: "Preparing shaders" now prepares the whole game. Until now it skipped 116,373 of OoT's 120,461 shaders on AMD (it finished in seconds) because they were recorded on an NVIDIA card, which handles one GPU setting (the dynamic logic operation) differently. Fritchii now converts them for AMD's driver: all of them get prepared, so new areas play like you've been there before, as on NVIDIA. Thanks to koriko for the log that pinned it.
  • AMD: expect a full "Preparing shaders" screen once (around 15 minutes on an 8-core CPU), even if you went through it on v5.x. After that it's straight into the game.
  • Nothing changes on NVIDIA.

In v5.3

  • AMD: Shader libraries are really off by default now. v5.2 meant to turn them off on AMD's Windows driver but its check never matched, so RX 5000/6000 cards kept crashing while loading shaders. If you unticked the setting yourself, nothing changes for you.
  • Updates retry by themselves. When GitHub's file server answers with an error like 504 or the connection drops, Fritchii now tries again a couple of times before giving up (from the next update on).

In v5.2

  • GTX 10 series and older: invisible geometry is drawn again. Objects the game draws with mesh shaders, which these cards lack, now go through a compute fallback (zortos's prototype, zortos293/Lichii#569, #642, #841). Some foliage or walls may still be missing or flicker.
  • AMD: textures no longer write into other textures' memory. Images whose size isn't a multiple of their block size wrote past their edge while being decoded. NVIDIA ignores that, AMD put it in other textures: black blocks, a crosshatch, and in the end a GPU crash. From CheezerWheezer's AMD fork.
  • AMD (Windows driver): Shader libraries are off by default. RX 5000 and 6000 cards crashed building them; unticking the setting was the workaround, now it's automatic. NVIDIA keeps them.
  • The full right-click menu is back on the home screen (Open Mod Data Location, Dump RomFS, Remove, Verify Integrity, Start Game without Custom Configuration...), for modders.
  • No more crash when the PC's memory budget is reached during long sessions (seen in Castle Town after half an hour). Buffers in system memory may now go over Windows' budget, like textures already could. Also from CheezerWheezer's AMD fork.

In v5.1

  • Dialogue text no longer turns into scraps of other textures. Each new text box size could show garbage the first time it appeared.
  • Delete Shader Cache in the Help menu (and when you right-click the game on the home screen), with a confirmation. Only for a cache that went bad: the shaders are prepared again on the next start.
  • AMD: likely fix for a crash right after pressing Play (seen on an RX 6600 with a shader cache from v4). v5's change for the red line in the Royal Family's Tomb is taken back for now, so that line can show again on AMD until it's redone and tested on AMD hardware.
  • One v5 change to how GPU memory is refreshed after small writes is taken back too: in this emulator it could bring back stale data.
  • 4K and scaled displays: Fritchii follows the scale set in Windows, as far as your screen leaves room for its windows. 150% on a 4K screen used to become 200% (windows too big, dialogs cut off) and 125% became 100% (tiny text).
  • Game Settings fits the screen: long tabs scroll, the window resizes, and OK / Apply are always reachable.

Everything new in v5

Windows x64. Tested with The Legend of Zelda: Ocarina of Time (0400486024DEC000) on a Ryzen 7 7800X3D + RTX 4080: stable 60 fps in a lot of places, rarely under 45 even in the heaviest ones (Water Temple included), no shader stutter after the preparation.

New

  • Shaders are prepared once, before you play. The first time you start OoT, a "Preparing shaders" screen builds the game's shaders at full speed (about 15 minutes on an 8-core CPU, once). After that, places you visit for the first time play like you've been there before: walking into a new area used to freeze for ~0.7 s per new shader, now it's 40-70 ms, and loads are shorter. A new driver or GPU prepares them again. Built on zortos's precompile work (zortos293/Lichii#895, #896).
  • New look. Graphite theme, a home screen, an in-app "What's new", and Help > Export Log for bug reports.
  • In-game controls. Move the mouse to the top of the game for Pause, Restart, Stop, Fullscreen and the menus.
  • New performance graph (View > Performance Overlay): big fps, frame time, the lowest recent fps and a line against 60 (or 30). Loading screens leave a gap instead of a dip.

Faster

  • Moving NPCs and crowds no longer drag the frame rate down. About +3 fps in Castle Town from each of the fixes behind it (render target relocation, image pool, an exact frame clock, cleanup of stale copies), and ~2.4 GB less video memory (8.8 to 6.4 GB in Castle Town).
  • ~2.3 GB less RAM, so 16 GB PCs have more room.
  • Windows 11: a precise game clock built in. Players who got big gains from the GlobalTimerResolutionRequests registry tweak get it without the tweak.
  • Shader translation moved off the GPU thread.
  • Retrained profile-guided build on the new code.

Fixed

  • New players: "Press Start", chat bubbles and lighting are right on an empty shader cache (they were missing or wrong while shaders were still building).
  • Objects that could vanish for a whole session in some games (clip distances, zortos293/Lichii#902).
  • Fastmem kept on PCs with little free memory instead of silently running 20-25% slower (zortos293/Lichii#645).
  • Less RAM while shaders are prepared (#878), a rare channel deadlock (#609), mods folders that don't exist (#686), Windows long paths (#576), and a few smaller ones (#918, #727, #610).

Shader cache

  • The cache moves to version 54 (zortos's numbering), so caches from zortos's builds and Fritchii's are shared. The first start copies your old cache once (about +1.2 GB for OoT). The old v52 file stays so you can roll back to v4; you can delete it later if you don't plan to.

Known

  • AMD and Intel changes could not be tested on that hardware here: please report problems with your GPU model and the log (Help > Export Log).

Dynamic FPS by Dark (built-in). Thanks to zortos293 and every Lichii contributor whose work is in here, and to the Ocarina of Forks Discord for the moral support, the novel ideas and the debugging help.

This release on GitHub
5.3

Fritchii 5.3

Fritchii v5.3, AMD hotfix.

  • AMD: Shader libraries are really off by default now. v5.2 meant to turn them off on AMD's Windows driver but its check never matched, so RX 5000/6000 cards kept crashing while loading shaders. If you unticked the setting yourself, nothing changes for you.
  • Updates retry by themselves. When GitHub's file server answers with an error like 504 or the connection drops, Fritchii now tries again a couple of times before giving up (from the next update on).
  • AMD players: please send us a log after "Preparing shaders". On AMD the preparation skips most of OoT's shaders because they were recorded on an NVIDIA card. This version logs exactly why (Help > Export Log), so we can fix it next.

In v5.2

  • GTX 10 series and older: invisible geometry is drawn again. Objects the game draws with mesh shaders, which these cards lack, now go through a compute fallback (zortos's prototype, zortos293/Lichii#569, #642, #841). Some foliage or walls may still be missing or flicker.
  • AMD: textures no longer write into other textures' memory. Images whose size isn't a multiple of their block size wrote past their edge while being decoded. NVIDIA ignores that, AMD put it in other textures: black blocks, a crosshatch, and in the end a GPU crash. From CheezerWheezer's AMD fork.
  • AMD (Windows driver): Shader libraries are off by default. RX 5000 and 6000 cards crashed building them; unticking the setting was the workaround, now it's automatic. NVIDIA keeps them.
  • The full right-click menu is back on the home screen (Open Mod Data Location, Dump RomFS, Remove, Verify Integrity, Start Game without Custom Configuration...), for modders.
  • No more crash when the PC's memory budget is reached during long sessions (seen in Castle Town after half an hour). Buffers in system memory may now go over Windows' budget, like textures already could. Also from CheezerWheezer's AMD fork.

In v5.1

  • Dialogue text no longer turns into scraps of other textures. Each new text box size could show garbage the first time it appeared.
  • Delete Shader Cache in the Help menu (and when you right-click the game on the home screen), with a confirmation. Only for a cache that went bad: the shaders are prepared again on the next start.
  • AMD: likely fix for a crash right after pressing Play (seen on an RX 6600 with a shader cache from v4). v5's change for the red line in the Royal Family's Tomb is taken back for now, so that line can show again on AMD until it's redone and tested on AMD hardware.
  • One v5 change to how GPU memory is refreshed after small writes is taken back too: in this emulator it could bring back stale data.
  • 4K and scaled displays: Fritchii follows the scale set in Windows, as far as your screen leaves room for its windows. 150% on a 4K screen used to become 200% (windows too big, dialogs cut off) and 125% became 100% (tiny text).
  • Game Settings fits the screen: long tabs scroll, the window resizes, and OK / Apply are always reachable.

Everything new in v5

Windows x64. Tested with The Legend of Zelda: Ocarina of Time (0400486024DEC000) on a Ryzen 7 7800X3D + RTX 4080: stable 60 fps in a lot of places, rarely under 45 even in the heaviest ones (Water Temple included), no shader stutter after the preparation.

New

  • Shaders are prepared once, before you play. The first time you start OoT, a "Preparing shaders" screen builds the game's shaders at full speed (about 15 minutes on an 8-core CPU, once). After that, places you visit for the first time play like you've been there before: walking into a new area used to freeze for ~0.7 s per new shader, now it's 40-70 ms, and loads are shorter. A new driver or GPU prepares them again. Built on zortos's precompile work (zortos293/Lichii#895, #896).
  • New look. Graphite theme, a home screen, an in-app "What's new", and Help > Export Log for bug reports.
  • In-game controls. Move the mouse to the top of the game for Pause, Restart, Stop, Fullscreen and the menus.
  • New performance graph (View > Performance Overlay): big fps, frame time, the lowest recent fps and a line against 60 (or 30). Loading screens leave a gap instead of a dip.

Faster

  • Moving NPCs and crowds no longer drag the frame rate down. About +3 fps in Castle Town from each of the fixes behind it (render target relocation, image pool, an exact frame clock, cleanup of stale copies), and ~2.4 GB less video memory (8.8 to 6.4 GB in Castle Town).
  • ~2.3 GB less RAM, so 16 GB PCs have more room.
  • Windows 11: a precise game clock built in. Players who got big gains from the GlobalTimerResolutionRequests registry tweak get it without the tweak.
  • Shader translation moved off the GPU thread.
  • Retrained profile-guided build on the new code.

Fixed

  • New players: "Press Start", chat bubbles and lighting are right on an empty shader cache (they were missing or wrong while shaders were still building).
  • Objects that could vanish for a whole session in some games (clip distances, zortos293/Lichii#902).
  • Fastmem kept on PCs with little free memory instead of silently running 20-25% slower (zortos293/Lichii#645).
  • Less RAM while shaders are prepared (#878), a rare channel deadlock (#609), mods folders that don't exist (#686), Windows long paths (#576), and a few smaller ones (#918, #727, #610).

Shader cache

  • The cache moves to version 54 (zortos's numbering), so caches from zortos's builds and Fritchii's are shared. The first start copies your old cache once (about +1.2 GB for OoT). The old v52 file stays so you can roll back to v4; you can delete it later if you don't plan to.

Known

  • AMD and Intel changes could not be tested on that hardware here: please report problems with your GPU model and the log (Help > Export Log).

Dynamic FPS by Dark (built-in). Thanks to zortos293 and every Lichii contributor whose work is in here, and to the Ocarina of Forks Discord for the moral support, the novel ideas and the debugging help.

This release on GitHub
5.2

Fritchii 5.2

Fritchii v5.2, crash fixes.

  • GTX 10 series and older: invisible geometry is drawn again. Objects the game draws with mesh shaders, which these cards lack, now go through a compute fallback (zortos's prototype, zortos293/Lichii#569, #642, #841). Some foliage or walls may still be missing or flicker.
  • AMD: textures no longer write into other textures' memory. Images whose size isn't a multiple of their block size wrote past their edge while being decoded. NVIDIA ignores that, AMD put it in other textures: black blocks, a crosshatch, and in the end a GPU crash. From CheezerWheezer's AMD fork.
  • AMD (Windows driver): Shader libraries are off by default. RX 5000 and 6000 cards crashed building them; unticking the setting was the workaround, now it's automatic. NVIDIA keeps them.
  • The full right-click menu is back on the home screen (Open Mod Data Location, Dump RomFS, Remove, Verify Integrity, Start Game without Custom Configuration...), for modders.
  • No more crash when the PC's memory budget is reached during long sessions (seen in Castle Town after half an hour). Buffers in system memory may now go over Windows' budget, like textures already could. Also from CheezerWheezer's AMD fork.

In v5.1

  • Dialogue text no longer turns into scraps of other textures. Each new text box size could show garbage the first time it appeared.
  • Delete Shader Cache in the Help menu (and when you right-click the game on the home screen), with a confirmation. Only for a cache that went bad: the shaders are prepared again on the next start.
  • AMD: likely fix for a crash right after pressing Play (seen on an RX 6600 with a shader cache from v4). v5's change for the red line in the Royal Family's Tomb is taken back for now, so that line can show again on AMD until it's redone and tested on AMD hardware.
  • One v5 change to how GPU memory is refreshed after small writes is taken back too: in this emulator it could bring back stale data.
  • 4K and scaled displays: Fritchii follows the scale set in Windows, as far as your screen leaves room for its windows. 150% on a 4K screen used to become 200% (windows too big, dialogs cut off) and 125% became 100% (tiny text).
  • Game Settings fits the screen: long tabs scroll, the window resizes, and OK / Apply are always reachable.

Everything new in v5

Windows x64. Tested with The Legend of Zelda: Ocarina of Time (0400486024DEC000) on a Ryzen 7 7800X3D + RTX 4080: stable 60 fps in a lot of places, rarely under 45 even in the heaviest ones (Water Temple included), no shader stutter after the preparation.

New

  • Shaders are prepared once, before you play. The first time you start OoT, a "Preparing shaders" screen builds the game's shaders at full speed (about 15 minutes on an 8-core CPU, once). After that, places you visit for the first time play like you've been there before: walking into a new area used to freeze for ~0.7 s per new shader, now it's 40-70 ms, and loads are shorter. A new driver or GPU prepares them again. Built on zortos's precompile work (zortos293/Lichii#895, #896).
  • New look. Graphite theme, a home screen, an in-app "What's new", and Help > Export Log for bug reports.
  • In-game controls. Move the mouse to the top of the game for Pause, Restart, Stop, Fullscreen and the menus.
  • New performance graph (View > Performance Overlay): big fps, frame time, the lowest recent fps and a line against 60 (or 30). Loading screens leave a gap instead of a dip.

Faster

  • Moving NPCs and crowds no longer drag the frame rate down. About +3 fps in Castle Town from each of the fixes behind it (render target relocation, image pool, an exact frame clock, cleanup of stale copies), and ~2.4 GB less video memory (8.8 to 6.4 GB in Castle Town).
  • ~2.3 GB less RAM, so 16 GB PCs have more room.
  • Windows 11: a precise game clock built in. Players who got big gains from the GlobalTimerResolutionRequests registry tweak get it without the tweak.
  • Shader translation moved off the GPU thread.
  • Retrained profile-guided build on the new code.

Fixed

  • New players: "Press Start", chat bubbles and lighting are right on an empty shader cache (they were missing or wrong while shaders were still building).
  • Objects that could vanish for a whole session in some games (clip distances, zortos293/Lichii#902).
  • Fastmem kept on PCs with little free memory instead of silently running 20-25% slower (zortos293/Lichii#645).
  • Less RAM while shaders are prepared (#878), a rare channel deadlock (#609), mods folders that don't exist (#686), Windows long paths (#576), and a few smaller ones (#918, #727, #610).

Shader cache

  • The cache moves to version 54 (zortos's numbering), so caches from zortos's builds and Fritchii's are shared. The first start copies your old cache once (about +1.2 GB for OoT). The old v52 file stays so you can roll back to v4; you can delete it later if you don't plan to.

Known

  • AMD and Intel changes could not be tested on that hardware here: please report problems with your GPU model and the log (Help > Export Log).

Dynamic FPS by Dark (built-in). Thanks to zortos293 and every Lichii contributor whose work is in here, and to the Ocarina of Forks Discord for the moral support, the novel ideas and the debugging help.

This release on GitHub
5.1

Fritchii 5.1

Fritchii v5.1, a fix-up for v5.

  • Dialogue text no longer turns into scraps of other textures. Each new text box size could show garbage the first time it appeared.
  • Delete Shader Cache in the Help menu (and when you right-click the game on the home screen), with a confirmation. Only for a cache that went bad: the shaders are prepared again on the next start.
  • AMD: likely fix for a crash right after pressing Play (seen on an RX 6600 with a shader cache from v4). v5's change for the red line in the Royal Family's Tomb is taken back for now, so that line can show again on AMD until it's redone and tested on AMD hardware.
  • One v5 change to how GPU memory is refreshed after small writes is taken back too: in this emulator it could bring back stale data.
  • 4K and scaled displays: Fritchii follows the scale set in Windows, as far as your screen leaves room for its windows. 150% on a 4K screen used to become 200% (windows too big, dialogs cut off) and 125% became 100% (tiny text).
  • Game Settings fits the screen: long tabs scroll, the window resizes, and OK / Apply are always reachable.

Everything new in v5

Windows x64. Tested with The Legend of Zelda: Ocarina of Time (0400486024DEC000) on a Ryzen 7 7800X3D + RTX 4080: stable 60 fps in a lot of places, rarely under 45 even in the heaviest ones (Water Temple included), no shader stutter after the preparation.

New

  • Shaders are prepared once, before you play. The first time you start OoT, a "Preparing shaders" screen builds the game's shaders at full speed (about 15 minutes on an 8-core CPU, once). After that, places you visit for the first time play like you've been there before: walking into a new area used to freeze for ~0.7 s per new shader, now it's 40-70 ms, and loads are shorter. A new driver or GPU prepares them again. Built on zortos's precompile work (zortos293/Lichii#895, #896).
  • New look. Graphite theme, a home screen, an in-app "What's new", and Help > Export Log for bug reports.
  • In-game controls. Move the mouse to the top of the game for Pause, Restart, Stop, Fullscreen and the menus.
  • New performance graph (View > Performance Overlay): big fps, frame time, the lowest recent fps and a line against 60 (or 30). Loading screens leave a gap instead of a dip.

Faster

  • Moving NPCs and crowds no longer drag the frame rate down. About +3 fps in Castle Town from each of the fixes behind it (render target relocation, image pool, an exact frame clock, cleanup of stale copies), and ~2.4 GB less video memory (8.8 to 6.4 GB in Castle Town).
  • ~2.3 GB less RAM, so 16 GB PCs have more room.
  • Windows 11: a precise game clock built in. Players who got big gains from the GlobalTimerResolutionRequests registry tweak get it without the tweak.
  • Shader translation moved off the GPU thread.
  • Retrained profile-guided build on the new code.

Fixed

  • New players: "Press Start", chat bubbles and lighting are right on an empty shader cache (they were missing or wrong while shaders were still building).
  • Objects that could vanish for a whole session in some games (clip distances, zortos293/Lichii#902).
  • Fastmem kept on PCs with little free memory instead of silently running 20-25% slower (zortos293/Lichii#645).
  • Less RAM while shaders are prepared (#878), a rare channel deadlock (#609), mods folders that don't exist (#686), Windows long paths (#576), and a few smaller ones (#918, #727, #610).

Shader cache

  • The cache moves to version 54 (zortos's numbering), so caches from zortos's builds and Fritchii's are shared. The first start copies your old cache once (about +1.2 GB for OoT). The old v52 file stays so you can roll back to v4; you can delete it later if you don't plan to.

Known

  • AMD and Intel changes could not be tested on that hardware here: please report problems with your GPU model and the log (Help > Export Log).

Dynamic FPS by Dark (built-in). Thanks to zortos293 and every Lichii contributor whose work is in here, and to the Ocarina of Forks Discord for the moral support, the novel ideas and the debugging help.

This release on GitHub
5

Fritchii 5

Fritchii v5, Windows x64. Tested with The Legend of Zelda: Ocarina of Time (0400486024DEC000) on a Ryzen 7 7800X3D + RTX 4080: stable 60 fps in a lot of places, rarely under 45 even in the heaviest ones (Water Temple included), no shader stutter after the preparation.

New

  • Shaders are prepared once, before you play. The first time you start OoT, a "Preparing shaders" screen builds the game's shaders at full speed (about 15 minutes on an 8-core CPU, once). After that, places you visit for the first time play like you've been there before: walking into a new area used to freeze for ~0.7 s per new shader, now it's 40-70 ms, and loads are shorter. A new driver or GPU prepares them again. Built on zortos's precompile work (zortos293/Lichii#895, #896).
  • New look. Graphite theme, a home screen, an in-app "What's new", and Help > Export Log for bug reports.
  • In-game controls. Move the mouse to the top of the game for Pause, Restart, Stop, Fullscreen and the menus.
  • New performance graph (View > Performance Overlay): big fps, frame time, the lowest recent fps and a line against 60 (or 30). Loading screens leave a gap instead of a dip.

Faster

  • Moving NPCs and crowds no longer drag the frame rate down. About +3 fps in Castle Town from each of the fixes behind it (render target relocation, image pool, an exact frame clock, cleanup of stale copies), and ~2.4 GB less video memory (8.8 to 6.4 GB in Castle Town).
  • ~2.3 GB less RAM, so 16 GB PCs have more room.
  • Windows 11: a precise game clock built in. Players who got big gains from the GlobalTimerResolutionRequests registry tweak get it without the tweak.
  • Shader translation moved off the GPU thread.
  • Retrained profile-guided build on the new code.

Fixed

  • New players: "Press Start", chat bubbles and lighting are right on an empty shader cache (they were missing or wrong while shaders were still building).
  • AMD: the red dotted line in the Royal Family's Tomb (zortos293/Lichii#820).
  • Objects that could vanish for a whole session in some games (clip distances, zortos293/Lichii#902).
  • Fastmem kept on PCs with little free memory instead of silently running 20-25% slower (zortos293/Lichii#645).
  • Less RAM while shaders are prepared (#878), stale data after some GPU writes (#700), a rare channel deadlock (#609), mods folders that don't exist (#686), Windows long paths (#576), and a few smaller ones (#918, #727, #610).

Shader cache

  • The cache moves to version 54 (zortos's numbering), so caches from zortos's builds and Fritchii's are shared. The first start copies your old cache once (about +1.2 GB for OoT). The old v52 file stays so you can roll back to v4; you can delete it later if you don't plan to.

Known

  • AMD and Intel changes could not be tested on that hardware here: please report problems with your GPU model and the log (Help > Export Log).

Dynamic FPS by Dark (built-in). Thanks to zortos293 and every Lichii contributor whose work is in here, and to the Ocarina of Forks Discord for the moral support, the novel ideas and the debugging help.

This release on GitHub
4.1

Fritchii 4.1

Fritchii v4.1, a small hotfix for v4.

  • Fritchii's settings are applied again on update. Players who had changed settings in older builds kept them. This update puts the Ocarina of Time settings back once, now also resolution 1x, FXAA, CPU accuracy Auto and the shader caches. Anything you change afterwards is kept.
  • Shader caches from zortos's builds (cache version 53/54) are used. They were only read when Fritchii had no cache of its own yet; now they are merged into yours, keeping what you already have.

Dynamic FPS by Dark (built-in). Thanks to zortos293 and the Lichii contributors.

This release on GitHub
4

Fritchii 4

Fritchii v4 (Frizti's fork of Lichii, formerly "Frizti v1-v3"), Windows x64. Tested with The Legend of Zelda: Ocarina of Time (0400486024DEC000) on a Ryzen 7 7800X3D + RTX 4080.

New

  • New name and logo: Fritchii. Settings, saves and caches are shared with Lichii and older Frizti builds.
  • Auto updates. Asks before installing, checks the SHA-256 GitHub publishes for the file, keeps your settings, saves, keys and nx2_switches.txt, and keeps the previous version for a one-click rollback. Turn the startup check off in General settings.
  • NVIDIA DLSS for Ocarina of Time (experimental, RTX): Emulation > Configure > Graphics > "Use NVIDIA DLSS in place of a game's DLSS", resolution scale 1x, download the DLSS files with the button there, restart the game (zortos293/Lichii#606, from Rengundom's work).
  • Option to turn off the game's sharpening anti-aliasing (it steps aside while DLSS is on).

Fixed

  • Water flicker, everywhere. The water shader reads each light's texture per pixel; the emulator mistook the light buffer's address for a texture and picked a random one every other frame. Now it binds no texture there: 0 flicker frames at the Zora's River waterfall, against hundreds a minute before.
  • Overexposed and too-dark zones in Hyrule Field. The light probe records lie up to 130 MiB past their table, but only 64 MiB was bound, so zones read zero light and exposure jumped 3-4x (jpkto, zortos293/Lichii#351).
  • Kakariko graveyard: the dark slab and the giant bright triangle of wrong geometry are gone.
  • Fewer white flashes (stale shader constants checked on every use; query results waited for before the game reads them, zortos293/Lichii#215).
  • Hyrule Field grass no longer disappears (zortos293/Lichii#421, #434) and near foliage draws correctly (#410).
  • Freeze with GPU accuracy High or Balanced/Accurate fences (kraibse, zortos293/Lichii#687).
  • AMD: NaN-safe min/max (#432), black forest fog on GPUs without dynamic blend state, compare samplers, out-of-range texture handles, uneven compressed mips, pipeline cache reset on driver rejection (zortos293/Lichii#679, from the CheezerWheezer fork survey by conongnang, chuppatricky, sharkiix, Erick, persluffy-cl, ne1i and EtienneDefranc).
  • Running out of video memory fails cleanly instead of crashing (helps 8 GB cards, #440); Overwolf hooks no longer break Vulkan (#365); audio no longer pads silence (#585); framebuffer and descriptor limits (#427, #495).

Faster

  • Retrained profile-guided build: about +2.5 fps in busy places like Castle Town.
  • The game's neural-network passes run on the GPU's matrix units on NVIDIA RTX and AMD RDNA3/RDNA4 (mstampfli zortos293/Lichii#582, estevanbs #583, with the RDNA2 crash guards #629/#634/#657). It saves GPU time, so it helps most where the GPU is the limit; older AMD GPUs keep the previous path.
  • Less work on the GPU threads per frame, faster buffer-cache page walks (#580), and compiled shaders that were never used are no longer evicted (#550).
  • Hybrid Intel/AMD CPUs keep the emulator's busiest threads on the performance cores.

Known

  • AMD and Intel fixes could not be tested on that hardware here: please report problems with your GPU model and the log.

Dynamic FPS by Dark (built-in). Thanks to zortos293 and every Lichii contributor whose work is in here.

This release on GitHub
3

Fritchii 3

Frizti v3, Windows x64. Tested with The Legend of Zelda: Ocarina of Time (0400486024DEC000) on a Ryzen 7 7800X3D + RTX 4080.

Faster

  • About 60 fps in Kokiri Forest, about 55 at Lake Hylia, about 50 in Kakariko Village (v2: about 44 in Kokiri Forest).
  • Built with clang, profile-guided optimization and ThinLTO: about 15% faster than the previous compiler on every thread.
  • The two GPU threads get their own CPU cores, so the game's CPU threads can't preempt them. This was the biggest single gain: Lake Hylia's worst moments went from about 29 to about 54 fps. Thanks to daniil for the idea.
  • Evil's DMA snapshot fix: most of the GPU thread's waits for the game's occlusion checks are skipped, with no wrong reads in about 235,000 checked. Lake Hylia went from 46.5 to 52.3 fps.
  • Semaphore waits resolved without stopping the GPU threads (ported from zortos293/Lichii#231 by PantACRO4life, with thibaut's experiments).

Smoother

  • New frame pacer. Each frame now stays on screen for exactly the same time (two refreshes at 60 fps on a 120 Hz screen) instead of alternating 8 ms and 25 ms. With it, 97–99% of frames are perfectly even; without it, 91–96%. Long hitches dropped from 70–200 ms to 22–34 ms.
  • Much less shader stutter:
    • compiled shaders are no longer thrown away after 2.5 minutes (going back to a place recompiled them all);
    • objects whose shader is still compiling are skipped for a frame instead of freezing the game;
    • after a restart, the newest cached shaders are rebuilt first.

Fixed

  • No more white flashes around the sword boulder and in other places. Evil found the cause: a short delay before GPU fences were flushed. Thanks to guideahon for the query flush before the game reads its occlusion results (fork PR #2).
  • Bush leaves no longer disappear when Link gets close.
  • Distant rock formations render correctly (fork PR #3 by wroyca).
  • Terrain layer blotches (zortos293/Lichii#185).

Also from zortos293/Lichii

zortos293/Lichii#193, #224, #290 and #295 (sync and barrier fixes, async shader draw policy), each reviewed before merging.

Known issues

  • Rarely, a loading screen comes up overexposed or tinted. Restarting the game fixes it.
  • If you see white flicker on the bottom half of the ladder to Link's house, please report it with your eden_log.txt.

Credits

  • Evil: the DMA snapshot performance fix and the white flash fix.
  • Dark (Eglantine Dev): Dynamic FPS, built in with his permission.
  • guideahon, wroyca, PantACRO4life, thibaut, daniil, and zortos293 and everyone contributing to Lichii.
This release on GitHub
2

Fritchii 2

Frizti v2, Windows x64. Tested with The Legend of Zelda: Ocarina of Time (0400486024DEC000) on an RTX 4080.

Ocarina of Time

  • Dynamic FPS by Dark (Eglantine Dev) is built in, with his permission: the game runs at full speed at any frame rate, no mod to install. It shows in Add-Ons as "Dynamic FPS by Dark (built-in)", on by default; if you still have the mod in your load folder, yours is used instead.
  • Faster: about 44 fps median in Kokiri Forest (about 37-40 before these changes), mostly from the GPU back thread doing less work per draw and the two GPU threads waiting on each other less.
  • Much less shader stutter:
    • cached pipelines that startup skips are built on background threads while you play;
    • mesh pipelines (terrain, foliage) are now saved in the shader cache instead of being rebuilt every session.
  • This build keeps its shader cache in its own files (vulkan-frizti.*), copied once from your existing cache, so other Lichii builds can't delete it.

Merged from zortos293/Lichii (each reviewed before merging)

  • perf-9 build (zortos293, nyakuoff): faster 3D method handling and constant buffer uploads on the GPU back thread, cheaper buffer bookkeeping, used-pipeline list kept for 16 sessions, parallel texture unswizzling. Its experimental options that change timing are off by default (EDEN_NX2_PERF_ON=<name> turns one on).
  • zortos293/Lichii#175 and zortos293/Lichii#176 by mja00: cached storage buffer bindings, direct upload of native uniform banks.
  • zortos293/Lichii#166 by DrSergioRFilho: its safe fixes and opt-in switches (its riskier switches left out).
  • zortos293/Lichii#144 (Kradnah), zortos293/Lichii#150 (zortos293), zortos293/Lichii#141 (Kajcsi), zortos293/Lichii#140 (Shrxmy) and the rest of zortos293's nx2 branch up to 27226d2.
  • Not included: zortos293/Lichii#161, which drew a large wrong-geometry slab in Kokiri Forest.

Known issues

  • After visiting the Kokiri Sword boulder area and coming back, the path toward the Deku Tree can become heavily overexposed. Being investigated.
This release on GitHub
1

Fritchii 1

Frizti v1, Windows x64.

Ocarina of Time (0400486024DEC000)

  • No more one-frame white flashes on Link and the scene: the occlusion counter is paused, not reset, at each submission (zortos293/Lichii#121 by Kajcsi, e44ee5c + 87203d5).
  • Built-in Max Resolution patch, so the 3D no longer sits at the 854x480 dynamic-resolution floor. It shows in Add-Ons as "Max Resolution (built-in)" (merged from zortos293's test/all-in-one, 47b4146).
  • Everything from bisect/oot-6 (culling, vegetation and grass pointer fixes) and fix/oot-fog.

Debugging

  • EDEN_NX2_FLASH_WATCH=<dir> finds flashes that last 1-2 frames and names the render pass where they start. Off unless set; see AGENTS.md.
  • Off-by-default trace switches from zortos: EDEN_NX2_PENDING_WRITE_TRACE, EDEN_NX2_TABLE_POINTER_TRACE.

Files

  • lichii-frizti-v1-windows-x86_64.zip: the emulator. Unzip and run lichii.exe (run vc_redist.x64.exe first if Windows asks for the Visual C++ runtime).
  • lichii-frizti-v1-windows-x86_64-symbols.zip: lichii.pdb and eden-cli.pdb, only needed to read crash dumps.
This release on GitHub

All releases on GitHub