Repository navigation
Releases
Fritchii v4.1
⬇️ Download this file: Fritchii-v4.1-Windows-x64.zip
On Fritchii v4 you don't need to download anything: it offers this update when you open it. Otherwise unzip it anywhere and run Fritchii-v4.1\lichii.exe. Don't download "Source code (zip)" or "Source code (tar.gz)": they contain no emulator.
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.
Fritchii v4
⬇️ Download this file: Fritchii-v4-Windows-x64.zip
Unzip it anywhere and run Fritchii-v4\lichii.exe (run vc_redist.x64.exe from the same folder first if Windows asks for the Visual C++ runtime). Your existing settings, keys, saves, games and shader caches are used as they are.
Do not download "Source code (zip)" or "Source code (tar.gz)": GitHub adds those automatically and they contain no emulator. Fritchii-v4-debug-symbols-not-needed-to-play.zip is only for reading crash dumps.
This is the last version you install by hand. From v4 on, Fritchii checks for updates at startup, asks you, verifies the download and installs it in place, and Help > Roll Back to the Previous Version undoes it.
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#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#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#215).
- Hyrule Field grass no longer disappears (zortos293#421, zortos293#434) and near foliage draws correctly (zortos293#410).
- Freeze with GPU accuracy High or Balanced/Accurate fences (kraibse, zortos293#687).
- AMD: NaN-safe min/max (zortos293#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#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, zortos293#440); Overwolf hooks no longer break Vulkan (zortos293#365); audio no longer pads silence (zortos293#585); framebuffer and descriptor limits (zortos293#427, zortos293#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#582, estevanbs zortos293#583, with the RDNA2 crash guards zortos293#629/zortos293#634/zortos293#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 (zortos293#580), and compiled shaders that were never used are no longer evicted (zortos293#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.
Frizti v3
⬇️ Download this file: Lichii-Frizti-v3-Windows-x64.zip
Unzip it anywhere and run Lichii-Frizti-v3\lichii.exe (run vc_redist.x64.exe from the same folder first if Windows asks for the Visual C++ runtime). Your existing settings, keys, saves and games are used as they are.
Do not download "Source code (zip)" or "Source code (tar.gz)": GitHub adds those automatically and they contain no emulator. Lichii-Frizti-v3-debug-symbols-not-needed-to-play.zip is only for reading crash dumps.
Nothing to set up
The settings Ocarina of Time needs are now built in. On the first launch Lichii asks one question:
- 60 FPS: needs a fast, recent CPU.
- 30 FPS (lower-end PCs): the game keeps its normal speed.
Switch any time with the 60 FPS / 30 FPS button at the bottom of the window (next to DOCKED). One click, takes effect at once, even in game.
If you set things by hand for v2, your choices are kept. A fresh install now starts with GPU Mode Fast, asynchronous shaders and presentation, Docked mode, GPU video decoding and 8 GB memory.
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#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#185).
Also from zortos293/Lichii
zortos293#193, zortos293#224, zortos293#290 and zortos293#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.
Frizti v2
⬇️ Download this file: Lichii-Frizti-v2-Windows-x64.zip
Unzip it anywhere and run Lichii-Frizti-v2\lichii.exe (run vc_redist.x64.exe from the same folder first if Windows asks for the Visual C++ runtime). Your existing settings, keys, saves and games are used as they are.
Do not download "Source code (zip)" or "Source code (tar.gz)": GitHub adds those automatically and they contain no emulator. Lichii-Frizti-v2-debug-symbols-not-needed-to-play.zip is only for reading crash dumps.
Recommended settings for Ocarina of Time
Settings are not part of the download: a fresh install starts with the emulator's defaults, which run this game slowly. In Emulation → Configure... (or right-click the game → Properties to set them for this game only):
| Setting | Set to | Why |
|---|---|---|
| GPU Mode | Fast | The most important one. "Accurate" turns off the split GPU thread this build's speed relies on (single-digit FPS). |
| Enable asynchronous shader compilation | On | Fewer hitches when new effects appear. |
| Enable asynchronous presentation (Vulkan only) | On | Smoother frame pacing. |
| Console Mode | Docked | Renders at the docked resolution. |
| NVDEC emulation | GPU Video Decoding | Cutscene videos. |
| Memory Layout | 8GB DRAM | The game's own memory size. |
Max Resolution and Dynamic FPS need no setting: both are built in and on (Add-Ons tab in the game's Properties).
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
loadfolder, 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#175 and zortos293#176 by mja00: cached storage buffer bindings, direct upload of native uniform banks.
- zortos293#166 by DrSergioRFilho: its safe fixes and opt-in switches (its riskier switches left out).
- zortos293#144 (Kradnah), zortos293#150 (zortos293), zortos293#141 (Kajcsi), zortos293#140 (Shrxmy) and the rest of zortos293's nx2 branch up to 27226d2.
- Not included: zortos293#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.
Frizti v1
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#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 runlichii.exe(runvc_redist.x64.exefirst if Windows asks for the Visual C++ runtime).lichii-frizti-v1-windows-x86_64-symbols.zip:lichii.pdbandeden-cli.pdb, only needed to read crash dumps.