Playable The Legend of Zelda: Ocarina of Time
Stable 30 fps guest, 60 fps on screen with LSFG; Accuracy Low enables the GPU thread split.
What happened
Linux, hybrid laptop with PRIME offload to the RTX 4050, docked mode at 1440p presentation with Res1X internal resolution.
Performance measured from the emulator log (last 600 presents) in steady gameplay, shader cache warm: 33.3-33.4 ms (about 30 fps, the game's native rate), p95 inside 1 ms of the median and no present above 100 ms. GPU at 92-95% usage, 42-46 W against a 50-55 W enforced limit, 60-65 C. CPU package 84-91 C average with short peaks at 100 C on this laptop.
Frame generation: LSFG from the Lossless Scaling DLL in the lossless folder, confirmed by 'LsfgShaders: LSFG shaders loaded: 25 modules'. With multiplier 2 and a 60 fps target, MangoHud shows a steady 60 fps / 16.7 ms on screen while the guest delivers 30 fps, so the generated frames arrive. FSR3 frame generation is not usable for this game (no motion vectors) and the NVIDIA DLSS replacement does not apply on Linux.
Two findings that may deserve a hint in the UI:
1) GPU accuracy High silently disables the GPU thread split. In this build the split only starts when accuracy is not High (gpu_split.cpp allows it only when !IsGPULevelHigh()). On this machine, switching High to Low while the game was running made the log print 'GPU thread split: engine methods run on a second thread' and the frametime dropped from 34.5-35.1 ms to 26.5 ms. The only feedback when it is blocked is the HW.GPU log line 'GPU thread split: stopped, the accuracy settings need the caches on the front'. A UI note next to Accuracy would save users from leaving the biggest tuning switch off.
2) LSFG requires Lossless.dll from Lossless Scaling in the lossless folder of the user directory, and the UI does not say where to get it.
Also worth knowing for anyone tuning clocks: fast CPU/GPU clock at Overclock scales the guest counter (CPU 2040 MHz against a 1020 MHz base) and the game runs visibly at 2x speed, which is easy to mistake for a frame generation problem.
How far they got
Boot and intro, then an early save in Hyrule Field, several cutscenes and a Goron scene. About 1 hour across two sessions on this build. No crashes, no blockers, no missing geometry noticed.
Steps to reproduce
1. Set Graphics > Accuracy to High and start the game.
2. Search 'GPU thread split' in eden_log.txt: the line is absent, the split never starts.
3. Switch Accuracy to Low while the game is running: the log prints 'GPU thread split: engine methods run on a second thread' and the guest frametime drops.
4. Read the frametime from 'last 600 presents' in the log, warm shader cache, same save and the same spot.
Settings
Resolution: Res1X
GPU accuracy: Low
Asynchronous shaders: true
Console mode: Docked
ASTC decoding: CpuAsynchronous
Scaling filter: Fsr
Memory layout: Memory_8Gb
CPU accuracy: Auto
VSync: Fifo
Asynchronous GPU emulation: true
Anisotropic filtering: Automatic
Frame pacing: Target_Auto
ASTC recompression: Bc3
Disk shader cache: true
Frame generation: LSFG (Lossless Scaling DLL installed), multiplier 2, target 60 fps
Native async draws: Bounded, 8 ms per frame budget
CPU and GPU clocks: Normal (1x speed)
FPS limit: 0 (game and display decide)
GPU accuracy: Low (set explicitly, this is what allows the GPU thread split to run)
Tested on this setup
- Lichii build
- nx2-build-125 (PGO)
- Build section
- Build 125
- Game version
- v131072 (display version 2.0.0)
- CPU
- Intel(R) Core(TM) 7 240H | AVX2 | FMA
- GPU
- NVIDIA GeForce RTX 4050 Laptop GPU
- GPU driver
- NVIDIA 595.99.2.0
- Operating system
- Ubuntu 26.04.1 LTS
- RAM
- 30.55 GiB
- Graphics API
- Vulkan