The ultimate solution to install `NSP`, `NSZ`, `XCI` and `XCZ` and work with Nintendo Switch. Supports installation over MTP, USB, http (from your personal server), external USB and more. Support for viewing images in `jpg`, `png` and `psd` formats. Support for working with `zip` and `rar` archives, as well as with `cbr`/`cbz` containers. Support for text files, plain text view and hex view. Can be used as a file manager (copy, move, delete files and folders, create folders). Work with saves (including backup and restore) and much more.
Copy `dbi.nro` and `dbi.config` to your SD card at `sdmc:/switch/DBI/` DBI can be then be launched in either applet mode (from Album) or application mode (title override), however it is primarily designed to be used in applet mode.
* **Browse SD Card** - installation of NSP/NSZ/XCI/XCZ files from your SD card
* **Browse USB0 Drive** - installation of NSP/NSZ/XCI/XCZ files from an external FAT32 or exFAT formatted USB drive (will only appear if a USB drive is connected)
* **Install title from USB** - installation of NSP/NSZ/XCI/XCZ from a PC via USB 2.0 or 3.0 cable using the included dbibackend script. *Main menu hotkey for this option*: **(Y)** button
* **Install title from Gamecard** - install a game from gamecard to the console's internal NAND or SD card (will only appear if a gamecard is inserted)
* **Home server** - install games over your local network (HTTP) using a LAN USB adapter or WiFi network. For full details see **[Home server](#home-server)**
* **Browse installed applications** - view installed titles including base, update, DLC and whether or not a LayeredFS mod is present. Launch titles directly. Displays your total play time and how many times you've launched the title. Check file integrity for errors, transfer game data between internal NAND and SD card, delete individual or multiple titles and their LayeredFS mods with one click, individually remove updates and DLC and use the `Reset Required version` function to restore the system update check for the selected game back to base. *Main menu hotkey for this option*: **(L)** button
* **Cleanup orphaned files** - removes all orphaned installed content, tickets and pending firmware updates from the system with one click
* **Browse tickets** - view and manually delete system tickets for games
* **Browse saves** - view, backup and delete game save data for all games
* **Run MTP responder** - enables DBI's internal MTP server to connect the Switch to a PC or to an Android device (Some tested phone/tablet devices: Pixel 3, Xiaomi Mi A1, Lenovo Tab 4 7 "TB-7304X). On your device you will be presented with several virtual MTP drives for installation and many advanced features for file management on your SD card and NAND. Please see **[Run MTP Responder](#run-mtp-responder)** for a full overview
The bottom left corner of DBI displays the total amount of data currently on your SD card along with the full capacity. The bottom right corner gives you the same information for your NAND's usable space in HOS.
* **(B)** - cancel, exits the program **from the main menu**
* **(X)** - file selection, hotkey for mounting MTP **on the main menu** (menu option "**Run MTP responder**")
* **(Y)** - invert selection (selects everything if nothing is selected), hotkey for launching USB installation via dbibackend **on the main menu** (menu option "**Install title from USB**")
* **(ZL)** and **(ZR)** - scroll pages in menus, scroll through individual games when in detailed game menu
* **(L)** - **on the main menu** the hotkey for the menu option "**Browse installed applications**"
* **(R)** - change the displayed sort order of files/titles
* **(L3)** - click left stick to launch games from the application list or detailed game menu
* **(+)** on the right joycon - display context menus to allow you to perform operations such as deleting, resetting the required firmware version, mounting via MTP and more
* **(-)** on the left joycon - turn the screen on/off when MTP mode is activated/when installing titles
Select these options if you want to install games, updates and DLC from files present on your SD card or from an external USB drive.
Press **(A)** to open the folder and **(B)** to return. After opening the folder containing your installation files use the **(X)** button to select single or multiple files for installation. The **(Y)** button inverts your selections and the color of the name of the selected files will change from white to light blue.
* **Total transfer size** - the total amount of data (NSP/NSZ/XCI/XCZ files) selected for installation
* **Total install size** - the amount of free space required to install the selected files
* **Install target** - select installation location: **NAND** - internal memory of the Nintendo Switch console, **SD** - SD card, **AUTO** - by default this will install to your SD card but if you don't have enough space the installation will fall back to NAND (internal memory)
* **Delete after install** - deletes installation files (NSP/NSZ/XCI/XCZ files) from the source after they have been successfully installed; for this to work, the "Read-only" attribute must be removed from files if present. By default files are not deleted. The option is visible only when installing from an SD card/external USB drive
* **Turn off screen** - turns off the screen during installation to conserve battery, after installation successfully completes the screen will automatically turn back on. This option only works in handheld mode
* Select **Start install** to begin the installation. After a successful installation "**Installation Complete. Press B to return**" will appear
*DBI will automatically and immediately remove old updates when installing a new update for a game, so you don't have to worry about the extra space they occupy.*
If you cannot use DBI's MTP responder this is another convenient method for installing titles over USB. Installing over USB allows you to transfer files directly from your PC for example, which avoids the inconvenience and of having to first move the file to your SD card and then install it.
In order to use this option you will first require dbibackend (`dbibackend.exe` for Windows, or the `dbibackend` script for all operating systems). Launch dbibackend, select the files to install, select Start server, connect a USB-C cable from your PC to your Switch and select **Install title from USB** in DBI.
To quickly send files or folders with games for installation, right-click on them, select `Send from dbibackend` and the installation files will be immediately placed in dbibackend's queue. To configure this in Windows, press `Win + R`, enter `shell: sendto` and create a shortcut for `dbibackend.exe` in the folder.
#### Dependencies that may be required to run on MacOS or Linux
The **"Home server"** option will appear if the **Network install sources** section has been configured in **[dbi.config](#dbiconfig)**. You can specify the name of the option as required in the configuration file.
Edit the file `/nginx/conf/nginx.conf`, registering the address of your Switch in `location`, instead of the `127.0.0.1` specified in the example (or your entire subnet like 192.168.1.1/24 or 192.168.0.0/16); it can be found on Switch in **System Preferences** > **Internet**:
Save the config, run `nginx.exe`, allow the program to access the network, then copy the desired game to the local `/nginx/html/Nintendo/Switch/` folder on your PC, and on the Switch select “Home server”.
You will now be presented with the usual interface for installing files and you can start installing files over the network. You can stop the web server via nginx -s stop.
For the server address in `dbi.config`, you can also use a domain name, for example, your remote VPS - suggested to use with HTTP Basic authentication e.g.: `http://user:password@host:port/Nintendo/Switch/`
In **Browse installed applications** you can see a list of installed programs, updates and DLC with their occupied space, version (display version and hex version), their titleID, the total game time and the number of launches and the presence of installed LayeredFS mods for the game (for Atmosphére).
On the left hand side in square brackets, information on the game installation location, installed file type and the presence of LayeredFS mods or cheats is denoted:
* **Move title to MicroSD/NAND** - move the selected titles to SD card or NAND, depending on where the title is currently located. If content is installed to both locations then both options will be displayed
Here you will be presented with the Game icon, **TitleID**, display title (**name**), developer/publisher (**Author**), display version (**Version**), supported languages (**Language**) and presence of a LayeredFS mod or cheat (**LFS mod**).
Here you can also see the amount of time you've spent playing the title (**Total play time**), how many times the game was launched (**Total launches**), total installation size (**Total occupied space**) as well as how much space it occupies on NAND (**Space in NAND**) and/or on SD card (**Space on MicroSD**), the size of the saves (**Total saves size**) and what language is active for the game ( **Forced Language**).
You can quick launch a game directly from here by pressing **(L3)**.
* **Move records to MicroSD/NAND** - move the selected titles to SD card or NAND, depending on where the title is currently located. If content is installed to both locations then both options will be displayed
* **Reset required version** - reset the system version check required to run the title (debug must be enabled in Atmosphere)
* **Force language** - allows you to force the game to start in the selected language. By default the game will run based on the system language, if that language is not present in the game then it will run as per the region of the console. The selected language will be displayed next to the game icon in the **Forced Language** field
* **Check integrity** - checks data integrity of selected titles
**Cleanup orphaned files** automatically cleans up unnecessary game files, files from interrupted/failed game installations, officially downloaded firmware updates and all unused game tickets if found.
View and delete unnecessary game tickets. **Ticket (or encrypted title key)** is a special encrypted unique information about the rights to launch the content of the game, which is installed in the system during the installation of each game (**000** at the end of the titleID) / update (**800** at the end of titleID) / of each DLC.
**Run MTP responder** run the built-in DBI MTP server to connect to your PC or Android device via USB-C OTG (phone/tablet/other devices). *Main menu hotkey for this option*: **(X)** button (same button to exit MTP mode). After successfully connecting the USB cable to the PC and starting the MTP server in DBI, you'll see the following on your computer:
1: **External SD Card** - for viewing, copying and deleting files and folders from/to a PC and from/to your SD card. Drop a file larger than 4GB onto the SD card and DBI will automatically split the file into an archived folder which allows the Switch to see it as a single file, with this you can for example very easily add a >4GB .XCI for use in SX OS or add a >4GB movie for watching in NXMP or pPlay.
4: **Installed games** - all installed games are displayed from both NAND (internal memory of the Switch) and SD card. To dump installed games to your PC in NSP format, just copy the folder with the name of the game from Installed games to your PC. A common ticket with completely cleared personal information is generated based on your personalized ticket. Your dump will be in separate files - the game itself, the update and any DLC files. If cheats or mods have been installed for the game, they will be located in the `Mods & Cheats` folder. You can also dump a single combined multicontent file containing the game itself, the update and all DLC, these files are located at the root of the **Installed games** directory.
5: **MicroSD install** - Drop or copy your **NSP**/**NSZ**/**XCI** or **XCZ** files in this folder. When the transfer is complete the game will be installed on the **SD card** of your console. When installing NSZ or XCZ files, keep in mind that their actual size may differ greatly from their original size after installation: so if for example you start with 2GB free on your SD card and you do not have enough space to install an NSZ of 1GB in size, that is because NSZ and XCZ files are compressed and must be decompressed for installation.
6: **NAND install** - Drop or copy your **NSP**/**NSZ**/**XCI** or **XCZ** files in this folder. When the transfer is complete the game will be installed on the **internal memory** of your console.
7: **Saves** - Access to all save types stored in the internal memory of the Switch: accounts **(Account)**, system programs **(System)**, Background Content Asymmetric synchronized delivery and Transmission (**BCAT**, for example: events in ACNH), temporary **(Temporary)**, cache (**Cache**, for example: addons in DOOM), system BCAT **(SystemBCAT)** and Device Saves **(Device)**
Backup, restore and manage save data for both installed and uninstalled games. You can make a backup of them by copying them to a PC and also delete saves that you no longer want or need - to do this open the folder with the name of the game you need, then delete the required save folder.
9: **Gamecard** - with a gamecard inserted into the Switch you can dump to .XCI or trimmed .XCI on the PC, along with the update built into it if present. The personal RSA certificate automatically removed and is dumped separately.
Exit - closes DBI and returns to either to hbmenu or bypasses hbmenu to go directly to your homescreen (this is configured in dbi.config). If DBI was launched from a title/forwarder, the program will restart or remain on a black screen
* **"SIGNATURE: Invalid" / "SIGNATURE: GC-> eShop" / "HASH NOT MATCHED TO META"** are NOT ERRORS but notifications about a signature mismatch in headers, for example: conversions, custom NSPs, forwarders
* **"HASH MISMATCH"** - usually this is NOT an ERROR and the game was simply converted from an .XCI and everything is in order. If there are problems with a file redownload it and verify it with verification tools such as NSCB before installing. If the game still does not start or starts with an error try reinstalling it, or check or replace the USB cable/SD card, or use a different USB port
* **"DELTA SKIPPED"** - this is NOT an ERROR but a notification that unnecessary and unused delta fragments in the update file were skipped during installation
* **"No tickets found. Possibly this NSP was converted from XCI."** - this is NOT an ERROR and the performance of the game will not be affected. This informs you that the files do not include tickets, they may have been dumped from an .XCI file or converted to Standard Crypto
* **"WARNING title marked as Application but has AddonContent"** - this is NOT an ERROR and usually it indicates a non-standard .NSP homebrew game, for example if an AddonContent flag (DLC) was added to the Application title (main game, v0). If the application starts and works then everything is in order
* **"This application base is not stand alone. Make sure you installed update"** when installing Sparse Storage games is NOT an ERROR but a reminder that an update is required to launch these types of games. Install the latest update immediately after installing the base game
* **“Read: USB communication failed”** - check/replace USB cable or try a different USB port on PC
* **"Cannot parse content meta. Corrupted file or old firmware"** - Either the file is corrupt or your firmware is too outdated to parse the meta file. Verify the file and update to the latest cfw and latest supported firmware version
* **"Can not find file for ncaid"** - The installation file of the game is corrupt (it does not contain the required .nca from the .cnmt list)
* **"Invalid PFS0 magic!"** - the file is corrupt, redownload the installation file and check its integrity
* **"Invalid NCA magic!"** - verify the file and update to the latest cfw and latest supported firmware version
* **"Received less data than expected"** or **"Installation aborted"** - data transfer error, check and if necessary replace the USB cable or use a different USB port between the Switch and the PC. Also make sure you have the most recent version of DBI installed
* **"std::bad_alloc"** - rename the file without special characters and Cyrillic in the filename and path to the file, plus make sure that you are using the latest version of DBI and update to the latest cfw and latest supported firmware version
* **"Nothing to install"** in the file selection window - rename the file without special characters, hieroglyphs or Cyrillic in the filename and path to the file
* **"INVALID LENGTH"** - check the USB-C cable connection to your USB port, try with another USB-C cable, verify the integrity of the game file and check the SD card for errors, when installing via MTP - try to run DBI in application mode (title override) holding the R button while launching a title
* **"INVALID DECOMPRESSED LENGTH"** together with **"TRANSFER ERROR"** when installing from SD card/external drives/dbibackend - free up more space on the SD card and delete unnecessary files from the card (you may experience this with more than 20,000 files on the SD card)
* **"[FAILED] Unknown error"** when installing .tik (ticket) - add the latest sigpatches for Atmosphére
* **"605: Content or placeholder path not exists"** or **"SOME CONTENTS ARE MISSING"** - broken file system on your SD card, or a non-working/low-quality flash drive. Check it in chkdsk and h2testw, if there are no errors reformat to FAT32
* **"Can not create placeholder"** - there is not enough space on the SD card/NAND, free up space and try again
* **"WARNING! Extra buffers exceeded"** - when installing via MTP - try to run DBI in application mode (title override) holding the R button while launching a title or alternatively via NSP forwarder and use a faster microSD card with a different USB cable/port
* **"No tickets found but they are required"** - incorrect (incomplete, no ticket but with titlerights) dump of the game, use another one
* **"SOME CONTENTS ARE MISSING. APPLICATION WILL BE UNUSABLE"** - container is incomplete, check the integrity of the game installation file
* **"Invalid personalized ticket"** - a dump of the game where instead of a common-ticket a personalized ticket from the console on which the game was purchased was included, obtain a proper dump
* **"No ES or other sigpatches"** - missing, outdated or bad sigpatches, obtain and install the latest versions to the correct locations
The `dbi.config` file was added starting with version 253. It is located next to DBI.nro and replaces the old flags files `dbi.default.ascii` and `dbi.network.config` and also adds several new options for easy customization of settings for the user.
* **DefaultASCII** - **true** uses the standard font, **false** activates an alternative font
* **UseLibUsbHsFS** - **true** enables [libusbhsfs](https://github.com/DarkMatterCore/libusbhsfs) library to activate support for any connected external USB drives, **false** disables it
* **ExitToHomeScreen** - when **false** DBI will exit to hbmenu, when **true** DBI will exit directly to the Switch's homescreen
* **OptimizeClockSpeed** - enable or disable SoC frequency optimization when idle, disabled by default. **DO NOT** exit DBI improperly if enabled (e.g. by pressing the home button from applet mode) as default clock speeds will not be properly restored and your Switch will be laggy due to being in a low performance mode
* **VersionsURL** - accept a direct link to a file on a remote server, or to a file on a memory card. Examples: `https://raw.githubusercontent.com/blawar/titledb/master/versions.txt` или `sdmc:/versions.txt`
**Visibility of main menu options** - customize which options will appear in DBI's main menu: **true** - display in main menu, **false** - hide from main menu.
* **CalculateLFSSize** - enables or disables the size check for LayeredFS mods, if enabled depending on the size of the mod a delay may occur when opening a game's information screen in **Installed applications**
* **ShowMACInInstalledGames** - **false** turns off the display of the **"Mods & cheats"** directory under `Installed games` in MTP mode, which redirects to the path `sdmc:/atmosphere/contents/TITLEID/`
* **CustomStorages** - display custom virtual MTP drives defined by the user under [MTP custom storages]
For example, if you specify `10023901191C000 = Naheulbeuk`, then the application will display just` Naheulbeuk` instead of `The Dungeon of Naheulbeuk: The Amulet of Chaos`
* **Be careful**, you need to ensure that you copy the contents of the titleID folder and not the titleID folder itself! For example, you downloaded a translation for the game Cadence of Hyrule, in the form of the archive `Cadence of Hyrule.rar`. Inside this archive you see a folder with the titleID of the game - `01000B900D8B0000`. You need to extract the archive, go to the folder `01000B900D8B0000` and copy the entire **contents** of the folder to **Mods & Cheats**! Not the folder `01000B900D8B0000` itself, but everything inside it! In this example (and in most cases), that would be the `romfs` folder
DBI supports USB 3.0. If you are using kefir, then USB 3.0 is active by default. Otherwise, you need to activate this function by uncommenting and editing the Atmosphere system settings configuration file at `sdmc:/atmosphere/config/system_settings.ini` as follows:
**Important** - activating USB 3.0 can interfere with bluetooth and 2.4GHz wifi connections. If you experience any connection issues with your wireless controllers or 2.4GHz wifi networks then you should not activate USB 3.0. 5GHz wifi connections should be generally unaffacted.
Thanks to [SciresM](https://github.com/SciresM) for [hactool](https://github.com/SciresM/hactool) (licensed under [ISC](https://en.wikipedia.org/wiki/ISC_license)) - DBI uses some data struct definitions from there