A quick update has been released for FPSLocker , the tesla overlay developed by developer masagrator for modded Switch consoles that allows us to set a custom FPS through graphics API detection.

The Tesla Overlay works by overlaying additional information on the screen during gameplay and offers the ability to customize various aspects, including FPS.
Users will be able to define a specific value for the FPS while the overlay will take care of detecting the graphics API used by the game to automatically adjust the frame rate.
This feature offers greater control over the gaming experience, allowing users to optimize the performance of their games based on the capabilities of their console and their personal preferences.
The FPSLocker Warehouse repository contains several YAML files used by FPSLocker that not only store information about 30FPS games, but also include a whole bunch of additional information about how to patch 30+fps hacks.
Note: The maximum supported yaml size is 32kB, although it may be expanded in future updates.
In this new release, an issue has been fixed that caused a segmentation error (segfault) when some capture cards, such as the NZXT Signal HD60 or EVGA XR1 Lite, attempted to access the Docked Mode settings.
The error was caused by these cards storing a VIC index of 0, which was considered invalid.
Requirements
- Custom Firmware Atmosphere
- SaltyNX fork, version 0.7.0+
- Tesla Environment: ovlloader + Tesla Menu
How to set everything up
How to set everything up so you can read FPS with Status Monitor and manipulate FPS with FPSLocker.
Atmosphere CFW is required. SX OS and other CFWs are not supported. It is recommended to use Atmosphere’s homebrew USB Transfer Tool to transfer files.
If you are using Hekate’s USB Mass Storage feature and are inserting files using an operating system other than Windows, you need to run Hekate’s Archive Bit Fixer after inserting all the files.
- Download the latest version of
SaltyNX
from HERE , unzip the archive.zip
, copy both folders (SaltySD
andatmosphere
) inside the SD card, accept any popups about overwriting the folders. - Download the latest version of
nx-ovlloader
from HERE , unzip the archive.zip
, copy the folderatmosphere
to your SD card, accept any popups about overwriting folders. - Download the latest version of
Tesla Menu
from HERE , copy the folderswitch
to your SD card, accept any popups about overwriting folders. - Download the latest version of
Status Monitor Overlay
from HERE , copyStatus-Monitor-Overlay.ovl
inside the folderswitch.overlays
. It may not be visible in the USB mass storage, but it is there. - Download the latest version of
FPSLocker
from HERE , copyFPSLocker.ovl
inside the folderswitch.overlays
. It may not be visible in the USB mass storage, but it is there. - Download the latest version of
sys-clk
from HERE , copy all 3 folders into the SD card, accept any popups about overwriting the folders. - Restart your Switch, you can now access the overlays by pressing all 3 buttons at the same time:
, ,
and
(or by pressing it).
Additionally, for FPSLocker , download the latest patch set from FPSLocker Warehouse for games that require more tweaks to get an adequate FPS boost.
Usage
The overlay runs in two modes:
When the game is running
If your 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
– Used by the NVN API to set the limiter to 30 FPS (2) or 60 FPS (1).Custom FPS Target
– Used to lock the game to a certain FPS. If the game uses proprietary engine 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 block 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 the FPS is set above 30 FPS, set itinterval mode
to 1. Otherwise, set the interval to 2.Disable custom FPS target
– Removes the FPS target. Since we cannot predict what range mode you will be expecting at this time, it is up to the user to manipulate the FPS to restore the correct range before disabling the FPS target.- Advanced settings – Submenu that includes:
- If the game uses NVN:
Window Sync Wait
– This is a dangerous setting that, if disabled, can crash the game, but in some cases can have the advantage of disabling double vsync at the cost of minor graphical glitches (check the list of games compatible with this solution at the end of the README). Use with caution. It will not be shown if the game is not using double buffering.Set Buffering
– If the game is using a buffering other than double, this option will be shown, which will allow you to force the game to run with a different buffering that is not higher than the original one (so for example you cannot change from double to triple buffering). Reducing the buffer is only recommended for games that have near perfect performance at 30 or 60 FPS, but suffer from bad framepacing or large input lag. If you force double buffering in games with uneven performance, the FPS drops will be very severe. It can only be applied at game startup, so after changing the buffering you must save the settings in FPSLocker and restart the game.
Explanation ofSet/Active/Available Buffers
:- Set – How many buffers have been set using
nvnWindowSetNumActiveTextures
. If the game is not using it, it will be 0. Can be used by games to set a lower buffer value than the reserved space allows. If it is found to be in use and is less than the available buffers, you can use the “(force)” variant next to the default option. Without it(force)
it will revert to default settings. - Active – How many buffers the game is actually using.
- Available – How many buffers are actually provided to NVN. We can use this information to force games to use all buffers when they aren’t.
- Set – How many buffers have been set using
Convert config to patch file
– If there is a correct configuration file for this game and version, you will have the option to convert it into a patch file that will be loaded when you run this game next time. The patch is saved inSaltySD/plugins/FPSLocker/patches/*titleid_uppercase*/*buildid_uppercase*.bin
Delete patch file
– If there is a correct configuration file for this game and version, you will have the option to delete the patch file so that it will not be loaded when you run this game next time.Check/download config file
– Check the Warehouse repository to see if there is a config for this game and version. If there is, it will be downloaded and checked to see if it is the same as the one on the SD card. If not, the overlay will remove the existing patch and config file, and the user will have to manually convert the new config to a patch file. If the config does not exist in the repository for this game and version, you should get error 404. Error 0x312 means we got an unexpected file from GitHub. Any other error means something is wrong with your connection or the GitHub server.
- If the game uses NVN:
Save settings
– Saves the profile for the currently running game that will be automatically loaded next time by the plugin at startup. Do not use this if you have disabled sync waiting and have not tested it properly to avoid crashes. The profile is saved inSaltySD/plugins/FPSLocker/*titleid_uppercase*.dat
When the game is not running
It will list the installed games (maximum 32) and as the first option there is the “All” submenu. 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 “Convert config to patch file” option.
Sync Wait
In those games you can disable double buffer vsync by turning it off Window Sync Wait
in FPSLocker:
- Pokemon Legends: Arceus.
- Pokemon Scarlet.
- Pokemon Violet.
- The Legend of Zelda: Tears of the Kingdom.
- Xenoblade Chronicles: Definitive Edition.
- Xenoblade Chronicles 2.
- Xenoblade Chronicles 3.
Changelog
- Fixed an issue with some capture cards causing a segfault when trying to access Docked mode settings, as they stored a VIC index of 0, which was considered invalid (e.g. NZXT Signal HD60, EVGA XR1 Lite).
Download: FPSLocker v2.1.6
Download: Source code FPSLocker v2.1.6
Source: github.com
Dịch Vụ Chép Game Tại TP.HCM – Hỗ Trợ Tất Cả Quận
Chép Game Ổ Cứng Ngoài Giá Rẻ – Hỗ Trợ PS, Xbox, Nintendo, PC
Dịch Vụ Chép Game PSP Giá Rẻ – Game Việt Hóa Cập Nhật Mới Nhất
Dịch Vụ Chép Game PSVITA Giá Rẻ – Game Việt Hóa Cập Nhật Mới Nhất
Dịch Vụ Chép Game PS2 Giá Rẻ – Game Việt Hóa Cập Nhật Mới Nhất
Dịch Vụ Chép Game NINTENDO SWITCH Giá Rẻ – Game Việt Hóa Cập Nhật Mới Nhất
Dịch Vụ Chép Game PS5 Giá Rẻ – Game Việt Hóa Cập Nhật Mới Nhất
Dịch Vụ Chép Game XBOX 360 Giá Rẻ – Game Việt Hóa Cập Nhật Mới Nhất
Dịch Vụ Chép Game PS3 Giá Rẻ – Game Việt Hóa Cập Nhật Mới Nhất
Dịch Vụ Chép Game PS4 Giá Rẻ – Game Việt Hóa Cập Nhật Mới Nhất
Dịch Vụ Chép Game PC Giá Rẻ – Game Việt Hóa Cập Nhật Mới Nhất