[Scene Switch] FPSLocker v1.2.1 released

Published a new update for  FPSLocker , the tesla overlay developed by the developer masagrator for modified Switch consoles allows us to set a custom FPS through the detection of the graphics API.


Installing the FPSLocker overlay  requires the use of two other homebrew apps, NX-FPS (version 1.1) and SaltyNX (version 0.5.1). It is also recommended to overclock the system using the sys-clk sysmodule.

The FPSLocker Warehouse repository collects numerous YAML files used by FPSLocker which in addition to storing information about games at 30FPS, also includes a whole host of additional information on how to update patches for over 30fps hacks.


Note: The maximum supported yaml size is 32kB, although it may be expanded in future updates.




The overlay is performed in two modes:

When the game is running

If the game is supported by SaltyNX and you have installed everything correctly, you will see the menu where the first line indicates that the NX-FPS plugin is running. Explanation of each line:

  • Interval Mode– It is used by the NVN API to set the limiter to 30 FPS (2) or 60 FPS (1 or 0 (0 means the game never bothered to set it, it can also be a sign that the game is not using NVN but EGL or Vulkan)).
  • Custom FPS Target– It is used to freeze the game on certain FPS. If the game is using the engine’s proprietary FPS locks, it may not be able to unlock more than 30 FPS without additional patches.
  • Big number on the right– Shows how many frames have passed in the last second for the currently running game. This is to confirm that the lock is working as expected.
  • Increase/Decrease FPS target– Change the FPS target by 5. The minimum is 15 FPS, the maximum is 60 FPS. If FPS is set above 30 FPS, set interval modeto 1. Otherwise set Interval to 2.
  • Disable custom FPS target– Removes the FPS target. Since we cannot predict what range mode is expected at this point, it is up to the user to manipulate the FPS to restore the correct range before disabling the FPS target.
  • Advanced settings – submenu consisting of:
    • Window Sync Wait– This is a dangerous setting that disabling it in most cases will cause the game to crash (e.g. Witcher 3 and Breath of The Wild ), but in some it can bring the benefit of disabling the double buffer at the cost of minor graphical glitches ( for example Xenoblade Chronicles 3 ). Use it with caution.
    • Convert config to patch file– If there is an appropriate configuration file for this game and this version, you will have an option to convert it into a patch file which will be loaded when you run this game next time. The patch is saved in SaltySD/plugins/FPSLocker/patches/*titleid_uppercase*/*buildid_uppercase*.bin.
    • Delete patch file– If there is a proper config file for this game and this version, you will have an option to delete the patch file so it won’t be loaded when you run this game next time.
  • Save settings– Save profile for currently running game which will be automatically loaded next time by plugin on startup. Don’t use it if you have disabled Sync Wait and haven’t tested it properly lest it cause crashes. The profile is saved in SaltySD/plugins/FPSLocker/*titleid_uppercase*.dat.

When the game is not running

It will list the installed games (maximum 32) and the “All” submenu is available as the first option. Inside each one you will find two options:

  • Delete settings– It will delete the file created by the “Save settings” option.
  • Delete patches– It will delete the file created by the “Convert config to patch file” option.

Sync Wait

In those games you can disable the vsync double buffer by turning off Window Sync Waitin FPSLocker:

  • Pokemon Legends: Arceus.
  • Pokemon Scarlet.
  • Pokémon Violet.
  • The Legend of Zelda: Tears of the Kingdom.
  • Xenoblade Chronicles: Final Edition.
  • Xenoblade Chronicles 2.
  • Xenoblade Chronicles 3.

Changelog v1.2.1

  • Added “Semi-Enabled” option for Window Sync which does not time out nvnSyncWait if at least the second consecutive frame has been rendered below 8.3ms.
    • At the cost of slightly worse performance it fixed issues in Tears of the Kingdom with longer load times and screen tearing in menus at 60 FPS.

Changelog v1.2.0

  • Added support for entry MASTER_WRITEin FPSLocker patches which allows you to patch any part of mainbefore game starts (if applied in Advanced Settings you will see “Master Write was loaded to game”). This is to allow patches to redirect assembly that normally reads values ​​from read-only sections to hollow queues or executable patches to disable double buffering.
  • Changed the name “Sync Wait” to “Window Sync Wait”.
  • Now if the game configuration that can be patched is not available, instead of the error code overlay will be printed Game config file not found.


Note: To use this version you need to update NX-FPS to version 1.5.1+ for it to work.


Download: FPSLocker v1.2.1

Download: Sourcecode FPSLocker v1.2.1

Source: gbatemp.net