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.
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.
Name | Description | Use on the Switch |
---|---|---|
libnfc-nci | Linux's near-field-communication stack. | Likely used for communicating with Amiibos. |
curl and libcurl | Tool and library for client-side URL transfers, supports just about every protocol imaginable. | |
FreeBSD Kernel | The 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. |
libopus | Modern audio-compression codec primarily focused on internet-enabled streaming. | |
libstrophe | C library for creating XMPP clients. | |
libxml2 | XML 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 libc | C standard library intended for Linux kernel-based operating systems. | |
WPA Supplicant | Platform 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.js | JavaScript library for modern web browsers. | Likely used by various applications to support JavaScript. |
Giflib | Library for processing GIF-format images. | Likely used by various applications to support GIF images. |
LZ4 Library | Lossless compression algorithm that supports multi-threading. | |
VP8 and VP9 | Open-source video compression formats developed by Google. | |
libvorbis | Reference implementation of the Ogg Vorbis format for audio. | |
libwebm | Parser for WebM files, an open source video format sponsored by Google. | |
RapidJSON | JSON parser and generator for C++. | |
WebKit | Open source rendering engine for web browsers. | |
OpenSSL | TLS/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. |
cairo | 2D graphics library with support for multiple output devices. | |
pixman | Low-level library for pixel manipulation. | |
libzip | C library for reading, creating, and modifying ZIP archives. | |
libjpeg | C library for reading and writing JPEG images. | |
libjpeg-turbo | JPEG image codec using SIMD instructions to speed up JPEG (de)compression. | |
libwebp | WebP image codec, a format developed by Google to provide superior quality to JPEG with the same or smaller file size. | |
nghttp2 | C library for supporting HTTP/2. | |
Kiss FFT | Library for doing Fast Fourier Transforms. | |
STM32L0xx HAL Driver | Hardware Abstraction Layer driver for STM32L0xx-based micro-controller units (MCUs). | |
STM32 USB Device Library |