ReSwitched Wiki

Documenting the Nintendo Switch hardware, software, and development.

User Tools

Site Tools


software:oss

Open Source Software used on the Nintendo Switch

The Nintendo Switch uses a myriad of open source software for its operating system and applications. Sources for many of the OSS components can be found here, separated by System Version. Also mirrored on Github here.

OSS listed under System Setting's Intellectual Property Notices

This list and the relevant licenses can be found in the System Settings, under System>Intellectual Property Notices. This list is up to date as of System Version 2.0.0. Non-specific listings such as “Khronos” and “Android related” were excluded, given there is currently no way to know exactly what software is being used.

NameDescriptionUse on the Switch
libnfc-nciLinux's near-field-communication stack.Likely used for communicating with Amiibos.
curl and libcurlTool and library for client-side URL transfers, supports just about every protocol imaginable.
FreeBSD KernelThe kernel from the FreeBSD operating system.Code from this is likely used for its network stack.
The Switch does not run FreeBSD as its operating system kernel.
libopusModern audio-compression codec primarily focused on internet-enabled streaming.
libstropheC library for creating XMPP clients.
libxml2XML parser and toolkit written in C.
Network Security Services (NSS)Set of libraries developed by Mozilla for secure client-server communications, supports SSL and TLS.
Netscape Portable Runtime (NSPR)Platform agnostic API for OS facilities, used by NSS.
MUSL libcC standard library intended for Linux kernel-based operating systems.
WPA SupplicantPlatform agnostic supplicant used to support secured networks.Likely used by to communicate with WiFi networks secured by WEP, WPA, or WPA2.
Unicode Common Locale Data Repository (CLDR)XML-based repository for data and documentation for supporting multiple locales.Likely used to support multiple languages/locales.
Zepto.jsJavaScript library for modern web browsers.Likely used by various applications to support JavaScript.
GiflibLibrary for processing GIF-format images.Likely used by various applications to support GIF images.
LZ4 LibraryLossless compression algorithm that supports multi-threading.
VP8 and VP9Open-source video compression formats developed by Google.
libvorbisReference implementation of the Ogg Vorbis format for audio.
libwebmParser for WebM files, an open source video format sponsored by Google.
RapidJSONJSON parser and generator for C++.
WebKitOpen source rendering engine for web browsers.
OpenSSLTLS/SSL crypto library
International Components for Unicode (ICU)C, C++, and Java libraries used to support Unicode.Likely used along with CLDR to fully support Unicode.
cairo2D graphics library with support for multiple output devices.
pixmanLow-level library for pixel manipulation.
libzipC library for reading, creating, and modifying ZIP archives.
libjpegC library for reading and writing JPEG images.
libjpeg-turboJPEG image codec using SIMD instructions to speed up JPEG (de)compression.
libwebpWebP image codec, a format developed by Google to provide superior quality to JPEG with the same or smaller file size.
nghttp2C library for supporting HTTP/2.
Kiss FFTLibrary for doing Fast Fourier Transforms.
STM32L0xx HAL DriverHardware Abstraction Layer driver for STM32L0xx-based micro-controller units (MCUs).
STM32 USB Device Library
software/oss.txt · Last modified: 2017/04/01 19:46 by junko