Difference between revisions of "Nintendo Switch"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Removed duplicate information and added a link to the new docs. Added a “Developer information” section and moved the “Building from source” information here.)
 
(47 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== About ==
{{PortFeatures|
{{PortFeatures|
name=Nintendo Switch|
name=Nintendo Switch|
version={{StableVersion}}|
version={{StableVersion}}|
backend=switch|
backend=switch + sdl|
status=Maintained|
status=Maintained|
mp3=yes|
mp3=yes|
Line 17: Line 18:
pkgend=-switch.zip|
pkgend=-switch.zip|
icon=switch|
icon=switch|
forum=|
forum=24|
notes=|


agi=yes|
agi=yes|
Line 43: Line 45:
}}
}}


ScummVM has been ported to the [[Nintendo]] Switch by Cpasjuste.
ScummVM has been ported to the [[Nintendo]] Switch.


= Installation =
For more information, including how to install and use ScummVM, see the [https://docs.scummvm.org/en/latest/other_platforms/nintendo_switch.html Nintendo Switch page] in the [https://docs.scummvm.org/ user documentation].
== Prerequisites ==
* A homebrew enabled Nintendo Switch console.
* At least one ScummVM supported game. The list of compatible games can be seen here: https://www.scummvm.org/compatibility/
* The page [[Where to get the games]] references some places where those games can be bought. Demonstration versions for most of the supported games are downloadable on https://scummvm.org/demos/


== Installing ==
== Developer information ==


* The latest nightly version is [https://buildbot.scummvm.org/snapshots/master/switch-master-latest.zip here] (needs to be unzipped).
=== Building from source ===
* Copy the scummvm folder to your SD card into the folder /switch/
* Launch ScummVM using your favorite method to launch homebrew on the Switch
 
== Configuring Games ==
 
The user manual describes how to add games to ScummVM and launch them: [[User Manual]]
 
== Notes ==
 
Saves are written to the /switch/scummvm/saves folder.
 
= Controls =
{{SwitchControls}}
 
= Building From Source =


This port of ScummVM to the Switch is based on SDL2. It uses the open source SDK provided by devkitPro.
This port of ScummVM to the Switch is based on SDL2. It uses the open source SDK provided by devkitPro.
Line 76: Line 59:
* Obtain the ScummVM source code (https://github.com/scummvm/scummvm)
* Obtain the ScummVM source code (https://github.com/scummvm/scummvm)


* Install devkitPro for Switch (https://switchbrew.org/wiki/Setting_up_Development_Environment)
* Install the development tools for Switch following the official instructions (https://devkitpro.org/wiki/Getting_Started)


* Ensure your $DEVKITPRO variable is set via
* Update package database and install libraries (see [https://www.scummvm.org/downloads/#libs here] for an updated list)
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
export DEVKITPRO="/opt/devkitpro"`
sudo dkp-pacman -Sy
sudo dkp-pacman -S \
switch-sdl2 \
switch-libmad \
switch-libogg \
switch-libvorbis \
switch-flac \
switch-libtheora \
switch-libpng \
switch-libjpeg-turbo \
switch-zlib \
switch-freetype \
switch-sdl2_net \
switch-curl \
switch-libtimidity \
switch-pkg-config
</syntaxhighlight>
</syntaxhighlight>


* Ensure your $DEVKITA64 variable is set via
* Optional: To enable fluidsynth support, download and install the unofficial fluidsynth-lite switch port via
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
export DEVKITA64="/opt/devkitpro/devkitA64"
git clone https://github.com/rsn8887/fluidsynth-lite
cd fluidsynth-lite
make -f Makefile.nx
sudo -E make -f Makefile.nx install
</syntaxhighlight>
</syntaxhighlight>
* Ensure devkitPro binaries are in your path via
<syntaxhighlight lang="bash">
export PATH="$DEVKITA64/bin:$DEVKITPRO/tools/bin:$PATH"
</syntaxhighlight>
* Install libraries via
<syntaxhighlight lang="bash">
sudo -E dkp-pacman -S switch-portlibs
</syntaxhighlight>
(or just `pacman -S switch-portlibs` if your system already includes pacman)


* Create a subdirectory somewhere outside the source folder for your ScummVM build and cd into it
* Create a subdirectory somewhere outside the source folder for your ScummVM build and cd into it


* Execute the command
* Execute the command (once a curl-config script exists for devkitA64, the --disable-libcurl could be omitted)
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
../scummvm/configure --host=switch --disable-libcurl
../scummvm/configure --host=switch
</syntaxhighlight>
</syntaxhighlight>


Line 111: Line 101:
</syntaxhighlight>
</syntaxhighlight>


= Disclaimer =  
== Thanks ==  
 
Unauthorized distribution of an installable package with non freeware games included is a violation of the copyright law and is as such forbidden.
 
= Thanks =  


* Developers of devkitPro for making Switch homebrew possible
* [https://devkitpro.org devkitPro] and [https://switchbrew.org/ Switchbrew] teams

Latest revision as of 21:27, 14 January 2021

About

switch.png Nintendo Switch Port
Latest Released Version 2.2.0
Supported Audio Options MP3, OGG, FLAC, Uncompressed
Additional Webpage(s) None
Maintainer(s) cpasjuste, rsn8887
Packager(s) cpasjuste, rsn8887
Forum Port Forum
Status Maintained
First Official Version 2.1.0

ScummVM has been ported to the Nintendo Switch.

For more information, including how to install and use ScummVM, see the Nintendo Switch page in the user documentation.

Developer information

Building from source

This port of ScummVM to the Switch is based on SDL2. It uses the open source SDK provided by devkitPro.

To build ScummVM for Switch:

  • Update package database and install libraries (see here for an updated list)
sudo dkp-pacman -Sy
sudo dkp-pacman -S \
switch-sdl2 \
switch-libmad \
switch-libogg \
switch-libvorbis \
switch-flac \
switch-libtheora \
switch-libpng \
switch-libjpeg-turbo \
switch-zlib \
switch-freetype \
switch-sdl2_net \
switch-curl \
switch-libtimidity \
switch-pkg-config
  • Optional: To enable fluidsynth support, download and install the unofficial fluidsynth-lite switch port via
git clone https://github.com/rsn8887/fluidsynth-lite
cd fluidsynth-lite
make -f Makefile.nx
sudo -E make -f Makefile.nx install
  • Create a subdirectory somewhere outside the source folder for your ScummVM build and cd into it
  • Execute the command (once a curl-config script exists for devkitA64, the --disable-libcurl could be omitted)
../scummvm/configure --host=switch
  • Execute the command
make scummvm_switch.zip

Thanks