The ultimate solution for NSP, NSZ, XCI and XCZ installation along with many more advanced features to enhance your Nintendo Switch experience! DBI supports installation from SD card, via USB MTP, USB cable (using the dbibackend script or dbi-nsw tool), network (using your own http server) and external USB drives.
Copy `dbi.nro` and `dbi.config` to your SD card at `/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. 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.
* **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 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.
* **Exit** - exit from the program. *Main menu hotkey for this option*: **+** button
The bottom left corner of DBI displays the total amount of data on your 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.
* **(Y)** - invert selection, select everything if nothing is selected. **On the main screen** - installation via USB using dbibackend (menu item "**Install title from USB**")
* **(ZL)**, **(ZR)** - fast movement through the menu
* **(L)** - **on the main screen** - (menu item "**Browse installed applications**")
* **(R)** - change the order of displaying files / titles
* **(+)** on the right joycon - a context menu that allows you to perform context operations, such as deleting, resetting the required firmware version, mounting via MTP, etc.
* **(-)** on the left joycon, when installing applications, turns off / turns on the screen
Press **(A)** to open the folder and **(B)** to go back. 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 install size** - the amount of free space required to install the selected files.
* **Install target** - data 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.
*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, `dbibackend` from `dbibackend.tar.xz` for all). 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.
From here you will select and install your files on the Switch in the same fashion as using Browse SD Card / Browse USB0 Drive
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.
The **"Home server"** option will appear if the **Network install sources** section has been configured in `dbi.config` (more about this file below). 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.
FFor 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, 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 NAND or to a memory card, depending on where the title is currently located. If content is installed to both locations then both options will be displayed
* **Reset required version** - resets the system version check required to run the title (debug must be enabled in Atmosphere)
* **Check integrity** - checks the data integrity of the selected titles
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 takes in NAND (**Space in NAND**) and on SD (**Space on MicroSD**), the size of the saves (**Total saves size**) and what language is active for the game ( **Forced Language**)
* **Move records to MicroSD / NAND** - move the selected titles to NAND or to a memory card, depending on where the title is currently located. If content is installed to both locations then both options will be displayed
* **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 depending on the region of the console. The selected language will be displayed next to the game icon in the **Forced Language** field
* **Check integrity** - checks the data integrity of the selected titles
**Cleanup orphaned files** automatically cleans unnecessary game files, files from interrupted game installations, downloaded (officially) OFW 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.
* **[c]** — common-ticket (installed game dump or update)
* **[p]** — personalized ticket (purchased from the game eShop)
Sometimes, if a specific error occurs, and you know exactly and are sure what you are doing, it can be removed from a specific game and its update / DLC.
In all other cases, it is better not to touch anything here, in order to avoid errors in starting games.
**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 pPlay.
2: **NAND User** - viewing, copying files and folders on a PC from the Switch's internal memory to its USER system partition (this partition is read-only).
3: **NAND System**, viewing, copying files and folders on a PC from the internal memory of the Switch to its SYSTEM system partition (the partition is read-only).
4: **Installed games** all installed games are displayed from both in 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 separated files - the game itself, the update and DLC. 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. This file is located right at the root of the **Installed games** section.
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 memory 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. 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 memory 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.
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.
In order to restore saves, copy them to the appropriate folder from your PC. DBI does not require pre-launching the game to restore a save, however this only applies to regular saves. BCAT or Cache saves require a pre-launch of the game before restoring.
8: **Album** - access to screenshots and videos (Album), similar to Nintendo's feature added OFW 11.0.0.
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 it exists. The personal RSA certificate automatically removed and is dumped separately.
After activating the MTP server on the Switch a window will appear with your account nickname and its UID, as well as the number of game saves:
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
* **«HASH MISMATCH»** - usually this is NOT an ERROR and the game was simply converted from an .XCI and everything is in order. Sometimes if there are problems with the integrity of the file, download it, rehash it, transferring data via a USB cable / port / during the installation process between the PC and the Switch.
* **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).
* **«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!»** - download the installation file of the game and check its integrity, this file is corrupt.
* **«Received less data than expected»** or **Installation aborted** - data transfer error, recheck and if necessary replace the USB cable / USB port between the Switch and the PC. Also make sure you have the most recent version of the DBI installed.
* **«std::bad_alloc»** - rename the file without special characters and Cyrillic in the name and path to it, plus make sure that you are using the latest version of DBI and that the latest supported version of OFW and CFW is installed on the console.
* **«Nothing to install»** in the file selection window - rename the file without special characters, hieroglyphs or Cyrillic in the name and path to it.
* **«INVALID LENGTH»** - check the USB-C cable connection to your USB port, try with another USB-C cable, check the integrity of the game file and 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.
* **«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.
* **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.
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** includes a standard font, **false** includes an alternative font
* **UseLibUsbHsFS** - **true** enables [libusbhsfs](https://github.com/DarkMatterCore/libusbhsfs) library for working with external USB drives via USB-OTG on Switch, **false** disables it.
* **Visibility of main menu items** - customize which options will appear in DBI's main menu, you can prevent an option from appearing in the main menu by editing the item to **false**
* **CalculateLFSSize** - enabled of 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**
* **LogAllFiles** - **false** disables logging of all files when working with MTP; if **true**, all files are logged, even those that are less than 4MB.
* **ShowMACInInstalledGames** - **false** turns off the display of the virtual directory **"Mods & cheats"** in the Installed games item in the MTP, redirecting along the path `/atmosphere/contents/%titleid_game%` to the memory card.
* **EnableNANDInstallOnEmunand** - allows or denies the installation of games in NAND file EmuNAND (not relevant after the release of Atmosphere 0.19.3)
Custom items for MTP mode for quick access to folders on your memory card. Format: `<folder display name> = <path>`, for example: `Homebrew = sdmc: / switch`.
In MTP mode, a `Homebrew` folder will appear, referring to the` switch` folder on your memory card
**Title name override** - allows you to change the name of the displayed title. 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 make sure to not put the folder with the titleID of the game, but its contents! For example, you have downloaded the 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 unpack 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), 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 through the Atmosphere configuration files by writing in `atmosphere \ config \ system_settings.ini`:
**Important** - activiating 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