Prerequisites
Prerequisites
Operating system
This CLI has been developed in Ubuntu Linux 20.04.6 LTS (Focal Fossa), so that is the recommended operating system and version to use. The CLI should work in other Linux systems with minor to none changes to the installation process.
Root permissions
You will need root permissions either to do installations or using the bundled Docker components. Usually these
permissions are acquired using the sudo command.
Python
To run the CLI you will need Python installed in your system.
In Debian-like systems you can install it with:
The recommended version to use for Python is 3.11.
make
You can optionally install make to automate some of the common operation for the development of the project, such as
the creation of the virtual environment.
In Debian-like systems you can install it with:
Manual-installed components or docker
You will also need the components of the CLI installed. In this case you can either install them into your system
manually and
select host as your backend when using the CLI to use those installations, or you can use the Docker containers that
come bundled with
the CLI by selecting docker as your backend when using the CLI.
You can also mix and match docker-installed components with host-installed components, so there is no need to
install all components of the same type. Exceptionally, flathub is another possible backend to use, but only for the
run command.
flathub
Follow the oficial installation guide.
In Ubuntu, you can do:
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
docker
Docker components are easier to use because they do not need an installation and are recommended backend to use for all components.
You should install Docker by following the official Docker installation guide.
In Ubuntu, you can install the latest version of Docker using apt with the following:
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Currently, the CLI calls docker directly, so you either need to:
* Run the app as root by calling sudo
* Run the app as root by being a privileged user, for example root.
* Add your user to the Docker group.
It is recommended to add your user to the docker group, so that you do not need to log in as another user or add
sudo in front of your call to BMDE each time.
To add yourself to the Docker group you can use this command:
You need to reboot or log out / log in for these changes to take effect.
Manual installed components
You can also install and use the components of the BMDE manually and use them in the CLI.
devkitARM
This is the most complex component to install manually, but it can be done.
You will need to download libnds
and devkitARMv46,
decompress them in a folder of your machine and create
environment variables that point to your installation.
The variables are the following:
A script for the installation of this component will be bundled in the CLI in future versions.
dlditool
You will need to install dlditool only if you want to mount FAT images to your NDS ROMs.
You can download it from here.
You may need a patch file for your ROMs. We have found that MPCF is the only one that works in desmume. You can download the MPCF patch from here.
Rest of manual installed components
In Debian-like systems you can install the rest of the components in a single command with: