mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2025-06-21 04:41:12 +08:00
On branch main
Changes to be committed: new file: Bounties.md new file: Building-For-Android.md new file: Building-for-Linux.md new file: Building-for-Windows.md new file: Building-for-macOS.md new file: Contributing.md new file: Contributor-License-Agreement-Policy.md new file: Developer-Information.md new file: Dumping-Decryption-Keys-from-a-Switch-Console.md new file: Dumping-Game-Cartridges.md new file: Dumping-Installed-Titles.md new file: FAQ.md new file: Home.md new file: How-to-Install-and-Use-Game-Updates.md new file: Open-Source-Page-for-testers.md new file: Overview-of-Switch-Game-Formats.md new file: Recommended-GPU-Drivers-for-Linux.md new file: Service-Function-Usage.md new file: Switch-Hardware-and-Software.md new file: Switch-Homebrew.md new file: Switch-Mods.md new file: Troubleshooting-Loader-Errors.md new file: Typical-Git-Workflow.md new file: User-Directory.md new file: Using-a-Controller-or-Android-Phone-for-Motion-or-Touch-Input.md new file: [Deprecated]-Building-Mesa-on-Arch-Linux.md new file: _Sidebar.md new file: _header.md new file: yuzu-Web-Service.md
parent
bfd4f9cada
commit
36273d88b5
1
Bounties.md
Normal file
1
Bounties.md
Normal file
@ -0,0 +1 @@
|
||||
Superseded by https://yuzu-emu.org/bounties/
|
25
Building-For-Android.md
Normal file
25
Building-For-Android.md
Normal file
@ -0,0 +1,25 @@
|
||||
## Note: These build instructions are a work-in-progress.
|
||||
### Dependencies
|
||||
* [Android Studio](https://developer.android.com/studio)
|
||||
* [NDK 25.2.9519653 and CMake 3.22.1](https://developer.android.com/studio/projects/install-ndk#default-version)
|
||||
* [Git](https://git-scm.com/download)
|
||||
#### WINDOWS ONLY - Additional Dependencies
|
||||
* **[Visual Studio 2022 Community](https://visualstudio.microsoft.com/downloads/)** - **Make sure to select "Desktop development with C++" support in the installer. Make sure to update to the latest version if already installed.**
|
||||
* **[Vulkan SDK](https://vulkan.lunarg.com/sdk/home#windows)** - **Make sure to select Latest SDK.**
|
||||
### Cloning yuzu with Git
|
||||
```
|
||||
git clone --recursive https://github.com/yuzu-emu/yuzu.git
|
||||
```
|
||||
yuzu by default will be cloned into -
|
||||
* `C:\Users\<user-name>\yuzu` on Windows
|
||||
* `~/yuzu` on Linux
|
||||
* And wherever on macOS
|
||||
### Building
|
||||
1. Start Android Studio, on the startup dialog select `Open`.
|
||||
2. Navigate to the `yuzu/src/android` directory and click on `OK`.
|
||||
3. In `Build > Select Build Variant`, select `release` or `relWithDebInfo` as the "Active build variant".
|
||||
4. Build the project with `Build > Make Project` or run it on an Android device with `Run > Run 'app'`.
|
||||
|
||||
### Additional Resources
|
||||
https://developer.android.com/studio/intro
|
||||
|
144
Building-for-Linux.md
Normal file
144
Building-for-Linux.md
Normal file
@ -0,0 +1,144 @@
|
||||
**This article was written for developers. Users looking to simply run yuzu should try downloading [Mainline](https://yuzu-emu.org/downloads/) first. As it is an AppImage, it only needs to be downloaded and made executable to use it.**
|
||||
|
||||
***
|
||||
|
||||
### Dependencies
|
||||
|
||||
You'll need to download and install the following to build yuzu:
|
||||
|
||||
* [GCC](https://gcc.gnu.org/) v11+ (for C++20 support) & misc
|
||||
* This page is being updated as we transition to GCC 11
|
||||
* If GCC 12 is installed, [Clang](https://clang.llvm.org/) v14+ is required for compiling
|
||||
* [CMake](https://www.cmake.org/) 3.15+
|
||||
|
||||
The following are handled by yuzu's externals:
|
||||
|
||||
* [FFmpeg](https://ffmpeg.org/)
|
||||
* [SDL2](https://www.libsdl.org/download-2.0.php) 2.0.18+
|
||||
* [opus](https://opus-codec.org/downloads/)
|
||||
|
||||
If version 5.15.2 is not already installed, pre-compiled binaries for Qt 5.15.2 will be downloaded from [here](https://github.com/yuzu-emu/ext-linux-bin) automatically by CMake:
|
||||
|
||||
* [Qt](https://qt-project.org/downloads) 5.15+
|
||||
|
||||
All other dependencies will be downloaded by [vcpkg](https://vcpkg.io/) if needed:
|
||||
|
||||
* [Boost](https://www.boost.org/users/download/) 1.79.0+
|
||||
* [Catch2](https://github.com/catchorg/Catch2) 2.13.7 - 2.13.9
|
||||
* [fmt](https://fmt.dev/) 8.0.1+
|
||||
* [lz4](http://www.lz4.org) 1.8+
|
||||
* [nlohmann_json](https://github.com/nlohmann/json) 3.8+
|
||||
* [OpenSSL](https://www.openssl.org/source/)
|
||||
* [ZLIB](https://www.zlib.net/) 1.2+
|
||||
* [zstd](https://facebook.github.io/zstd/) 1.5+
|
||||
|
||||
If an ARM64 build is intended, export `VCPKG_FORCE_SYSTEM_BINARIES=1`.
|
||||
|
||||
Dependencies are listed here as commands that can be copied/pasted. Of course, they should be inspected before being run.
|
||||
|
||||
- Arch / Manjaro:
|
||||
- `sudo pacman -Syu --needed base-devel boost catch2 cmake ffmpeg fmt git glslang libzip lz4 mbedtls ninja nlohmann-json openssl opus qt5 sdl2 zlib zstd zip unzip`
|
||||
- Building with QT Web Engine needs to be specified when running CMake with the param `-DCMAKE_CXX_FLAGS="-I/usr/include/qt/QtWebEngineWidgets"` with qt5-webengine installed.
|
||||
- GCC 11 or later is required.
|
||||
- Ubuntu / Linux Mint / Debian:
|
||||
- `sudo apt-get install autoconf cmake g++-11 gcc-11 git glslang-tools libasound2 libboost-context-dev libglu1-mesa-dev libhidapi-dev libpulse-dev libtool libudev-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 libxcb-xkb1 libxext-dev libxkbcommon-x11-0 mesa-common-dev nasm ninja-build qtbase5-dev qtbase5-private-dev qtwebengine5-dev qtmultimedia5-dev libmbedtls-dev catch2 libfmt-dev liblz4-dev nlohmann-json3-dev libzstd-dev libssl-dev libavfilter-dev libavcodec-dev libswscale-dev`
|
||||
- Ubuntu 22.04, Linux Mint 20, or Debian Bullseye or later is required.
|
||||
- Users need to manually specify building with QT Web Engine enabled. This is done using the parameter `-DYUZU_USE_QT_WEB_ENGINE=ON` when running CMake.
|
||||
- Users need to manually specify building with GCC 11. This can be done by adding the parameters `-DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11` when running CMake. i.e.
|
||||
- Users need to manually disable building SDL2 from externals if they intend to use the version provided by their system by adding the parameters `-DYUZU_USE_EXTERNAL_SDL2=OFF`
|
||||
|
||||
```
|
||||
git submodule update --init --recursive
|
||||
cmake .. -GNinja -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11
|
||||
```
|
||||
|
||||
- Fedora:
|
||||
- `sudo dnf install autoconf ccache cmake fmt-devel gcc{,-c++} glslang hidapi-devel json-devel libtool libusb1-devel libzstd-devel lz4-devel nasm ninja-build openssl-devel pulseaudio-libs-devel qt5-linguist qt5-qtbase{-private,}-devel qt5-qtwebengine-devel qt5-qtmultimedia-devel speexdsp-devel wayland-devel zlib-devel ffmpeg-devel libXext-devel`
|
||||
- Fedora 32 or later is required.
|
||||
- Due to GCC 12, Fedora 36 or later users need to install `clang`, and configure CMake to use it via `-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang`
|
||||
- CMake arguments to force system libraries:
|
||||
- SDL2: `-DYUZU_USE_BUNDLED_SDL2=OFF -DYUZU_USE_EXTERNAL_SDL2=OFF`
|
||||
- FFmpeg: `-DYUZU_USE_EXTERNAL_FFMPEG=OFF`
|
||||
- [RPM Fusion](https://rpmfusion.org/) (free) is required to install `ffmpeg-devel`
|
||||
- Gentoo:
|
||||
- **\*\*Disclaimer\*\***: this dependency list was written by a novice Gentoo user who first set it up with a DE, and then based this list off of the Fedora dependency list. This may be missing some requirements, or includes too many. Caveat emptor.
|
||||
- `emerge --ask app-arch/lz4 dev-libs/boost dev-libs/hidapi dev-libs/libzip dev-libs/openssl dev-qt/linguist dev-qt/qtconcurrent dev-qt/qtcore dev-util/cmake dev-util/glslang dev-vcs/git media-libs/alsa-lib media-libs/opus media-sound/pulseaudio media-video/ffmpeg net-libs/mbedtls sys-libs/zlib x11-libs/libXext`
|
||||
- GCC 11 or later is required.
|
||||
- Users may need to append `pulseaudio`, `bindist` and `context` to the `USE` flag.
|
||||
|
||||
### Cloning yuzu with Git
|
||||
|
||||
**Master:**
|
||||
|
||||
```bash
|
||||
git clone --recursive https://github.com/yuzu-emu/yuzu
|
||||
cd yuzu
|
||||
```
|
||||
|
||||
**Mainline:**
|
||||
|
||||
```bash
|
||||
git clone --recursive https://github.com/yuzu-emu/yuzu-mainline
|
||||
cd yuzu-mainline
|
||||
```
|
||||
|
||||
The `--recursive` option automatically clones the required Git submodules.
|
||||
|
||||
### Building yuzu in Release Mode (Optimized)
|
||||
|
||||
If you need to run ctests, you can disable `-DYUZU_TESTS=OFF` and install Catch2.
|
||||
|
||||
```bash
|
||||
mkdir build && cd build
|
||||
cmake .. -GNinja -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF
|
||||
ninja
|
||||
sudo ninja install
|
||||
```
|
||||
|
||||
Optionally, you can use `cmake-gui ..` to adjust various options (e.g. disable the Qt GUI).
|
||||
|
||||
### Building yuzu in Debug Mode (Slow)
|
||||
|
||||
```bash
|
||||
mkdir build && cd build
|
||||
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF
|
||||
ninja
|
||||
```
|
||||
|
||||
### Building with debug symbols
|
||||
|
||||
```bash
|
||||
mkdir build && cd build
|
||||
cmake .. -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF
|
||||
ninja
|
||||
```
|
||||
|
||||
### Running without installing
|
||||
|
||||
After building, the binaries `yuzu` and `yuzu-cmd` (depending on your build options) will end up in `build/bin/`.
|
||||
|
||||
```bash
|
||||
# SDL
|
||||
cd build/bin/
|
||||
./yuzu-cmd
|
||||
|
||||
# Qt
|
||||
cd build/bin/
|
||||
./yuzu
|
||||
```
|
||||
|
||||
### Debugging
|
||||
|
||||
1. Enable CPU debugging
|
||||

|
||||
2. Disable both Host MMU emulation options
|
||||

|
||||
3. Run gdb
|
||||
|
||||
```bash
|
||||
cd data
|
||||
gdb ../build/bin/yuzu # Start GDB
|
||||
(gdb) run # Run yuzu under GDB
|
||||
<crash>
|
||||
(gdb) bt # Print a backtrace of the entire callstack to see which codepath the crash occurred on
|
||||
```
|
187
Building-for-Windows.md
Normal file
187
Building-for-Windows.md
Normal file
@ -0,0 +1,187 @@
|
||||
# THIS GUIDE IS INTENDED FOR DEVELOPERS ONLY, SUPPORT WILL ONLY BE GIVEN IF YOU'RE A DEVELOPER.
|
||||
|
||||
## Method I: MSVC Build for Windows
|
||||
|
||||
### Minimal Dependencies
|
||||
|
||||
On Windows, all library dependencies are automatically included within the `externals` folder, or can be downloaded on-demand. To build yuzu, you need to install:
|
||||
|
||||
* **[Visual Studio 2022 Community](https://visualstudio.microsoft.com/downloads/)** - **Make sure to select C++ support in the installer. Make sure to update to the latest version if already installed.**
|
||||
* **[CMake](https://cmake.org/download/)** - Used to generate Visual Studio project files. Does not matter if either 32-bit or 64-bit version is installed.
|
||||
* **[Vulkan SDK](https://vulkan.lunarg.com/sdk/home#windows)** - **Make sure to select Latest SDK.**
|
||||
|
||||

|
||||
|
||||
* **Git** - We recommend [Git for Windows](https://gitforwindows.org).
|
||||
|
||||

|
||||
|
||||
* While installing Git Bash, you should tell it to include Git in your system path. (Choose the "Git from the command line and also from 3rd-party software" option.) If you missed that, don't worry, you'll just have to manually tell CMake where your git.exe is, since it's used to include version info into the built executable.
|
||||
|
||||

|
||||
|
||||
### Cloning yuzu with Git
|
||||
|
||||
**Master:**
|
||||
```cmd
|
||||
git clone --recursive https://github.com/yuzu-emu/yuzu.git
|
||||
cd yuzu
|
||||
```
|
||||
|
||||
**Mainline (no assert):**
|
||||
```cmd
|
||||
git clone --recursive https://github.com/yuzu-emu/yuzu-mainline.git
|
||||
cd yuzu-mainline
|
||||
```
|
||||
|
||||

|
||||
|
||||
* *(Note: yuzu by default downloads to `C:\Users\<user-name>\yuzu` (Master) or `C:\Users\<user-name>\yuzu-mainline` (Mainline)*
|
||||
|
||||
### Building
|
||||
|
||||
* Open the CMake GUI application and point it to the `yuzu` (Master) or `yuzu-mainline` (Mainline) directory.
|
||||
|
||||

|
||||
|
||||
* For the build directory, use a `/build` subdirectory inside the source directory or some other directory of your choice. (Tell CMake to create it.)
|
||||
|
||||

|
||||
|
||||
* Click the "Configure" button and choose `Visual Studio 17 2022`, with `x64` for the optional platform.
|
||||
|
||||

|
||||
|
||||
* *(Note: If you used GitHub's own app to clone, run `git submodule update --init --recursive` to get the remaining dependencies)*
|
||||
|
||||
* If you get an error about missing packages, enable `YUZU_USE_BUNDLED_VCPKG`, and then click Configure again.
|
||||
|
||||
* *(You may also want to disable `YUZU_TESTS` in this case since Catch2 is not yet supported with this.)*
|
||||
|
||||

|
||||
|
||||
* Click "Generate" to create the project files.
|
||||
|
||||

|
||||
|
||||
* Open the solution file `yuzu.sln` in Visual Studio 2022, which is located in the build folder.
|
||||
|
||||

|
||||
|
||||
* Depending if you want a graphical user interface or not (`yuzu` has the graphical user interface, while `yuzu-cmd` doesn't), select `yuzu` or `yuzu-cmd` in the Solution Explorer, right-click and `Set as StartUp Project`.
|
||||
|
||||
 
|
||||
|
||||
* Select the appropriate build type, Debug for debug purposes or Release for performance (in case of doubt choose Release).
|
||||
|
||||

|
||||
|
||||
* Right-click the project you want to build and press Build in the submenu or press F5.
|
||||
|
||||

|
||||
|
||||
Feel free to ask us in the IRC channel #yuzu-emu @ [libera](https://web.libera.chat) or on [Discord](https://discord.com/invite/u77vRWY) if you have issues.
|
||||
|
||||
## Method II: MinGW-w64 Build with MSYS2
|
||||
|
||||
### Prerequisites to install
|
||||
|
||||
* [MSYS2](https://www.msys2.org)
|
||||
* [Vulkan SDK](https://vulkan.lunarg.com/sdk/home#windows) - **Make sure to select Latest SDK.**
|
||||
* Make sure to follow the instructions and update to the latest version by running `pacman -Syu` as many times as needed.
|
||||
|
||||
### Install yuzu dependencies for MinGW-w64
|
||||
|
||||
* Open the `MSYS2 MinGW 64-bit` (mingw64.exe) shell
|
||||
* Download and install all dependencies using: `pacman -Syu git make mingw-w64-x86_64-SDL2 mingw-w64-x86_64-cmake mingw-w64-x86_64-python-pip mingw-w64-x86_64-qt5 mingw-w64-x86_64-toolchain autoconf libtool automake-wrapper`
|
||||
* Add MinGW binaries to the PATH: `echo 'PATH=/mingw64/bin:$PATH' >> ~/.bashrc`
|
||||
* Add glslangValidator to the PATH: `echo 'PATH=$(readlink -e /c/VulkanSDK/*/Bin/):$PATH' >> ~/.bashrc`
|
||||
|
||||
### Clone the yuzu repository with Git
|
||||
|
||||
```bash
|
||||
git clone --recursive https://github.com/yuzu-emu/yuzu.git
|
||||
cd yuzu
|
||||
```
|
||||
|
||||
### Run the following commands to build yuzu (dynamically linked build)
|
||||
|
||||
```bash
|
||||
mkdir build && cd build
|
||||
cmake -G "MSYS Makefiles" -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF ..
|
||||
make -j$(nproc)
|
||||
# test yuzu out with
|
||||
./bin/yuzu.exe
|
||||
```
|
||||
|
||||
* *(Note: This build is not a static build meaning that you need to include all of the DLLs with the .exe in order to use it!)*
|
||||
|
||||
e.g.
|
||||
```Bash
|
||||
cp externals/ffmpeg-*/bin/*.dll bin/
|
||||
```
|
||||
|
||||
Bonus Note: Running programs from inside `MSYS2 MinGW x64` shell has a different %PATH% than directly from explorer. This different %PATH% has the locations of the other DLLs required.
|
||||

|
||||
|
||||
|
||||
### Building without Qt (Optional)
|
||||
|
||||
Doesn't require the rather large Qt dependency, but you will lack a GUI frontend:
|
||||
|
||||
* Pass the `-DENABLE_QT=no` flag to cmake
|
||||
|
||||
## Method III: CLion Environment Setup
|
||||
|
||||
### Minimal Dependencies
|
||||
|
||||
To build yuzu, you need to install the following:
|
||||
|
||||
* [CLion](https://www.jetbrains.com/clion/) - This IDE is not free; for a free alternative, check Method I
|
||||
* [Vulkan SDK](https://vulkan.lunarg.com/sdk/home#windows) - Make sure to select the Latest SDK.
|
||||
|
||||
### Cloning yuzu with CLion
|
||||
|
||||
* Clone the Repository:
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
|
||||
|
||||
### Building & Setup
|
||||
|
||||
* Once Cloned, You will be taken to a prompt like the image below:
|
||||
|
||||

|
||||
|
||||
* Set the settings to the image below:
|
||||
* Change `Build type: Release`
|
||||
* Change `Name: Release`
|
||||
* Change `Toolchain Visual Studio`
|
||||
* Change `Generator: Let CMake decide`
|
||||
* Change `Build directory: build`
|
||||
|
||||

|
||||
|
||||
* Click OK; now Clion will build a directory and index your code to allow for IntelliSense. Please be patient.
|
||||
* Once this process has been completed (No loading bar bottom right), you can now build yuzu
|
||||
* In the top right, click on the drop-down menu, select all configurations, then select yuzu
|
||||
|
||||

|
||||
|
||||
* Now run by clicking the play button or pressing Shift+F10, and yuzu will auto-launch once built.
|
||||
|
||||

|
||||
|
||||
## Building from the command line with MSVC
|
||||
|
||||
```cmd
|
||||
git clone --recursive https://github.com/yuzu-emu/yuzu
|
||||
cd yuzu
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -G "Visual Studio 17 2022" -A x64
|
||||
cmake --build . --config Release
|
||||
```
|
38
Building-for-macOS.md
Normal file
38
Building-for-macOS.md
Normal file
@ -0,0 +1,38 @@
|
||||
Please note this article is intended for development, and yuzu on macOS is not currently ready for regular use.
|
||||
|
||||
This article was written for developers. yuzu support for macOS is not ready for casual use.
|
||||
---
|
||||
|
||||
Install dependencies from Homebrew:
|
||||
```sh
|
||||
brew install autoconf automake boost@1.76 ccache ffmpeg fmt glslang hidapi libtool libusb lz4 ninja nlohmann-json openssl pkg-config qt@5 sdl2 speexdsp zlib zlib zstd
|
||||
```
|
||||
|
||||
Build with debug symbols (vcpkg is not currently used due to broken boost-context library):
|
||||
```sh
|
||||
mkdir build && cd build
|
||||
export Qt5_DIR="/opt/homebrew/opt/qt@5/lib/cmake"
|
||||
cmake .. -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DYUZU_USE_BUNDLED_VCPKG=OFF -DYUZU_TESTS=OFF -DENABLE_WEB_SERVICE=OFF -DENABLE_LIBUSB=OFF
|
||||
ninja
|
||||
```
|
||||
|
||||
- TODO: use newer vcpkg. This fixes the boost context library, and allows using the web service
|
||||
- TODO: figure out what's up with libusb
|
||||
|
||||
Run the output:
|
||||
```
|
||||
bin/yuzu.app/Contents/MacOS/yuzu
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
To run with MoltenVK, install additional dependencies:
|
||||
```sh
|
||||
brew install molten-vk vulkan-loader
|
||||
```
|
||||
|
||||
Run with Vulkan loader path:
|
||||
```sh
|
||||
export LIBVULKAN_PATH=/opt/homebrew/lib/libvulkan.dylib
|
||||
bin/yuzu.app/Contents/MacOS/yuzu
|
||||
```
|
155
Contributing.md
Normal file
155
Contributing.md
Normal file
@ -0,0 +1,155 @@
|
||||
# Reporting Issues
|
||||
|
||||
**The issue tracker is not a support forum.** Unless you can provide *precise technical information* regarding an issue, you *should not post in it*. If you need support, first read the [FAQ](https://github.com/yuzu-emu/yuzu/wiki/FAQ) and then either visit our [Discord server](https://discordapp.com/invite/u77vRWY), [our forum](https://community.citra-emu.org/c/yuzu-support) or ask in a general emulation forum such as [/r/emulation](https://www.reddit.com/r/emulation/). If you post support questions, generic messages to the developers or vague reports without technical details, they will be closed and locked.
|
||||
|
||||
If you believe you have a valid issue report, please post text or a screenshot from the log (the console window that opens alongside yuzu) and build version (hex string visible in the titlebar and zip filename), as well as your hardware and software information if applicable.
|
||||
|
||||
# Contributing
|
||||
|
||||
yuzu is a brand new project, so we have a great opportunity to keep things clean and well organized early on. As such, coding style is very important when making commits. We run clang-format on our CI to check the code. Please use it to format your code when contributing. However, it doesn't cover all the rules below. Some of them aren't very strict rules since we want to be flexible and we understand that under certain circumstances some of them can be counterproductive. Just try to follow as many of them as possible.
|
||||
|
||||
## Using clang-format
|
||||
|
||||
A custom build target, that updates the formatting of *all* C++ source files when executed, is added only if clang format is found by cmake. Before running cmake, please install clang format.
|
||||
|
||||
### Install
|
||||
|
||||
Version should be 10 or above.
|
||||
|
||||
* Windows: do nothing; cmake will download a pre built binary for MSVC and MINGW. MSVC users can additionally install a clang format Visual Studio extension to add features like format on save.
|
||||
* macOS: run `brew install clang-format`
|
||||
* Linux: use your package manager to get an appropriate binary. e.g.:
|
||||
* Fedora: `sudo dnf install clang-tools-extra`
|
||||
* Ubuntu: `sudo apt install clang-format`
|
||||
|
||||
### Run
|
||||
|
||||
You should format before making a pull request so that the reviewers can spend more time reviewing the code logic instead of the style.
|
||||
* Windows with MSVC: build the clang-format project in the solution
|
||||
* macOS: either use `make clang-format` or build the 'clang-format' target in XCode
|
||||
* Linux: run `ninja clang-format`
|
||||
|
||||
## Style guidelines
|
||||
|
||||
### General Rules
|
||||
|
||||
* A lot of code was taken from other projects (e.g. Citra, Dolphin, PPSSPP, Gekko). In general, when editing other people's code, follow the style of the module you're in (or better yet, fix the style if it drastically differs from our guide).
|
||||
* Line width is typically 100 characters. Please do not use 80-characters.
|
||||
* Don't ever introduce new external dependencies into Core
|
||||
* Don't use any platform specific code in Core
|
||||
* Use namespaces often
|
||||
* Avoid the use of C-style casts and instead prefer C++-style `static_cast` and `reinterpret_cast`. Try to avoid using `dynamic_cast`. Never use `const_cast` except for when dealing with external const-incorrect APIs.
|
||||
|
||||
### Naming Rules
|
||||
|
||||
* Functions: `PascalCase`
|
||||
* Variables: `lower_case_underscored`. Prefix with `g_` if global.
|
||||
* Classes: `PascalCase`
|
||||
* Files and Directories: `lower_case_underscored`
|
||||
* Namespaces: `PascalCase`, `_` may also be used for clarity (e.g. `ARM_InitCore`)
|
||||
|
||||
### Indentation/Whitespace Style
|
||||
|
||||
Follow the indentation/whitespace style shown below. Do not use tabs, use 4-spaces instead.
|
||||
|
||||
### Comments
|
||||
|
||||
* For regular comments, use C++ style (`//`) comments, even for multi-line ones.
|
||||
* For doc-comments (Doxygen comments), use `/// ` if it's a single line, else use the `/**` `*/` style featured in the example. Start the text on the second line, not the first containing `/**`.
|
||||
* For items that are both defined and declared in two separate files, put the doc-comment only next to the associated declaration. (In a header file, usually.) Otherwise, put it next to the implementation. Never duplicate doc-comments in both places.
|
||||
|
||||
```cpp
|
||||
// Includes should be sorted lexicographically
|
||||
// STD includes first
|
||||
#include <array>
|
||||
#include <map>
|
||||
#include <memory>
|
||||
|
||||
// then, library includes
|
||||
#include <nihstro/shared_binary.h>
|
||||
|
||||
// finally, yuzu includes
|
||||
#include "common/math_util.h"
|
||||
#include "common/vector_math.h"
|
||||
|
||||
// each major module is separated
|
||||
#include "video_core/pica.h"
|
||||
#include "video_core/video_core.h"
|
||||
|
||||
namespace Example {
|
||||
|
||||
// Namespace contents are not indented
|
||||
|
||||
// Declare globals at the top (better yet, don't use globals at all!)
|
||||
int g_foo{}; // {} can be used to initialize types as 0, false, or nullptr
|
||||
char* g_some_pointer{}; // Pointer * and reference & stick to the type name, and make sure to initialize as nullptr!
|
||||
|
||||
/// A colorful enum.
|
||||
enum class SomeEnum {
|
||||
Red, ///< The color of fire.
|
||||
Green, ///< The color of grass.
|
||||
Blue, ///< Not actually the color of water.
|
||||
};
|
||||
|
||||
/**
|
||||
* Very important struct that does a lot of stuff.
|
||||
* Note that the asterisks are indented by one space to align to the first line.
|
||||
*/
|
||||
struct Position {
|
||||
// Always intitialize member variables!
|
||||
int x{};
|
||||
int y{};
|
||||
};
|
||||
|
||||
// Use "typename" rather than "class" here
|
||||
template <typename T>
|
||||
void FooBar() {
|
||||
const std::string some_string{"prefer uniform initialization"};
|
||||
|
||||
const std::array<int, 4> some_array{
|
||||
5,
|
||||
25,
|
||||
7,
|
||||
42,
|
||||
};
|
||||
|
||||
if (note == the_space_after_the_if) {
|
||||
CallAFunction();
|
||||
} else {
|
||||
// Use a space after the // when commenting
|
||||
}
|
||||
|
||||
// Place a single space after the for loop semicolons, prefer pre-increment
|
||||
for (int i = 0; i != 25; ++i) {
|
||||
// This is how we write loops
|
||||
}
|
||||
|
||||
DoStuff(this, function, call, takes, up, multiple,
|
||||
lines, like, this);
|
||||
|
||||
if (this || condition_takes_up_multiple &&
|
||||
lines && like && this || everything ||
|
||||
alright || then) {
|
||||
|
||||
// Leave a blank space before the if block body if the condition was continued across
|
||||
// several lines.
|
||||
}
|
||||
|
||||
// No indentation for case labels
|
||||
switch (var) {
|
||||
case 1: {
|
||||
const int case_var{var + 3};
|
||||
DoSomething(case_var);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
DoSomething(var);
|
||||
return;
|
||||
default:
|
||||
// Yes, even break for the last case
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace Example
|
||||
```
|
61
Contributor-License-Agreement-Policy.md
Normal file
61
Contributor-License-Agreement-Policy.md
Normal file
@ -0,0 +1,61 @@
|
||||
## What is the purpose of the Individual Contributor License Agreement?
|
||||
When you agree to the yuzu Nintendo Switch Emulator Individual [Contributor License Agreement](https://cla-assistant.io/yuzu-emu/yuzu) (CLA), you are effectively granting a copyright of any contribution that you make to the maintainers of the yuzu project. You still retain an equal copyright over your own work, and are free to use your own work as you please.
|
||||
|
||||
## How do I sign the Individual Contributor License Agreement?
|
||||
* When you open a Pull Request on the [main repository](https://github.com/yuzu-emu/yuzu/), the bot `CLAassistant` will prompt you to agree to the CLA.
|
||||
* Click the link provided by `CLAassistant`, or browse to https://cla-assistant.io/yuzu-emu/yuzu.
|
||||
* Login with your GitHub credentials.
|
||||
* Read the CLA, provide the required information, and click "Accept" once you agree to the terms of the agreement.
|
||||
* The status of your Pull Request (and future Pull Requests) will be updated to indicate that you have agreed to the terms of the CLA.
|
||||
|
||||
## Why does yuzu need a Contributor License Agreement?
|
||||
As of the time of this document, yuzu has around [200 contributors](https://github.com/yuzu-emu/yuzu/graphs/contributors)! However, the vast majority of these contributors have written only a few lines of code, are inactive in the project, and have not provided the current team with contact information. There is some precedent that unless otherwise agreed upon, every contributor owns the sole copyright to their contribution. The [[Contributor License Agreement]] assigns a shared copyright of each contribution to the set of individuals who actively maintain the project. This is not forfeiting any rights by the contributor, but rather granting rights to yuzu. This enables the project to have ownership of the source code without necessarily tracking down every single person that ever made a contribution. It also is a mechanism for the project to keep a record of all of the present and future contributors and their contact information. There are several reasons why this is important:
|
||||
* In recent years, emulators have become productized. This has positive and negative effects for end users. On one hand, productizing emulators has meant that emulator developers are getting compensated for their hard work. Compensation means that developers are willing to work on the parts of emulation that aren't necessarily *fun*, such as usability and polish features that are important to end users. Compensation also means that emulator developers can devote more time to the project. All of these mean faster development, a better product, and a better experience for end users.
|
||||
* However, recent closed source emulators have shown that emulation can be successfully monetized. This has resulted in some of the most successful projects becoming closed source, which overall hurts preservation of the hardware and the games. Open preservation is the core of why most yuzu developers work on the project. The success of closed source emulators has furthermore shown that the damage to coexisting open source emulators and preservation can be significant: Given the complexity of modern systems, it can be incredibly demotivating for an open source project that is trailing behind to try to stay relevant. By design, closed source emulators benefit from the innovation of open source projects, without having to give back. Consequently, such open source projects fail to attract attention and new developers, and can die off leaving the opportunity for preservation lost.
|
||||
* yuzu is an open source project. The [main repository](https://github.com/yuzu-emu/yuzu/) for the project will always be open source, accessible to new contributors, and purposed with preserving the Nintendo Switch. Furthermore, the main repository will always be a reference implementation for all ancillary releases within the yuzu project. However, in order to compete with modern emulators in 2019 and beyond, yuzu also needs to be a product. We need to find ways to monetize the project and compensate our developers while also staying open source. This will allow us to share the same benefits of other productized projects, such as by enabling our developers to spend more time working on yuzu, or to work on less exciting but necessary features. Unfortunately, this is very difficult without the maintainers of the yuzu project having ownership of the source code.
|
||||
* While we agree with the spirit of the project's open source license, the GNU General Public License v2.0 (GPL), on its own, the GPL does not provide any legal protection against bad actors. Without any meaningful income stream, an open source project does not have the legal resources to pursue a GPL violation. For example, there have been many instances of GPL emulators being released on the Android Play Store as commercial closed source products without permission from the original authors. The CLA helps protect yuzu against such scenarios by allowing yuzu to: 1) consolidate the copyright owners of the project as a whole to a smaller, more meaningful, and active set of individuals, 2) more easily monetize the project and therefore have resources to potentially take legal action against bad actors as warranted, 3) restrict the access of non-core parts of the yuzu source code that could be used by bad actors to monetize yuzu.
|
||||
|
||||
## Who must agree to the CLA?
|
||||
Any contributor that opens a Pull Request against the [main repository](https://github.com/yuzu-emu/yuzu/) must agree to the CLA before their change can be merged. Similar to how Pull Requests must satisfy build and verification requirements, and must be approved by reviewers, this will be another checkbox within the merge process.
|
||||
|
||||
## What should contributors do if they do not own their contribution?
|
||||
If a contributor does not own their contribution, it is their responsibility to get the original author of the code to agree to the CLA or provide written consent granting them shared ownership of the code change. Proof of this consent should be included within the description of the Pull Request for the change.
|
||||
|
||||
## Who are the maintainers of the yuzu project?
|
||||
The maintainers of the yuzu project are the set of individuals that satisfy the following requirements:
|
||||
1. **Have made at least one meaningful technical contribution to the core yuzu emulator within the most recent 12 months.** The core yuzu emulator is considered the part of the codebase that is responsible for Nintendo Switch emulation, which includes [core](https://github.com/yuzu-emu/yuzu/tree/master/src/core), [audio_core](https://github.com/yuzu-emu/yuzu/tree/master/src/audio_core), and [video_core](https://github.com/yuzu-emu/yuzu/tree/master/src/video_core). Minor changes to a frontend or common code do not qualify as a meaningful technical contribution to the core yuzu emulator.
|
||||
2. **Have agreed to the [[Contributor License Agreement]].**
|
||||
3. **Expresses willingness to be a maintainer of the yuzu project.**
|
||||
4. **Are at least eighteen years of age.**
|
||||
5. **Are a member of the [yuzu-emu/Maintainers](https://github.com/orgs/yuzu-emu/teams/maintainers/members) team on GitHub.**
|
||||
|
||||
## How are new maintainers added to the yuzu project?
|
||||
If a contributor satisfies requirements #1, #2, #3, and #4 above, and has shown a pattern of:
|
||||
* Making several meaningful technical contributions over a period of at least 6 months.
|
||||
* Participating in code reviews and leaving useful technical feedback.
|
||||
* Being a technical resource or leader in an area relevant to the project (such as reverse engineering, graphics, audio, CI/build system, etc.).
|
||||
|
||||
Then the existing maintainers of the yuzu project will discuss adding this contributor to the [yuzu-emu/Maintainers](https://github.com/orgs/yuzu-emu/teams/maintainers/members) GitHub team. This decision will be satisfied with a two thirds majority vote of the existing active maintainers. With all requirements satisfied, the contributor is now considered a formal maintainer of the yuzu project.
|
||||
|
||||
There is an expectation that users with this role are active participants in the project and its community, such as by continuing to satisfy the above criteria.
|
||||
|
||||
## How are maintainers removed from the yuzu project?
|
||||
* If an existing maintainer of the yuzu project becomes inactive, and therefore no longer satisfies requirement #1 above by failing to make any code change to yuzu within the most recent 12 month period, they will lose their formal maintainer status.
|
||||
* If an existing maintainer of the yuzu project violates the terms of the [[Contributor License Agreement]], or wishes to have their agreement terminated, thereby no longer satisfying requirement #2 above, they will immediately lose their formal maintainer status.
|
||||
* If an existing maintainer of the yuzu project no longer wishes to be a maintainer, thereby no longer satisfying requirement #3 above, they may immediately resign from this role by notifying the other maintainers.
|
||||
* Being a member of the [yuzu-emu/Maintainers](https://github.com/orgs/yuzu-emu/teams/maintainers/members) GitHub team alone does not necessarily mean that a contributor is still a maintainer of the yuzu project if they fail to satisfy any of the other requirements. Users will be be pruned from the [yuzu-emu/Maintainers](https://github.com/orgs/yuzu-emu/teams/maintainers/members) GitHub team if they become inactive.
|
||||
* A maintainer that satisfies all requirements may still lose their maintainer status by a two thirds majority vote of the active maintainers of the yuzu project.
|
||||
|
||||
## Privacy
|
||||
When you agree to the CLA, your acknowledgment of the agreement is public. Any other contact information you enter is private, and will only be available to the project owner [bunnei](https://github.com/bunnei/). This information will not be shared with any other individuals under any circumstances.
|
||||
|
||||
## What is the process for the maintainers of the yuzu project to act upon their copyright over the yuzu source code?
|
||||
At the time of this document, most of the yuzu code is not under CLA. As such, the maintainers of the yuzu project only have authority to act on the copyright of the code they own, not the project as a whole. The expected outcome in adding the CLA is that over time, code will naturally be rewritten and replaced by code that is under CLA. The list of inactive developers that the team would need to contact with regards to code ownership will diminish. At this time, if we were to act on our copyright of the yuzu source code (for example, by issuing a dual license), the decision would be made by a two thirds majority vote. This vote will be carried out by the maintainers of the yuzu project and the web administrator of the yuzu project.
|
||||
|
||||
The web administrator of the yuzu project is a single individual that:
|
||||
* Is at least eighteen years of age.
|
||||
* Is designated as web administrator by a two thirds majority vote by the maintainers of the yuzu project.
|
||||
* Is a member of the [yuzu-emu/Web-Adminstrator](https://github.com/orgs/yuzu-emu/teams/web-adminstrator) team on GitHub.
|
||||
* Maintains yuzu's web infrastructure. This is defined as: 1) maintaining the yuzu website, 2) managing public-facing online communities for yuzu (e.g. Discord, forums, etc.), 3) managing yuzu's other web services (e.g. continuous integration and build systems, bots, etc.).
|
||||
|
||||
The web administrator of the yuzu project may lose their status as such by a two thirds majority vote by the maintainers of the yuzu project.
|
11
Developer-Information.md
Normal file
11
Developer-Information.md
Normal file
@ -0,0 +1,11 @@
|
||||
Please see the following wikipages:
|
||||
* Building yuzu:
|
||||
* [Windows](https://github.com/yuzu-emu/yuzu/wiki/Building-for-Windows)
|
||||
* [Linux](https://github.com/yuzu-emu/yuzu/wiki/Building-for-Linux)
|
||||
* [Switch Hardware and Software Documentation](https://github.com/yuzu-emu/yuzu/wiki/Switch-Hardware-and-Software)
|
||||
* [Switch Homebrew and Libraries](https://github.com/yuzu-emu/yuzu/wiki/Switch-Homebrew)
|
||||
* [Service Function Usage](https://github.com/yuzu-emu/yuzu/wiki/Service-Function-Usage)
|
||||
* [Contributing](https://github.com/yuzu-emu/yuzu/wiki/Contributing#contributing)
|
||||
* [Contributor License Agreement](https://github.com/yuzu-emu/yuzu/wiki/Contributor-License-Agreement)
|
||||
* [Policy](https://github.com/yuzu-emu/yuzu/wiki/Contributor-License-Agreement-Policy)
|
||||
* [Typical Git workflow](https://github.com/yuzu-emu/yuzu/wiki/Typical-Git-Workflow)
|
67
Dumping-Decryption-Keys-from-a-Switch-Console.md
Normal file
67
Dumping-Decryption-Keys-from-a-Switch-Console.md
Normal file
@ -0,0 +1,67 @@
|
||||
How to Dump Keys
|
||||
================
|
||||
In order to play games in XCI or NCA format, you must have the required keys to decrypt them.
|
||||
|
||||
## Process
|
||||
Guide on how to obtain the decryptions keys.
|
||||
|
||||
* Requirements: A hackable Nintendo Switch (you can check whether your Nintendo Switch is hackable or not [here.](https://akdm.github.io/ssnc/checker/))
|
||||
* A Micro SD card of at least 1 Gigabyte in capacity.
|
||||
* A Micro SD card reader.
|
||||
* Lockpick: Is included by default in [Kosmos CFW](https://github.com/AtlasNX/Kosmos/releases) if you don’t use that you can download it [here.](https://github.com/shchmue/Lockpick/releases)
|
||||
* The necessary tools (i.e a jig, paperclip, etc.) required to be able to boot into RCM and navigate around the [Hekate](https://github.com/CTCaer/hekate/releases)
|
||||
menu.
|
||||
* [TegraRCMGUI](https://github.com/eliboa/TegraRcmGUI/releases/download/2.5/TegraRcmGUI_v2.5_Installer.msi) or [TegraRCMSmash.](https://files.sshnuke.net/TegraRcmSmash1213.zip)
|
||||
|
||||
**You can skip to Step 3 if you already have CFW set-up.**
|
||||
* **Step 1:** Turn off your Nintendo Switch and plug your Micro SD card into your computer.
|
||||
* **Step 2:** Download the latest [Kosmos CFW](https://github.com/AtlasNX/Kosmos/releases) (If you already have that or use a different CFW software download the latest [Lockpick](https://github.com/shchmue/Lockpick/releases). and extract than in your “/switch/” folder) and extract the zip in the root of your Micro SD card.
|
||||
* **Step 3:** Put your SD card back in your Nintendo Switch, boot into RCM mode and inject the latest Hekate payload * using your preferred payload injector.
|
||||
* **Step 4a:** Using the touchscreen go to `Console info`.
|
||||
* **Step 4b:** Select `Fuses` (not kfuse!) and press the `Dump fuses` button to save `fuses` to your Micro SD card.
|
||||
* **Step 4c:** Return back to `Console info` and select `TSEC Keys` and press the `Dump Keys` button to save `TSEC keys` to your Micro SD card.
|
||||
|
||||
**If you are on firmware 7.x and above you'll need to run the [Lockpick_RCM](https://github.com/shchmue/Lockpick_RCM/releases) payload instead.**
|
||||
|
||||
**For those above 7.x**
|
||||
* **Step 5:** Go back to the hekate menu and go to **Payloads** and then pick Lockpick_RCM.bin.
|
||||
* **Step 6:** After it's done running go to **Step 7**
|
||||
|
||||
**For the title.keys (and prod.keys for those under 7.x)**
|
||||
|
||||
* **Step 7:** Boot into your CFW of choice, and open the Homebrew Menu (Album application) while pressing the `R` button on your joy-con.
|
||||
* **Step 8:** Navigate the menu and run Lockpick.
|
||||
* **Step 9:** Once it says it's done turn you Nintendo Switch off and plug your Micro SD card into your computer.
|
||||
* **Step 10:** Locate to the `/switch/` folder on your Micro SD card where you’ll find two .keys files; `prod.keys` and `title.keys`, copy these and paste them into the `&appdata&/yuzu/keys/` folder.
|
||||
|
||||
And you’re done! Congratulations! You’ve just dumped your decryption and title keys!
|
||||
|
||||
Place it in:
|
||||
|
||||
`C:/Users/yourusername/AppData/Roaming/yuzu/keys` _(for Windows)_
|
||||
|
||||
`~/.local/share/yuzu-emu/keys` _(for macOS and Linux)_
|
||||
|
||||
##### Diagram showing the correct location of the decryption keys in yuzu's [[User Directory]].
|
||||
|
||||
```
|
||||
"User Directory"
|
||||
└── config
|
||||
└── keys
|
||||
└─── prod.keys
|
||||
└─── title.keys
|
||||
└── log
|
||||
└── nand
|
||||
└── sdmc
|
||||
└── sysdata
|
||||
```
|
||||
Please seek support in the official yuzu discord server if you have any further issues.
|
||||
If you have suggestions for this guide please contact me on discord @MysticExile#1552
|
||||
|
||||
Credits:
|
||||
|
||||
* **CTCaer** for maintaining Hekate
|
||||
* **Rajkosto** for creating and maintaining TegraRCMSmash
|
||||
* **AtlasNX** for creating and maintaining Kosmos CFW
|
||||
* **shchmue** for creating and maintaining Lockpick
|
||||
|
1
Dumping-Game-Cartridges.md
Normal file
1
Dumping-Game-Cartridges.md
Normal file
@ -0,0 +1 @@
|
||||
Refer to `Dumping cartridge games` in the [Quickstart guide](https://yuzu-emu.org/help/quickstart/).
|
1
Dumping-Installed-Titles.md
Normal file
1
Dumping-Installed-Titles.md
Normal file
@ -0,0 +1 @@
|
||||
Refer to [the Quickstart Guide](https://yuzu-emu.org/help/quickstart/).
|
320
FAQ.md
Normal file
320
FAQ.md
Normal file
@ -0,0 +1,320 @@
|
||||
If you are unable to find the answer to your question, please join our Discord server for support: [Discord Server](https://discord.gg/u77vRWY)
|
||||
### **Table of contents**
|
||||
* [yuzu starts with the error “VCRUNTIME140_1.dll was not found”](#yuzu-starts-with-the-error-vcruntime140_1dll-was-not-found)
|
||||
* [How do I get Games?](#how-do-i-get-games)
|
||||
* [Can I use a Mariko Switch/Switch Lite/OLED Model for the dumping process?](#can-i-use-a-mariko-switchswitch-liteoled-model-for-the-dumping-process)
|
||||
* [yuzu starts with the error "Broken Vulkan Installation Detected"](#yuzu-starts-with-the-error-broken-vulkan-installation-detected)
|
||||
* [yuzu starts with the error "Missing Derivation Components"](#yuzu-starts-with-the-error-missing-derivation-components)
|
||||
* [yuzu starts with the error "Unable to start application: Os { code: 2, kind: NotFound, message: “The system cannot find the file specified.” }"](#yuzu-starts-with-the-error-unable-to-start-application-os-code-2-kind-notfound-message-the-system-cannot-find-the-file-specified)
|
||||
* [yuzu will not update further or starts with a Qt platform error](#yuzu-will-not-update-further-or-starts-with-a-qt-platform-error)
|
||||
* [yuzu closes when opening Configure](#yuzu-closes-when-opening-configure)
|
||||
* [My game is Lagging and Dropping to Low Framerates](#my-game-is-lagging-and-dropping-to-low-framerates)
|
||||
* [How do I use mods or cheats?](#how-do-i-use-mods-or-cheats)
|
||||
* [How do I install game updates or DLC?](#how-do-i-install-game-updates-or-dlc)
|
||||
* [How do I uninstall game updates or DLC?](#how-do-i-uninstall-game-updates-or-dlc)
|
||||
* [How do I set up my controls?](#how-do-i-set-up-my-controls)
|
||||
* [How do I use my GameCube controller adapter?](#how-do-i-use-my-gamecube-controller-adapter)
|
||||
* [How do I add a save to my Game](#how-do-i-add-a-save-to-my-game)
|
||||
* [yuzu closes when launching game](#yuzu-closes-when-launching-game)
|
||||
* [Games fail to launch with the error: "WerFault.exe - Application Error"](#games-fail-to-launch-with-the-error-werfaultexe---application-error---the-application-was-unable-to-start-correctly)
|
||||
* [What is Boxcat?](#what-is-boxcat)
|
||||
* [Why am I getting an error?](#why-am-i-getting-an-error)
|
||||
* [What are Mods and how do I install them?](#what-are-mods-and-how-do-i-install-them)
|
||||
* [How do I upload my log file?](#how-do-i-upload-my-log-file)
|
||||
* [What is Telemetry?](#what-is-telemetry)
|
||||
* [How do I install Early Access?](#how-do-i-install-early-access)
|
||||
* [What is yuzu?](#what-is-yuzu)
|
||||
* [Which software license is yuzu licensed under?](#which-software-license-is-yuzu-licensed-under)
|
||||
* [Which platforms does yuzu support?](#which-platforms-does-yuzu-support)
|
||||
* [What are the system requirements for yuzu?](#what-are-the-system-requirements-for-yuzu)
|
||||
* [How do I build yuzu for the OS that I use?](#how-do-i-build-yuzu-for-the-os-that-i-use)
|
||||
* [Who made yuzu?](#who-made-yuzu)
|
||||
|
||||
|
||||
### **yuzu starts with the error “VCRUNTIME140_1.dll was not found”**
|
||||
|
||||

|
||||
|
||||
Could also show up as “MSVCP140_ATOMIC_WAIT.dll was not found”.
|
||||
|
||||
Current versions of yuzu require the latest versions of Microsoft Visual C++. Please download and install the following dependency:
|
||||
|
||||
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
|
||||
|
||||
Go to Visual Studio 2015, 2017 and 2019, and select the link next to x64.
|
||||
|
||||
|
||||
### **How do I get games?**
|
||||
|
||||
You are legally required to dump your games from your Nintendo Switch. To do so, please follow our in-depth [Quickstart Guide](https://yuzu-emu.org/help/quickstart/).
|
||||
|
||||
|
||||
### **Can I use a Mariko Switch/Switch Lite/OLED Model for the dumping process?**
|
||||
|
||||
Yes, but support for those models is beyond our scope since they require hardware-based modifications to load custom firmware. We still recommend obtaining a Switch console that is vulnerable to the `fusée-gelée` RCM exploit, as it's still the most accessible way for jailbreaking. To check if your Switch is hackable using this exploit, visit [Is My Switch Patched?](https://ismyswitchpatched.com) and enter your console’s serial number.
|
||||
|
||||
|
||||
### **yuzu starts with the error "Broken Vulkan Installation Detected"**
|
||||
|
||||
This problem indicates that the Vulkan initialization failed on the previous boot of yuzu. Please perform the following:
|
||||
|
||||
* Update your graphics drivers
|
||||
* Uninstall/update problematic screen-recording or overlay software
|
||||
* Verify your Vulkan installation by navigating to Emulation > Configure > Graphics > Click "Check for Working Vulkan"
|
||||
|
||||
If issues persist, please reach out for support via our [Discord server](https://discord.gg/u77vRWY) or our [Forum](https://community.citra-emu.org/c/yuzu-support/14).
|
||||
|
||||
|
||||
### **yuzu starts with the error "Missing Derivation Components"**
|
||||

|
||||
|
||||
yuzu requires console keys to play your games. Please follow our [Quickstart Guide](https://yuzu-emu.org/help/quickstart/) to dump these keys and system files from your Nintendo Switch.
|
||||
|
||||
These console keys (prod.keys/title.keys) need to be placed in the following directories:
|
||||
|
||||
You may need to create the following "keys" folder:
|
||||
* Windows: `C:\Users\USERNAME\AppData\Roaming\yuzu\keys`
|
||||
* Linux: `/home/USERNAME/.local/share/yuzu/keys`
|
||||
|
||||
**NOTE: This yuzu directory can be quickly accessed by selecting file/open yuzu folder within the emulator**
|
||||
|
||||
|
||||
### **yuzu starts with the error "Unable to start application: Os { code: 2, kind: NotFound, message: “The system cannot find the file specified.” }"**
|
||||
|
||||

|
||||
|
||||
This problem is usually caused by a false positive of your antivirus software, most commonly by Avast and AVG. These applications will often incorrectly detect yuzu as malicious software and delete the executable as a result.
|
||||
|
||||
You can confirm it is a false positive with an online scanner, such as [VirusTotal](https://www.virustotal.com) if you wish.
|
||||
|
||||
To fix this, you'll need to either disable or uninstall your antivirus software. Make sure to reboot if you choose to uninstall it.
|
||||
|
||||
Afterwards, follow the instructions below for `yuzu will not update further or starts with a Qt platform error` to delete any residual files of the failed installation.
|
||||
|
||||
|
||||
### **yuzu will not update further or starts with a Qt platform error**
|
||||
|
||||

|
||||
|
||||
* Close all instances of yuzu and any installer processes you may have running.
|
||||
* Press Win+R, in the opened window type `%localappdata%` and press Enter.
|
||||
* Select the `yuzu` folder and delete it. If it is being used by another process, please double-check that you do not have any yuzu related applications running.
|
||||
* Launch the installer and install yuzu again.
|
||||
|
||||
**Note: Doing this will not touch your existing keys - saves for yuzu, as they reside in %appdata%\yuzu\ not localappdata yuzu folder.**
|
||||
|
||||
|
||||
### **yuzu closes when opening Configure**
|
||||
|
||||
This problem may be caused by a corrupt configuration file.
|
||||
Press Win+R, type `%appdata%\yuzu\config` and delete the `qt-config.ini` file. Your global settings will be lost after doing this, reconfigure accordingly.
|
||||
|
||||
Alternatively, some screen recording applications use dubious methods to inject themselves into software, causing crashes. Some examples are Reshade, GShade, Bandicam, Action and Screenrec. Uninstall the software if you have it installed. For Reshade-GShade if you need to keep it installed at the very least turn off its ability to touch Vulkan globally on windows to allow Yuzu&Vulkan to work again.
|
||||
|
||||
We recommend using OBS Studio, Radeon ReLive, Nvidia ShadowPlay or Microsoft XBox Game Bar.
|
||||
|
||||
Overwolf is also a known cause of issues, we recommend avoiding it.
|
||||
|
||||
|
||||
### **My game is Lagging and Dropping to Low Framerates**
|
||||
|
||||
You are likely experiencing Shader Caching. Shaders are small programs running on a graphic card, responsible for rendering graphics like terrain, explosions, characters, etc. Since a PC cannot directly execute switch shaders, it first has to translate them to a format a PC can understand. This translation process is time consuming, and you'll notice it in two ways:
|
||||
|
||||
* While playing, if yuzu needs to translate a new shader, the game will stutter. Loading into a game for the first time can give long freezes due to the number of shaders. As you keep playing, the amount of stuttering will decrease.
|
||||
|
||||
* When launching a game, the shader cache is loaded. To speed up this process there exists an additional "precompiled" cache. This cache may get reset every time you update yuzu or install a new GPU driver. The precompiled cache will then be compiled from scratch, causing a longer load time.
|
||||
|
||||
Vulkan and OpenGL have separate caches, but different OpenGL backends share the same cache. This means that on Nvidia you can build up shaders with less stutter on GLASM, then use GLSL for more performance.
|
||||
|
||||
**IMPORTANT: Since the cache stores parts of the game, we don't condone sharing or downloading these, since it is considered piracy.**
|
||||
|
||||
|
||||
### **How do I use mods or cheats?**
|
||||
For a list of useful mods for your favorite games, check our database with [Switch Mods](https://yuzu-emu.org/wiki/switch-mods/)
|
||||
|
||||
To add mods to a specific game, simply right click the game in yuzu's games list, select `Open Mod Data Location` and structure your mod files similar to this example:
|
||||
|
||||
`Mod directory/mod name/romfs`
|
||||
_or_
|
||||
`Mod directory/mod name/exefs`
|
||||
|
||||
To add cheats, structure your cheat file similar to this example:
|
||||
|
||||
`Mod directory/cheat name/cheats`
|
||||
|
||||
An example of a correctly structured mod directory can be seen below:
|
||||
|
||||

|
||||
|
||||
The mods provided on our [Switch Mods](https://yuzu-emu.org/wiki/switch-mods/) page are already structured accordingly and only need to be extracted into the mod directory folder as is.
|
||||
|
||||
Once added to the correct mod directory, simply right click the game again, select properties and activate the installed mod. The same process can be followed in reverse for de-activating mods
|
||||
|
||||

|
||||
|
||||
|
||||
### **How do I install game updates or DLC?**
|
||||
Installing updates and DLC is simple. In the top left corner of the emulator window, select `File / Install Files to NAND`, then select the file you wish to install. Once installed, your files should load automatically and the installed update or DLC will be shown in the games list add-ons column of the corresponding game.
|
||||
|
||||
If you wish to activate/deactivate a specific update or DLC then right click your game in the games list, select `Properties`, then enable or disable as needed.(See Below)
|
||||
|
||||

|
||||
|
||||
Reinstalling or Overwriting Updates/DLC is as simple as following the above instructions, selecting your files and installing your Update/DLC. When doing this, any previously installed files will be removed and replaced by the newly installed versions.
|
||||
|
||||
|
||||
### **How do I uninstall game updates or DLC?**
|
||||
|
||||
To delete your installed game Updates or DLCs, right click your game, then select Remove. From here you can delete/uninstall your game Updates and DLCs from the options list (See Below)
|
||||
|
||||

|
||||
|
||||
|
||||
### **How do I set up my controls?**
|
||||
|
||||
Since the Nintendo Switch is a complicated device controller input wise, you will need to change some input settings depending on the game you wish to play.
|
||||
|
||||
Open the yuzu settings and go to `Controls`.
|
||||
|
||||
**For all games other than Pokemon Let's Go set the controls like this:**
|
||||
|
||||

|
||||
|
||||
* Click on the checkbox next to `Connect Controller` if it is not already checked.
|
||||
* Select `Pro Controller` in the combobox below if needed (this is also the default).
|
||||
* Select your desired input device under `Input Device`.
|
||||
* Controllers: All buttons should automatically be mapped for the selected input device.
|
||||
* Keyboard: The `Defaults` button on bottom right sets default keyboard mappings.
|
||||
* Change mappings if desired.
|
||||
* Repeat steps for other players if desired.
|
||||
* Confirm with `OK`.
|
||||
|
||||
**For Pokemon Let's Go set your controls like this:**
|
||||
|
||||

|
||||
|
||||
* Click on the checkbox next to `Connect Controller` if it is not already checked.
|
||||
* Select `Handheld` in the combobox below.
|
||||
* Select your desired input device under `Input Device`.
|
||||
* Controllers: All buttons should automatically be mapped for the selected input device.
|
||||
* Keyboard: The `Defaults` button on bottom right sets default keyboard mappings.
|
||||
* Change mappings if desired.
|
||||
* Confirm with `OK`.
|
||||
|
||||
|
||||
### **How do I use my GameCube controller adapter?**
|
||||
|
||||
The GameCube adapter communicates with yuzu over the `libusb` protocol. This works natively on Linux, but requires the installation of a compatible driver on Windows using Zadig.
|
||||
|
||||
|
||||
#### Zadig driver installation
|
||||
Plug in the GameCube controller adapter if it hasn't been already. Download and launch [Zadig](https://zadig.akeo.ie/).
|
||||
If you're using the Mayflash adapter, make sure you switch it to `Wii U` or Zadig won't pick it up properly.
|
||||
|
||||
1. From the `Options` menu in Zadig, select `List All Devices`
|
||||
|
||||
2. In the pulldown menu, select `WUP-028`. Ensure that its USB ID is `057E 0337`.
|
||||
|
||||
* If it does not appear in the list then try inserting the adapter (specifically its black USB cord) into another USB port.
|
||||
|
||||
3. On the right column, select `WinUSB` then click `Replace Driver`. Select `Yes` to modify the system driver.
|
||||
|
||||
When the notification that the driver is installed successfully is displayed, you can close Zadig and continue to configuring the controller with yuzu.
|
||||
|
||||
|
||||
#### GameCube controller configuration
|
||||
|
||||
Ensure the adapter is plugged in prior to launching yuzu. Then follow the [How do I set up my controls?](#how-do-i-set-up-my-controls) instructions, selecting `Gamecube controller X` as the `Input Device`, where `X` is the port in which the controller is plugged into.
|
||||
|
||||

|
||||
|
||||
|
||||
### **How do I add a save to my Game**
|
||||
|
||||
To add a save, simply right-click your game in the Games List, Select `Open Save Data Location`, then Select your User from the Profile Selector
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Once your `Save Data Location` is open, place your applicable game save in the folder presented to you.
|
||||
|
||||

|
||||
|
||||
|
||||
### **yuzu closes when launching game**
|
||||
|
||||
* If you happen to have issue launching game and have Nod32 ESET Antivirus installed. Please uninstall it and reboot. Or add yuzu into the HIPS exclusions. It is known to cause issue with emulators recently.
|
||||
* Example adding exception below
|
||||

|
||||

|
||||
|
||||
|
||||
### Games fail to launch with the error: "WerFault.exe - Application Error - The application was unable to start correctly"
|
||||
|
||||
This typically occurs when yuzu runs out of RAM. Increase the size of your pagefile to resolve the issue.
|
||||
|
||||
|
||||
### What is Boxcat?
|
||||
|
||||
Please read the following article: [Boxcat](https://yuzu-emu.org/help/feature/boxcat/)
|
||||
|
||||
|
||||
### Why am I getting an error?
|
||||
|
||||
Please look up your error in the following page: [Error Codes](https://yuzu-emu.org/help/reference/error-codes/)
|
||||
|
||||
|
||||
### What are Mods and how do I install them?
|
||||
|
||||
Please read the following article: [Mods](https://yuzu-emu.org/help/feature/game-modding/)
|
||||
|
||||
|
||||
### How do I upload my log file?
|
||||
|
||||
Please read the following guide: [How to Upload the Log File](https://yuzu-emu.org/help/reference/log-files/)
|
||||
|
||||
|
||||
### What is Telemetry?
|
||||
|
||||
Please read the following article: [What is Telemetry?](https://yuzu-emu.org/help/feature/telemetry/)
|
||||
|
||||
|
||||
### How do I install Early Access?
|
||||
|
||||
Please read the following guide: [How to install Early Access](https://yuzu-emu.org/help/early-access/)
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **What is yuzu?**
|
||||
|
||||
yuzu is an experimental open-source emulator for the Nintendo Switch from the creators of Citra.
|
||||
It is written in C++ with portability in mind, with builds actively maintained for Windows, Linux and Android. The emulator currently can play various commercial titles and homebrew applications with varying degrees of success.
|
||||
|
||||
|
||||
### **Which software license is yuzu licensed under?**
|
||||
|
||||
yuzu is an open-source project, licensed under the GPLv2 (or any later version). Refer to the license document for more information.
|
||||
|
||||
|
||||
### **Which platforms does yuzu support?**
|
||||
|
||||
yuzu is actively tested and supported on various 64-bit versions of Windows (10 and up), Linux and Android (11 and up). macOS is no longer supported due to Apple deprecating OpenGL.
|
||||
|
||||
|
||||
### **What are the system requirements for yuzu?**
|
||||
|
||||
yuzu currently requires an OpenGL 4.6 capable GPU and a CPU that has high single-core performance. It also requires a minimum of 8 GB of RAM. For more details, see our [Quickstart Guide](https://yuzu-emu.org/help/quickstart/#hardware-requirements).
|
||||
|
||||
|
||||
### **How do I build yuzu for the OS that I use?**
|
||||
|
||||
Take a look at the following guides for steps on building yuzu for the following platforms:
|
||||
- [Linux](https://github.com/yuzu-emu/yuzu/wiki/Building-for-Linux)
|
||||
- [Windows](https://github.com/yuzu-emu/yuzu/wiki/Building-for-Windows)
|
||||
|
||||
|
||||
### **Who made yuzu?**
|
||||
|
||||
yuzu has an active team of open-source developers. The list of contributors can be [found on GitHub](https://github.com/yuzu-emu/yuzu/graphs/contributors).
|
70
Home.md
Normal file
70
Home.md
Normal file
@ -0,0 +1,70 @@
|
||||
yuzu emulator
|
||||
=============
|
||||
yuzu is an experimental open-source emulator for the Nintendo Switch from the creators of [Citra](https://citra-emu.org/). It is written in C++ with portability in mind, with builds actively maintained for Windows and Linux. yuzu is licensed under the GPLv2 (or any later version). Refer to the license.txt file included.
|
||||
|
||||
Check out our [website](https://yuzu-emu.org/)!
|
||||
|
||||
For development discussion, please join us on [Discord](https://discord.gg/u77vRWY).
|
||||
|
||||
## Development
|
||||
|
||||
Most of the development happens on GitHub. It's also where [our central repository](https://github.com/yuzu-emu/yuzu) is hosted.
|
||||
|
||||
If you want to contribute, please take a look at the [Contributor's Guide](https://github.com/yuzu-emu/yuzu/blob/master/CONTRIBUTING.md) and [Developer Information](https://github.com/yuzu-emu/yuzu/wiki/Developer-Information). You should as well contact any of the developers on Discord in order to know about the current state of the emulator.
|
||||
|
||||
## Usage
|
||||
You may download a precompiled binary from [our website](https://yuzu-emu.org/downloads/), or you can build it yourself from the source code.
|
||||
|
||||
* __Windows__: [Windows Build](https://github.com/yuzu-emu/yuzu/wiki/Building-For-Windows)
|
||||
* __Linux__: [Linux Build](https://github.com/yuzu-emu/yuzu/wiki/Building-For-Linux)
|
||||
* __Android__: [Android Build](https://github.com/yuzu-emu/yuzu/wiki/Building-For-Android)
|
||||
|
||||
**Note: macOS is no longer supported due to Apple deprecating OpenGL and their current version not supporting the OpenGL extensions we require.** ([source](https://www.anandtech.com/show/12894/apple-deprecates-opengl-across-all-oses))
|
||||
|
||||
## Log Filters
|
||||
|
||||
Yuzu supports configurable filtering of log message per-class. This is especially useful if you’re debugging a subsystem and want very detailed messages from it or if you want to silence some annoyingly spammy errors (e.g. unimplemented GPU features.)
|
||||
|
||||
Messages are filtered in each class according to their severity, the filter will block all messages in the class that are below the configured severity.
|
||||
|
||||
The severity levels are:
|
||||
- Trace: Extremely detailed and repetitive (many times per frame) debugging information that is likely to pollute logs.
|
||||
- Debug: Less detailed debugging information.
|
||||
- Info: Status information from important points during execution.
|
||||
- Warning: Minor or potential problems found during execution of a task.
|
||||
- Error: Major problems found during execution of a task that prevent it from being completed.
|
||||
- Critical: Major problems during execution that threathen the stability of the entire application. (This severity cannot be filtered out.)
|
||||
|
||||
**Note: Trace is permanently filtered out in non-Debug builds for performance reasons.**
|
||||
|
||||
Class names can be discovered from the log messages themselves. For example, this message is in the class Service:
|
||||
|
||||
``[ 10.285042] Service core/hle/service/service.h:Service::Interface::SyncRequest:84: unknown/unimplemented function '0x01020000': port=APT:U``
|
||||
|
||||
[A complete list can be found in the source](https://github.com/yuzu-emu/yuzu/blob/a39760b9471283c2d856075b382444e961d78390/src/common/logging/filter.cpp#L65)
|
||||
|
||||
To configure the log filter, you need to change the configuration in:
|
||||
|
||||
Emulation -> Configure... -> General -> Debug tab. Change the Global Log Filter setting.
|
||||
|
||||
The filter string consists of a space-separated list of filter rules, each of the format:
|
||||
|
||||
- `Class.Subclass:Severity` -- a log class name, with subclasses separated using periods.
|
||||
- `*:Severity` -- wildcards are allowed and can be used to apply a rule to all classes.
|
||||
|
||||
A severity level name which will be set as the minimum logging level of the matched classes. Rules are applied left to right, with later rules overriding previous ones in the sequence.
|
||||
|
||||
A few examples of filter rules:
|
||||
- `*:Info` -- Resets the level of all classes to Info.
|
||||
- `Service:Info` -- Sets the level of Service to Info (without affecting its subclasses).
|
||||
- `Service.FS:Trace` -- Sets the level of the Service.FS class to Trace.
|
||||
|
||||
## Support
|
||||
We happily accept monetary donations or donated games and hardware. Please see our [donations page](https://yuzu-emu.org/donate/) for more information on how you can contribute to yuzu. Any donations received will go towards things like:
|
||||
* Switch consoles to explore and reverse-engineer the hardware
|
||||
* Switch games for testing, reverse-engineering, and implementing new features
|
||||
* Web hosting and infrastructure setup
|
||||
* Software licenses (e.g. Visual Studio, IDA Pro, etc.)
|
||||
* Additional hardware (e.g. GPUs as-needed to improve rendering support, other peripherals to add support for, etc.)
|
||||
|
||||
We also more than gladly accept used Switch consoles, preferably ones with firmware 3.0.0 or lower! If you would like to give yours away, don't hesitate to join our [Discord](https://discord.gg/u77vRWY) and talk to bunnei. You may also contact: [donations@yuzu-emu.org](mailto:donations@yuzu-emu.org).
|
20
How-to-Install-and-Use-Game-Updates.md
Normal file
20
How-to-Install-and-Use-Game-Updates.md
Normal file
@ -0,0 +1,20 @@
|
||||
## How to Install Updates
|
||||
|
||||
- If you have an update in NCA format, click `File`, then `Install file to NAND...`, select your update NCA, and then in the drop down box select `Game Update`. If you get an error, double check you encryption keys and dump.
|
||||
- If you have updates installed on your NAND or SD card, you can copy the entire NAND into `%YUZU_DIR%/nand/user` or the entire sd card to `%YUZU_DIR%/sdmc`.
|
||||
- If your update is in NSP format, use the File > Install File method described above for NCA, except the `Game Update` menu won't show (yuzu can infer it from the NSP metadata)
|
||||
|
||||
## Using Updates
|
||||
|
||||
- If your update was installed successfully, next to all games that match the title ID of the update, a message will show in the add-ons column of the gamelist.
|
||||
- If you installed just an update NCA, it will probably only say `Update`.
|
||||
- If you copied your NAND or SD or used an NSP update, it will probably say `Update vX.Y.Z` where X, Y, and Z are numbers. Don't be alarmed if the numbers don't match what the game says the version is, the version in the game list is the version as determined by Nintendo's servers, the one in game is independent.
|
||||
- Updates do *not* apply to deconstructed ROM directories (folder with `main`, `main.npdm`, `game.romfs`, etc). This is because the romfs cannot be guaranteed to be the base game, and patching anything else will result in strange bugs and crashes. If you can guarantee that your romfs is the base game, skip to the [Repacking to NSP](#repacking-to-nsp) section to force yuzu to patch it.
|
||||
|
||||
## Repacking to NSP
|
||||
|
||||
- If you only have games in directory format, and re dumping is not an option (it's much easier/safer), and you can guarantee that the romfs hasn't been updated or modified in any way, then you can trick yuzu into patching it. First download this [python script](https://github.com/CVFireDragon/nspBuild/releases/latest). You will need Python to execute it. Then copy it to the romfs directory and execute the following in command prompt: `python nspBuild.py out.nsp ...` where ... are the names of all the game files in the dir (`main`, `main.npdm`, `sdk`, `rtld`, `subsdk*`, and `game.romfs`). Then `out.nsp` will contain your packed games and updates will apply to it.
|
||||
|
||||
## Adding a Version Number to NCA Updates
|
||||
**WARNING: For advanced users only**
|
||||
- Go to `%YUZU_DIR%/nand/user/yuzu_meta`. Find the file called `Patch_<>.cnmt` where <> is the title ID of the update. Open this file in a hex editor. Edit the four bytes starting at offset 0x8 to the version you want. This is a LE u32 value. To remove this custom version, make the value 0.
|
1
Open-Source-Page-for-testers.md
Normal file
1
Open-Source-Page-for-testers.md
Normal file
@ -0,0 +1 @@
|
||||
Please work on this page!
|
15
Overview-of-Switch-Game-Formats.md
Normal file
15
Overview-of-Switch-Game-Formats.md
Normal file
@ -0,0 +1,15 @@
|
||||
In Short:
|
||||
**Use XCIs for gamecards, NSPs for anything else. You need encryption keys which you can [dump with our guide](https://github.com/yuzu-emu/yuzu/wiki/Dumping-Decryption-Keys-from-a-Switch-Console)**
|
||||
|
||||
### Short Descriptions of Yuzu-supported Formats
|
||||
- XCI: Represents a dump of a game cartridge. Contains icons, metadata, and a switch game. Sometimes contains updates to the game as well. *Used For:* Dumps of Gamecards you own
|
||||
- NSP: Contains all of the files and data needed to display icons, a title and a game.
|
||||
*Used For*: Dumps of SD and NAND games, Updates
|
||||
- NCA: A raw format that can contain a multitude of things (most similar to a ZIP file on your computer)
|
||||
*Used For*: System Archives
|
||||
- Deconstructed Rom Directory: An NCA that has been expanded into its component parts.
|
||||
*Used For*: Developers and Power Users with more advanced applications
|
||||
- NSO/NRO Homebrew: Cool and neat applications made unofficially by members of the community
|
||||
|
||||
### Here is an overall diagram of what each format contains:
|
||||

|
101
Recommended-GPU-Drivers-for-Linux.md
Normal file
101
Recommended-GPU-Drivers-for-Linux.md
Normal file
@ -0,0 +1,101 @@
|
||||
## Intel
|
||||
|
||||
For recent versions of distros such as Ubuntu 20.04 and Fedora 32, the default installed version of Mesa provided by the distro is recommended, running the Iris driver and ANV for Vulkan. For older versions such as Ubuntu 18.04, Linux Mint 19.3, Debian Buster, RHEL 8, and others, users are likely to run in to some issues (issues that have yet to be reported for yuzu specifically, but be advised). For now as a cautionary measure, here are some recommendations:
|
||||
|
||||
- Ubuntu 20.04, 20.10, Linux Mint 20, Debian Bullseye: The stable version of Mesa is recommended.
|
||||
- Optionally, users can install Kisak's Mesa PPAs (see below).
|
||||
- Ubuntu 18.04, Linux Mint 19: Install [Kisak's Mesa Fresh PPA](https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa):
|
||||
- Debian Buster users can try this, but there's been no investigation to confirm that this works well on the distribution. Install the PPA at your own risk.
|
||||
- **Don't forget to use HWE X and kernel or equivalent** [[source](https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa)] [[link](https://wiki.ubuntu.com/Kernel/LTSEnablementStack)].
|
||||
|
||||
```
|
||||
sudo add-apt-repository ppa:kisak/kisak-mesa
|
||||
sudo apt-get update
|
||||
sudo apt-get dist-upgrade
|
||||
```
|
||||
|
||||
- Fedora 32, 33, Rawhide: The stable version of Mesa is recommended.
|
||||
- Optionally, users can install the [AMD](#amd) recommendation for Fedora 32.
|
||||
- RHEL 8 and equivalent: No confirmed solution. Users can try manually building Mesa, installing it to an alternate root location, and setting the variables `LD_LIBRARY_PATH` and `LIBGL_DRIVERS_PATH` appropriately, but this has not been confirmed to work.
|
||||
- Arch Linux and Manjaro: The default version of Mesa is recommended. For Vulkan, install `vulkan-intel`.
|
||||
- (Optional) Enable [mesa-git](https://wiki.archlinux.org/index.php/Unofficial_user_repositories#mesa-git) unofficial repository your machine, then install `mesa-git` and `vulkan-intel-git`.
|
||||
- Users who have not setup multilib can safely skip 32-bit packages.
|
||||
- Don't forget to add `SigLevel = PackageOptional` when you enable the `mesa-git` repository.
|
||||
|
||||
## NVIDIA
|
||||
|
||||
The latest available proprietary NVIDIA blob in the package manager is recommended. Drivers older than the 450 series may not be compatible with Linux 5.8 and above. Aside from this, users should expect a similar yuzu experience to that found on Windows, as the drivers are nearly identical.
|
||||
|
||||
- Ubuntu and Linux Mint: Install the latest available NVIDIA driver:
|
||||
- Mint 20, Ubuntu 18.04 and Ubuntu 20.04 should use `nvidia-driver-440` for now until the newer drivers are compatible with the older kernel versions.
|
||||
- Ubuntu 20.10 and later can use `nvidia-driver-450`.
|
||||
- Debian: See the [their wiki page](https://wiki.debian.org/NvidiaGraphicsDrivers) to install the most recent NVIDIA driver available for your graphics card.
|
||||
- Fedora, RHEL and equivalent like CentOS: Enable [RPM Fusion](https://rpmfusion.org/Configuration) (at least **nonfree**), update, then install `xorg-x11-drv-nvidia`
|
||||
- RPM Fusion free is needed to install FFmpeg libraries for yuzu, so both will need to be enabled anyway.
|
||||
- Arch Linux: Depending on your needs, install either `nvidia` or `nvidia-dkms` in pacman
|
||||
- Manjaro: Use Manjaro Settings Manager -> Hardware Configuration -> Auto Install Proprietary Driver
|
||||
|
||||
## AMD
|
||||
|
||||
Mesa compiled with at least LLVM 11 is recommended to use RadeonSI. yuzu's OpenGL shader decompiler generates shaders that are often incompatible with Mesa based on LLVM 10, resulting in frequent unrecoverable driver crashes. Using a version of Mesa built on LLVM 11 or later can circumvent most of this, but for games that already cause yuzu to generate invalid shaders (e.g. Fire Emblem: Three Houses), crashes will still occur.
|
||||
|
||||
The recommended Vulkan driver is Mesa's RADV driver on either LLVM or ACO (the installed version's default is recommended). [AMDVLK](https://github.com/GPUOpen-Drivers/AMDVLK) also works okay in most scenarios, but can be a bit slower and has notable bugs in some games like Super Smash Bros. Ultimate. These drivers can be installed simultaneously and selected in yuzu at runtime, so the user can compare the two if they wish.
|
||||
|
||||
- Ubuntu 20.10 and later, Debian Bullseye: The stable version of Mesa is recommended.
|
||||
- Update the machine if it has not been recently: the LLVM version has updated to 11 and is now sufficient to run yuzu.
|
||||
- Optionally, users can install Kisak's Mesa PPAs (see below).
|
||||
- Ubuntu 18.04 and 20.04, Linux Mint 19 and 20: Install [Kisak's Mesa Fresh PPA](https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa) (frequent builds of Mesa using LLVM 11)
|
||||
- Debian Buster users can try this, but there's been no investigation to confirm that this works well on the distribution. Install the PPA at your own risk.
|
||||
- **Don't forget to use HWE X and kernel or equivalent** [[source](https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa)] [[link](https://wiki.ubuntu.com/Kernel/LTSEnablementStack)].
|
||||
|
||||
```
|
||||
sudo add-apt-repository ppa:kisak/kisak-mesa
|
||||
sudo apt-get update
|
||||
sudo apt-get dist-upgrade
|
||||
```
|
||||
|
||||
- Fedora 33, Rawhide: The stable version of Mesa is recommended.
|
||||
- Optionally, users can install the following recommendation for Fedora 32.
|
||||
- Fedora 32: Enable and install [Che's Mesa COPR](https://copr.fedorainfracloud.org/coprs/che/mesa/) (daily builds of Mesa git using LLVM 12):
|
||||
|
||||
```
|
||||
sudo dnf copr enable che/llvm
|
||||
sudo dnf copr enable che/mesa
|
||||
sudo dnf update
|
||||
```
|
||||
|
||||
- RHEL 8 and equivalent: No confirmed solution. Users can try manually building Mesa and LLVM 11, installing them to an alternate root location, and setting the variables `LD_LIBRARY_PATH` and `LIBGL_DRIVERS_PATH` appropriately, but this has not been confirmed to work.
|
||||
- Arch Linux and Manjaro: The stable version of Mesa is recommended. For Vulkan, install `vulkan-radeon`.
|
||||
- Update the machine if it has not been recently: the LLVM version has updated to 11 and is now sufficient to run yuzu.
|
||||
- (Optional) Enable [mesa-git](https://wiki.archlinux.org/index.php/Unofficial_user_repositories#mesa-git) unofficial repository, then install `mesa-git` and `vulkan-radeon-git` (frequent builds of Mesa git using LLVM 12).
|
||||
- Users who have not setup multilib can safely skip 32-bit packages.
|
||||
- Don't forget to add `SigLevel = PackageOptional` when you enable the `mesa-git` repository.
|
||||
|
||||
## Environment Variables
|
||||
|
||||
Some environment variables are needed to fix certain graphical issues in yuzu or increase performance. A variable can be used simply by pre-pending the command with the needed variables. For example, to play Kirby on AMD:
|
||||
|
||||
```
|
||||
force_integer_tex_nearest=true ./yuzu
|
||||
```
|
||||
|
||||
### NVIDIA
|
||||
|
||||
- `__GL_THREADED_OPTIMIZATIONS=1` can net additional performance.
|
||||
|
||||
### AMD
|
||||
|
||||
- `force_integer_tex_nearest=true` fixes black textures in Kirby Fighters 2 and Kirby Star Allies.
|
||||
- `AMD_DEBUG=nohyperz` fixes black textures in The Legend of Zelda: Breath of the Wild and both Xenoblade Chronicles games for GCN ≥ 4.0 GPUs.
|
||||
- `mesa_glthread=true` can net additional performance, but only if the executable is not named `yuzu`. Otherwise, this variable already defaults to `true` for executables named `yuzu`, so it may not be necessary.
|
||||
|
||||
## Notes
|
||||
|
||||
- Mesa supports OpenGL 4.6 for Intel Gen 8 GPUs (Broadwell, Gen 5 CPUs) when using the (now default) Iris driver. yuzu will not work with the older i965 driver.
|
||||
- Users looking to build Mesa on Arch Linux themselves can follow the [old guide](https://github.com/yuzu-emu/yuzu/wiki/%5BDeprecated%5D-Building-Mesa-on-Arch-Linux).
|
||||
|
||||
## Pitfalls
|
||||
|
||||
- Using nouveau (Mesa) with NVIDIA is not recommended. Since the [Texture Cache Rewrite](https://github.com/yuzu-emu/yuzu/pull/4967) was merged, games have been booting on nouveau. However, almost all games, especially those that require 3D rendering, have some sort of issues.
|
||||
- Do not use AMDGPU-PRO. :)
|
||||
- AMDGPU-PRO is fine to use for most of its features (OpenCL, AMF, Vulkan to some extent), but it is *strongly* recommended not to install its libGL component.
|
70
Service-Function-Usage.md
Normal file
70
Service-Function-Usage.md
Normal file
@ -0,0 +1,70 @@
|
||||
As a means to help with testing and verifying, this page serves to list a handful of games that use the various services provided by the Switch OS. When adding to the list make sure to alphabetize the entry being added. Also please add where the service is used, so it's easier know where to go once the game is booted. For example, if `SomeRandomFunction` is used in a certain menu, indicate what menu in particular it is.
|
||||
|
||||
# Services
|
||||
|
||||
## acc
|
||||
|
||||
#### GetUserCount
|
||||
|
||||
- Pokken Tournament DX
|
||||
|
||||
### IProfile
|
||||
|
||||
#### LoadImage
|
||||
|
||||
- Nintendo Labo Toycon
|
||||
|
||||
## am
|
||||
|
||||
#### SetScreenShotImageOrientation
|
||||
|
||||
- Super Mario Odyssey
|
||||
|
||||
### IApplicationFunctions
|
||||
|
||||
#### GetSaveDataSize
|
||||
|
||||
- Skyrim
|
||||
|
||||
### ICommonStateGetter
|
||||
|
||||
#### GetBootMode
|
||||
|
||||
- Taiko no Tatsujin
|
||||
|
||||
#### GetDefaultDisplayResolutionChangeEvent
|
||||
|
||||
- Toki Tori
|
||||
- Toki Tori 2
|
||||
|
||||
### ISelfController
|
||||
|
||||
#### GetIdleTimeDetectionExtension
|
||||
|
||||
- Mario Tennis Aces
|
||||
|
||||
#### SetIdleTimeDetectionExtension
|
||||
|
||||
- Mario Tennis Aces
|
||||
|
||||
## friend
|
||||
|
||||
### IFriendService
|
||||
|
||||
#### UpdateUserPresence
|
||||
|
||||
- Retro City Rampage (needed to go in-game)
|
||||
|
||||
## hid
|
||||
|
||||
#### DisconnectNpad
|
||||
|
||||
- ARMS (required to go in-game)
|
||||
|
||||
## pctl
|
||||
|
||||
### IParentalControlService
|
||||
|
||||
#### CheckFreeCommunicationPermission
|
||||
|
||||
- Required for save files to load properly in Splatoon 2
|
6
Switch-Hardware-and-Software.md
Normal file
6
Switch-Hardware-and-Software.md
Normal file
@ -0,0 +1,6 @@
|
||||
A very incomplete overview of useful information to get started with Switch development. Please add anything that's missing :)
|
||||
|
||||
### Switch Hardware/Software
|
||||
* [ReSwitched](https://discord.com/invite/ZdqEhed) an excellent resource and community for Switch homebrew and hacking.
|
||||
* [SwitchBrew](http://switchbrew.org/index.php?title=Main_Page) is probably the best resource for the Switch hardware/software internals.
|
||||
* [ARMv8-A Reference Manual](https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile) describes Switch's CPU architecture.
|
20
Switch-Homebrew.md
Normal file
20
Switch-Homebrew.md
Normal file
@ -0,0 +1,20 @@
|
||||
### Welcome to the fun and exciting world of Switch homebrew! Things here are brand new and highly technical, so we highly recommend that you don't proceed unless you'd like to get your hands dirty. If so, here are the best resources for getting started:
|
||||
* [LibTransistor](https://github.com/reswitched/libtransistor), the homebrew library from the [ReSwitched](https://discord.com/invite/ZdqEhed) team.
|
||||
* [LibNx](https://github.com/switchbrew/libnx), the homebrew library from the [SwitchBrew](http://switchbrew.org/index.php?title=Main_Page) team.
|
||||
|
||||
Available homebrew demos:
|
||||
|
||||
| Name | License | Notes | Source | Download |
|
||||
|---------------------- |------------ |--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |--------------------------------------------------------- |--------------------------------------------------------------------------------------------------------------------------- |
|
||||
| EasyRPG | GPL-3.0 | RPG Maker 2000/2003 game interpreter. Uses LibNX | https://github.com/EasyRPG/Player | [Download](https://ci.easyrpg.org/job/player-switch/lastSuccessfulBuild/artifact/builds/switch/easyrpg-player-switch.zip) |
|
||||
| FCEUmm | GPL-2.0 | An NES emulator for RetroArch. ROMs need to be provided separately. Uses LibTransistor | https://github.com/libretro/libretro-fceumm | [Download](https://gbatemp.net/attachments/retroarch_switch_nes-zip.115761/) |
|
||||
| Kgdoom | MIT | Homebrew DOOM port for the Switch. Doesn't work because of unimplemented BSD services | https://github.com/kgsws/kgdoom | [Download](https://github.com/kgsws/kgdoom/raw/master/temp/kgdoom/kgdoom.nro) |
|
||||
| mGBA | MPL-2.0 | GameBoy Advanced emulator. Versions after 0.8.4 do not work. UI does not render.<br> OpenGL renderer does not work. Software renderer can play games at full speed. | https://github.com/mgba-emu/mgba | [Download](https://github.com/mgba-emu/mgba/releases/tag/0.8.4) |
|
||||
| Oxidgb | MIT | No controls, no audio. Contains https://github.com/svendahlstrand/10-print-game-boy/ | http://github.com/j-selby/oxidgb/tree/libtransistor | [Download](https://github.com/j-selby/oxidgb/releases/latest) |
|
||||
| pFBN | Unlicensed | Portable Final Burn Neo, a watered-down version of MAME. Uses LibNX | https://github.com/Cpasjuste/pemu/tree/master/pfba | [Download](https://github.com/Cpasjuste/pemu/releases/download/v4.4/pfba-4.4_vita.zip) |
|
||||
| Pixel Paint | MIT | A pixel paint application with 7 colors to choose from. Uses LibNX | https://github.com/16BitWonder/Pixel-Painter-Switch | [Download](https://github.com/16BitWonder/Pixel-Painter-Switch/releases/latest) |
|
||||
| Push A NX | Unlicensed | Push the A button as fast as you can! Uses LibNX | https://github.com/Maschell/PushA_NX | [Download](https://github.com/Maschell/PushA_NX/blob/master/hello.nro) |
|
||||
| Snes9x-2010 | Unlicensed | An SNES emulator for RetroArch. ROMs need to be provided separately. Uses LibTransistor | https://github.com/libretro/snes9x2010 | [Download](https://gbatemp.net/attachments/retroarch_switch-nro-zip.115733/) |
|
||||
| Spacenx | MIT | A port of Space Game, a Wii U homebrew. Download the `NRO` file. | https://github.com/vgmoose/spacenx | [Download](https://github.com/vgmoose/spacenx/releases/latest) |
|
||||
| Tic Tac Toe | Unlicensed | A simple tic-tac-toe game. Uses LibNX | https://sh3rlock.ch/ttt.zip | [Download](https://sh3rlock.ch/ttt.nro) |
|
||||
| Ultimate Mod Manager | MIT | A Switch homebrew application for installing mods for Smash Ultimate. | https://github.com/ultimate-research/UltimateModManager | [Download](https://github.com/ultimate-research/UltimateModManager/releases/latest) |
|
351
Switch-Mods.md
Normal file
351
Switch-Mods.md
Normal file
@ -0,0 +1,351 @@
|
||||
### **Usage**
|
||||
For info on how to use mods, refer to the [Game Modding page](https://yuzu-emu.org/help/feature/game-modding/).
|
||||
|
||||
If you're looking for an automated process to install these mods, you can try the [Yuzu Mod Downloader](https://github.com/amakvana/YuzuModDownloader/releases/latest) by [amakvana.](https://github.com/amakvana)
|
||||
> **DISCLAIMER:** This is not an official mod downloader from yuzu team, so we cannot guarantee support for it in our Discord server or support forums. For any issues with this program, contact its developer through the [mod downloader's GitHub repository.](https://github.com/amakvana/YuzuModDownloader)
|
||||
|
||||
---
|
||||
|
||||
### Animal Crossing: New Horizons
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [32:9 Super Ultrawide](https://github.com/victoria4dx/switch-mods/raw/main/Animal%20Crossing:%20New%20Horizons/2.0.5/01006F8002326000/32.9%20Super%20Ultrawide.zip) | Makes the game render with a Hor+ 32:9 aspect ratio for Super Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `2.0.5` | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Claude von Riegan
|
||||
| [21:9 Ultrawide](https://github.com/victoria4dx/switch-mods/raw/main/Animal%20Crossing:%20New%20Horizons/2.0.5/01006F8002326000/21.9%20Ultrawide.zip) | Makes the game render with a Hor+ 21:9 aspect ratio for Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. Now updated for the latest patch. | `2.0.5` | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Claude von Riegan
|
||||
| [16:10 Aspect Ratio](https://github.com/victoria4dx/switch-mods/blob/main/Animal%20Crossing:%20New%20Horizons/2.0.5/01006F8002326000/16.10%20Aspect%20Ratio.zip) | Makes the game render with a 16:10 aspect ratio. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `2.0.5` | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Claude von Riegan
|
||||
|
||||
#
|
||||
|
||||
### Captain Toad: Treasure Tracker
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [32:9 Super Ultrawide](https://github.com/victoria4dx/switch-mods/raw/main/Captain%20Toad:%20Treasure%20Tracker/1.3.0/01009BF0072D4000/32.9%20Super%20Ultrawide.zip) | Makes the game render with a Hor+ 32:9 aspect ratio for Super Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.3.0` | [victoria4dx](https://github.com/victoria4dx/switch-mods)
|
||||
| [21:9 Ultrawide](https://github.com/victoria4dx/switch-mods/raw/main/Captain%20Toad:%20Treasure%20Tracker/1.3.0/01009BF0072D4000/21.9%20Ultrawide.zip) | Makes the game render with a Hor+ 21:9 aspect ratio for Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.3.0` | [victoria4dx](https://github.com/victoria4dx/switch-mods)
|
||||
| [4:3 Aspect Ratio](https://github.com/victoria4dx/switch-mods/raw/main/Captain%20Toad:%20Treasure%20Tracker/1.3.0/01009BF0072D4000/4.3%20Aspect%20Ratio.zip) | Makes the game render with a 4:3 aspect ratio for CRT displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.3.0` | [victoria4dx](https://github.com/victoria4dx/switch-mods)
|
||||
| [Disable DOF](https://cdn.discordapp.com/attachments/356187763139280896/726756195192537128/Disable_DOF.zip) | Disabled in-game Depth of field | `1.0.0` `1.3.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Claude von Riegan
|
||||
| [Disable Screen Cursor Icon](https://cdn.discordapp.com/attachments/356187763139280896/726756199281852506/Disable_On_Screen_Cursor.zip) | Disabled the on screen interaction cursor icon | `1.0.0` `1.3.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Claude von Riegan
|
||||
| [Force Max Resolution](https://cdn.discordapp.com/attachments/356187763139280896/726756203224367114/Force_Max_Resolution.zip) | Forces the game to always run at 1920x1080 | `1.0.0` `1.3.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Claude von Riegan
|
||||
|
||||
#
|
||||
|
||||
### Crash Bandicoot N. Sane Trilogy
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [60 FPS](https://github.com/yuzuMods/yuzuMods/raw/master/mods/crash-bandicoot-n-sane-trilogy/60FPS.zip) | Makes the game run full speed at 60 FPS | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [1920x1080](https://github.com/yuzuMods/yuzuMods/raw/master/mods/crash-bandicoot-n-sane-trilogy/1920x1080.zip) | Makes the Game run at 1080p Resolution | `1.0.0` | zakaria
|
||||
|
||||
#
|
||||
|
||||
### Crash Team Racing: Nitro-Fueled
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [60 FPS](https://cdn.discordapp.com/attachments/207547103726010368/704783542638608394/CTRNF_60fps.zip) | Makes the game run full speed at 60 FPS | `1.0.7` `1.0.9` `1.0.10` `1.0.11` `1.0.12` `1.0.13` `1.0.14` `1.0.15` | Kirby567fan, masagrator, Mauste
|
||||
| [Unlock Everything](https://cdn.discordapp.com/attachments/495758692495523854/902304724555014184/CTRNF_UnlockEverything.zip) | Unlocks all unlockables and Pit Stop items | `1.0.15` | DaBlackDeath, iCeParadox64
|
||||
|
||||
#
|
||||
|
||||
### Donkey Kong Country: Tropical Freeze
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [32:9 Super Ultrawide](https://github.com/victoria4dx/switch-mods/raw/main/Donkey%20Kong:%20Tropical%20Freeze/1.0.2/0100C1F0051B6000/32.9%20Super%20Ultrawide.zip) | Makes the game render with a Hor+ 32:9 aspect ratio for Super Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | 1.0.2 | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [21:9 Ultrawide](https://github.com/victoria4dx/switch-mods/raw/main/Donkey%20Kong:%20Tropical%20Freeze/1.0.2/0100C1F0051B6000/21.9%20Ultrawide.zip) | Makes the game render with a Hor+ 21:9 aspect ratio for Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | 1.0.2 | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [4K Resolution](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Donkey%20Kong%20Country:%20Tropical%20Freeze/%5B0100C1F0051B6000%5D/1.0.0/4K-2K.rar) | Makes the game render at 2160p resolution | 1.0.0 | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
|
||||
#
|
||||
|
||||
### Fire Emblem: Three Houses
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
|[60 FPS](https://cdn.discordapp.com/attachments/495758692495523854/762098744396218398/60_FPS.zip) | Makes the game run full speed at 60 FPS | `1.0.2` `1.1.0` `1.1.1` `1.2.0` | masagrator |
|
||||
| [Outline Removal](https://cdn.discordapp.com/attachments/495758692495523854/762098417349951518/Outline_Removal.zip) | Remove outline of character model | `1.0.2` `1.1.0` `1.1.1` `1.2.0` | MegaMagikarp
|
||||
|
||||
|
||||
#
|
||||
|
||||
### Good Job!
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [60 FPS](https://cdn.discordapp.com/attachments/700604958126374953/776863923126140999/SPOILER_GoodJob60FPS.zip) | Makes the game run full speed at 60 FPS | `1.0.0` | Kirby567fan
|
||||
|
||||
#
|
||||
|
||||
### Kirby: Star Allies
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [60 FPS](https://cdn.discordapp.com/attachments/356187763139280896/868554634510356510/60FPS.zip) | Makes the game run full speed at 60 FPS | `4.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
|
||||
#
|
||||
|
||||
### Kirby and the Forgotten Land
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [32:9 Aspect Ratio](https://github.com/victoria4dx/switch-mods/raw/main/Kirby%20and%20the%20Forgotten%20Land/01004D300C5AE000/1.0.0/32.9%20Super%20Ultrawide.zip) | Makes the game render with a Hor+ 32:9 aspect ratio for Super Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.0.0` | victoria4dx, [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [21:9 Aspect Ratio](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Kirby%20and%20the%20Forgotten%20Land/%5B01004D300C5AE000%5D/1.0.0/21.9.rar) | Makes the game render with a Hor+ 21:9 aspect ratio for Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Disable Dynamic Resolution](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Kirby%20and%20the%20Forgotten%20Land/%5B01004D300C5AE000%5D/1.0.0/Disable%20Dynamic%20Resolution.rar) | Disables dynamic resolution swapping. Helps to reduce stutters caused by dynamic resolution changes | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [60 FPS](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Kirby%20and%20the%20Forgotten%20Land/%5B01004D300C5AE000%5D/1.0.0/60fps.rar) | Makes the game run full speed dynamic 60 FPS | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Full 60 FPS](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Kirby%20and%20the%20Forgotten%20Land/%5B01004D300C5AE000%5D/1.0.0/60fps%20-%20%20Full.rar) | Makes the game run full speed dynamic 60 FPS, including distant NPC animations (Very demanding on CPU/GPU) | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Full 30 FPS](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Kirby%20and%20the%20Forgotten%20Land/%5B01004D300C5AE000%5D/1.0.0/30fps%20-%20%20Full.rar) | Makes the game run full speed 30 FPS, including distant 30 FPS NPC animations (NPC animations are normally 15 FPS) | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
|
||||
### Luigi's Mansion 3
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [32:9 Super Ultrawide](https://github.com/victoria4dx/switch-mods/raw/main/Luigi's%20Mansion%203/1.4.0/0100DCA0064A6000/32.9%20Super%20Ultrawide.zip) | Makes the game render with a Hor+ 32:9 aspect ratio for Super Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.4.0` | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [21:9 Ultrawide](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Luigi's%20Mansion%203/%5B0100DCA0064A6000%5D/1.4.0/21.9.rar) | Makes the game render with a Hor+ 21:9 aspect ratio for Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.4.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [120 FPS](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Luigi's%20Mansion%203/%5B0100DCA0064A6000%5D/1.4.0/120FPS%20-%201.4.0.rar) | Unlocks framerate to 120 FPS. | `1.4.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [60 FPS](https://cdn.discordapp.com/attachments/356187763139280896/957353725419200612/60_FPS.zip) | Unlocks framerate to 60 FPS. | `1.0.0` `1.4.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Disable Dynamic Resolution](https://cdn.discordapp.com/attachments/356187763139280896/957353725574393916/Disable-Dynamic-Resolution.zip) | Disables the game's automatic adjustment of resolution. Required for playing this title | `1.0.0` `1.4.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Disable Lens Flare](https://cdn.discordapp.com/attachments/356187763139280896/957353725800874055/Disable-Lens-Flare.zip) | Disables the game's Flashlight Lens Flare. A workaround for it flickering on the Vulkan API | `1.0.0` `1.4.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
|
||||
#
|
||||
|
||||
### Mario Kart 8 Deluxe
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [32:9 Super Ultrawide](https://github.com/victoria4dx/switch-mods/raw/main/Mario%20Kart%208%20Deluxe/2.0.0/0100152000022000/32.9%20Super%20Ultrawide.zip) | Makes the game render with a Hor+ 32:9 aspect ratio for Super Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `2.0.0` | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [21:9 Ultrawide](https://github.com/victoria4dx/switch-mods/raw/main/Mario%20Kart%208%20Deluxe/2.0.0/0100152000022000/21.9%20Ultrawide.zip) | Makes the game render with a Hor+ 21:9 aspect ratio for Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `2.0.0` | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Force FXAA](https://cdn.discordapp.com/attachments/356187763139280896/798514364512469002/Force_FXAA_On.zip) | Forces the game to use FXAA | `1.7.1` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Improved LOD](https://cdn.discordapp.com/attachments/356187763139280896/798514275512614942/Level_of_Detail_Enhance.zip) | Increases the detail on far away textures | `1.7.1` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
|
||||
#
|
||||
|
||||
### Mario Strikers™: Battle League
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [No Intro/Credits bypass mod](https://github.com/piplup55/switch-mods-cheats/blob/master/Mario%20Strikers%20Battle%20League/cutscene%20skip.7z?raw=true ) | Bypasses the issue with game intro and credits video(s) by replacing it with a 'dummy' 1 second video file. | `1.0.0` | piplup55
|
||||
|
||||
#
|
||||
#
|
||||
|
||||
### Mario Tennis Aces
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [Disable Dynamic Resolution](https://cdn.discordapp.com/attachments/356187763139280896/798514729978560512/Disable_Dynamic_Resolution.zip) | Disables the game's automatic adjustment of resolution. | `1.0.0` `3.1.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [60 FPS](https://github.com/theboy181/switch-ptchtxt-mods/blob/main/Mario%20Tennis%20Aces/[0100BDE00862A000]/1.0.0/60fps.rar?raw=true) | Makes the game run full speed at 60 FPS. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
|
||||
#
|
||||
|
||||
### Metroid Dread
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [Disable Bloom](https://cdn.discordapp.com/attachments/495758692495523854/896240444097327114/Disable_Bloom.7z) | Disables Bloom effect. Might break other blur effects. | `1.0.0` | Edgarska
|
||||
| [Disable FXAA](https://cdn.discordapp.com/attachments/495758692495523854/896240412107345960/Disable_FXAA.7z) | Disables the anti-aliasing of the game. | `1.0.0` | Edgarska
|
||||
|
||||
#
|
||||
|
||||
### Monster Hunter Generations Ultimate
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [60FPS](https://cdn.discordapp.com/attachments/636594095913041934/729257856523829258/60FPS_mod.rar) | Changes target frame-rate from 30fps to 60fps. | `1.4.0` | masagrator
|
||||
| [4K Resolution](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/MONSTER%20HUNTER%20GENERATIONS%20ULTIMATE/%5B0100770008DD8000%5D/1.4.0/4K-2K.rar) | Renders the game at 4K Docked | `1.4.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [120 FPS](https://github.com/theboy181/switch-cheat-mods/raw/main/MONSTER%20HUNTER%20GENERATIONS%20ULTIMATE/%5B0100770008DD8000%5D/1.4.0/120fps-v1.4.0.rar) | Unlocks the framerate to run at 120 FPS | `1.4.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
|
||||
#
|
||||
|
||||
### No More Heroes 3
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [60 FPS](https://cdn.discordapp.com/attachments/495758692495523854/960702857932333116/NMH3_60FPS.zip) | Unlocks the framerate to run at 60 FPS during gameplay, the open world, and cutscenes. | `1.0.2` | Kirby567Fan
|
||||
| [240 FPS (Unlocked FPS)](https://cdn.discordapp.com/attachments/495758692495523854/960702830656778280/NMH3_240FPS.zip) | Unlocks the framerate to run at 240 FPS during gameplay, the open world, and cutscenes. Essentially unlocked fps.| `1.0.2` | Kirby567Fan
|
||||
| [720p Graphics Mod With Normal Open World Distance](https://download1482.mediafire.com/pni4h35rfgmg/96tos0e09gpmgpb/720p_NormalOpenWorldDistance.zip) | 720p resolution and increased graphical quality. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [720p+MB Graphics Mod With Normal Open World Distance](https://download851.mediafire.com/uspr3g2k7jbg/34h0qw31eyvhqr9/720p%2BMB_NormalOpenWorldDistance.zip) | 720p resolution and increased graphical quality with added motion blur. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [720p Graphics Mod With High Open World Distance](https://download1644.mediafire.com/3ovn7wkubnig/is98bpzlqcq43p1/720p_HighOpenWorldDistance.zip) | 720p resolution and increased graphical quality with farther open world draw distance. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [720p+MB Graphics Mod With High Open World Distance](https://download1511.mediafire.com/5x6hz4pnfuhg/ytc9zuqrh9lhie9/720p%2BMB_HighOpenWorldDistance.zip) | 720p resolution and graphical quality with farther open world draw distance and added motion blur. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [1080p Graphics Mod With Normal Open World Distance](https://download1474.mediafire.com/vq641o150b0g/5eydn1a4uodx4qb/1080p_NormalOpenWorldDistance.zip) | 1080p resolution and increased graphical quality. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [1080p+MB Graphics Mod With Normal Open World Distance](https://download1338.mediafire.com/9evjbu8hqiwg/3rsi56lm8e8l2un/1080p%2BMB_NormalOpenWorldDistance.zip) | 1080p resolution and increased graphical quality with added motion blur. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [1080p Graphics Mod With High Open World Distance](https://download1472.mediafire.com/d1glxht2h9fg/vmjbjmd7bpetimu/1080p_HighOpenWorldDistance.zip) | 1080p resolution and increased graphical quality with farther open world draw distance. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [1080p+MB Graphics Mod With High Open World Distance](https://download941.mediafire.com/fci1nhdmc1mg/hk5ttb50t64ltgc/1080p%2BMB_HighOpenWorldDistance.zip) | 1080p resolution and graphical quality with farther open world draw distance and added motion blur. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [1440p Graphics Mod With Normal Open World Distance](https://download1.mediafire.com/6l4tua90jjzg/56dkimjq1v5550s/1440p_NormalOpenWorldDistance.zip) | 1440p resolution and increased graphical quality. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [1440p+MB Graphics Mod With Normal Open World Distance](https://download1074.mediafire.com/lhtl9q81yckg/v3jg1mh86e88ua6/1440p%2BMB_NormalOpenWorldDistance.zip) | 1440p resolution and increased graphical quality with added motion blur. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [1440p Graphics Mod With High Open World Distance](https://download852.mediafire.com/k41nmt660ozg/y67ngddykt2z1ha/1440p_HighOpenWorldDistance.zip) | 1440p resolution and increased graphical quality with farther open world draw distance. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [1440p+MB Graphics Mod With High Open World Distance](https://download855.mediafire.com/ajj9bhkwsafg/gcmnoxwiwlb2cla/1440p%2BMB_HighOpenWorldDistance.zip) | 1440p resolution and graphical quality with farther open world draw distance and added motion blur. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [4K Graphics Mod With Normal Open World Distance](https://download1510.mediafire.com/fey90mfobieg/nsffkbm5jl5hm6k/4k_NormalOpenWorldDistance.zip) | 4K resolution and increased graphical quality. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [4K+MB Graphics Mod With Normal Open World Distance](https://download1640.mediafire.com/gqlev0b1p6ig/uuciwr58dcxykud/4k%2BMB_NormalOpenWorldDistance.zip) | 4K resolution and increased graphical quality with added motion blur. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [4K Graphics Mod With High Open World Distance](https://download1642.mediafire.com/3ztcm509tujg/9n8mqvp1lpi96ud/4k_HighOpenWorldDistance.zip) | 4K resolution and increased graphical quality with farther open world draw distance. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
| [4K+MB Graphics Mod With High Open World Distance](https://download943.mediafire.com/i9ufqttk9pyg/fj259mmjy1kqoth/4k%2BMB_HighOpenWorldDistance.zip) | 4K resolution and graphical quality with farther open world draw distance and added motion blur. [List of Improvements and Video Example](https://youtu.be/NeEmMi4Ado0) | `1.0.0` `1.0.1` `1.0.2` | NikkMann
|
||||
|
||||
#
|
||||
|
||||
### Paper Mario: The Origami King
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [60 FPS](https://cdn.discordapp.com/attachments/356187763139280896/798514934781706250/60FPS.zip) | Makes the game run full speed at 60 FPS. Please note that there are currently timing issues in mini-games/battles. The game *may* also soft lock when using this mod. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
|
||||
#
|
||||
### Pokemon Brilliant Diamond
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [True Pokemon Scale + Following Speed Fix](https://gamebanana.com/dl/704212) | Makes pokemon have their true size in battles/overworld, and adjusts their walking speed to be the same as the player.| `1.1.0` `1.1.1` `1.1.2` | Edgarska
|
||||
| [True Pokemon Scale Battle Camera Fix + Faster Battles](https://gamebanana.com/dl/704321) | Fixes most of the issues with large pokemon not fitting into the screen during battles when using true scale, includes Faster Battles because they're incompatible. | `1.1.0` `1.1.1` `1.1.2` | Edgarska
|
||||
| [Faster Battles](https://gamebanana.com/dl/703516) | Removes the delay between the text box appearing and a pokemon initiating an attack during battles. Use only if not using True Scale. | `1.1.0` `1.1.1` `1.1.2` | Edgarska
|
||||
| [No Depth of Field + No FXAA](https://gamebanana.com/dl/703136) | Removes Depth of Field and FXAA. Removing FXAA disables color grading. | `1.1.0` `1.1.1` `1.1.2` | Edgarska
|
||||
| [No Depth of Field](https://gamebanana.com/dl/703009) | Removes Depth of Field only | `1.1.0` `1.1.1` `1.1.2` | Edgarska
|
||||
| [Lowered Bloom](https://cdn.discordapp.com/attachments/495758692495523854/914796293161898004/Lowered_Bloom.7z) | Lowers bloom just enough to not make everything look blurry at night, while still having bloom for lights. | `1.1.0` `1.1.1` `1.1.2` | Edgarska
|
||||
| [Bike Anywhere + Lowered Bloom](https://gamebanana.com/dl/703023) | Use the bike anywhere and also includes Lowered Bloom since they are incompatible. | `1.1.0` `1.1.1` `1.1.2` | Edgarska
|
||||
| [Easier Underground Digging](https://gamebanana.com/dl/703012) | Makes cracks appear sooner, and makes existing cracks bigger so it's easier to see under them. | `1.1.0` `1.1.1` `1.1.2` | Edgarska
|
||||
|
||||
#
|
||||
|
||||
### Pokemon, Let's Go Eevee!
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [60 FPS](https://cdn.discordapp.com/attachments/356187763139280896/818409316264050688/60_FPS_Eevee.zip) | Runs the game at a 60 FPS cap. Will be double speed at 60 FPS | `1.0.0` `1.0.2` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), DuIslingr
|
||||
|
||||
#
|
||||
|
||||
### Pokemon, Let's Go Pikachu!
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [60 FPS](https://cdn.discordapp.com/attachments/356187763139280896/818409317891571772/60_FPS_Pikachu.zip) | Runs the game at a 60 FPS cap. Will be double speed at 60 FPS | `1.0.0` `1.0.2` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), DuIslingr
|
||||
|
||||
#
|
||||
|
||||
### Pokemon Sword (exeFS)
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [Force Max Resolution](https://cdn.discordapp.com/attachments/356187763139280896/849209813656928286/force-max-resolution-sword.zip) | Forces the game to always run at 1920x1080. | `1.0.0` `1.2.0` `1.2.1` `1.3.0` `1.3.1` `1.3.2`| [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Claude von Riegan, DuIslingr
|
||||
| [Remove Outlines](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Pok%C3%A9mon%20Sword/%5B0100ABF008968000%5D/1.3.2/Remove%20Outlines.rar) | Removes character outlines from the game (Useful for resolution scaling) |`1.3.2`| [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [60 FPS](https://cdn.discordapp.com/attachments/356187763139280896/849209808708042752/60-FPS-sword.zip) | Runs the game at a 60 FPS cap. Will be double speed at 60 FPS | `1.0.0` `1.2.0` `1.2.1` `1.3.0` `1.3.1` `1.3.2` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Claude von Riegan, DuIslingr
|
||||
| [Y Comm Wifi Fix](https://cdn.discordapp.com/attachments/356187763139280896/849209817809944596/Pokemon-Sword-Wifi-Fix.zip) | Stops an error message from popping up when you press the Y Comm button | `1.0.0` `1.2.0` `1.2.1` `1.3.0` `1.3.1` `1.3.2`| [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), DuIslingr, Claude von Riegan
|
||||
|
||||
#
|
||||
|
||||
### Pokemon Shield (exeFS)
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [Force Max Resolution](https://cdn.discordapp.com/attachments/356187763139280896/849209811420577832/Force_max_resolution_shield.zip) | Forces the game to always run at 1920x1080. | `1.0.0` `1.2.0` `1.2.1` `1.3.0` `1.3.1` `1.3.2`| [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Claude von Riegan, Morph, DuIslingr
|
||||
| [Remove Outlines](https://cdn.discordapp.com/attachments/893635908157464657/913905256725884989/Remove-Outlines-Shield.zip) | Removes character outlines from the game (Useful for resolution scaling) |`1.0.0` `1.3.2`| [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Norstyrm
|
||||
| [60 FPS](https://cdn.discordapp.com/attachments/356187763139280896/849209829469585408/60-FPS-shield.zip) | Runs the game at a 60 FPS cap. Will be double speed at 60 FPS | `1.0.0` `1.2.0` `1.2.1` `1.3.0` `1.3.1` `1.3.2`| [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Claude von Riegan, Morph, DuIslingr
|
||||
| [Y Comm Wifi Fix](https://cdn.discordapp.com/attachments/356187763139280896/849209815720001586/Pokemon-Shield-Wifi-Fix.zip) | Stops an error message from popping up when you press the Y Comm button | `1.0.0` `1.2.0` `1.2.1` `1.3.0` `1.3.1` `1.3.2`| [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), DuIslingr , Claude von Riegan
|
||||
|
||||
#
|
||||
|
||||
### Pokemon Sword/Shield (romFS)
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [ReTextured 1.6](https://bit.ly/3rKjhYz) | A HD Redesign of the game. Better textures, Texture Quality & Much Higher Detail in all areas. Now Supports all game Updates & DLC | `1.2.0` `1.2.1` `1.3.0` `1.3.1` `1.3.2`| BSoD Gaming
|
||||
| [ReTextured 1.6 Alternate Link](http://bit.ly/37VnVL3) | A HD Redesign of the game. Better textures, Texture Quality & Much Higher Detail in all areas. Now Supports all game Updates & DLC | `1.2.0` `1.2.1` `1.3.0` `1.3.1` `1.3.2`| BSoD Gaming
|
||||
|
||||
#
|
||||
|
||||
### Shin Megami Tensei V
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [Forced 1080p, 60 FPS, Increased LOD, Disabled Ambient Occlusion](https://cdn.discordapp.com/attachments/495758692495523854/910317406843461632/Config_SMTV_1080p.zip) | Varied config changes for SMTV, the main points of which being a forcibly increased resolution (works in cutscenes), 60 FPS, increased draw distance and disabled ambient occlusion (responsible for weird dithered-looking shadows). I recommend you do NOT use the emulator's built-in resolution scaler alongside this mod. | `1.0.0` `1.0.1` | TheHatedGravity
|
||||
| [2K Shadow Mod Collection](https://www.mediafire.com/file/f3dhlbob8gomv80/SMT_V_2k_Shadow_Collection.zip/file) | A collection including each of the SMT V mods listed below, but with added high res shadows. | `1.0.0` `1.0.1` | Sandvich_Hero, Pug O
|
||||
| [60 FPS](https://download1081.mediafire.com/pg9fmdvywobg/te5kdilu00yjs79/60+FPS.zip) | Increases the framerate to a 60 FPS cap. | `1.0.0` `1.0.1` | Sandvich_Hero, Pug O
|
||||
| [Improved LOD High + 60 FPS](https://download857.mediafire.com/axrpq4ksrheg/di6pjk6bklurlq0/60+FPS%2BImproved+LOD+High.zip) | Greatly increases the draw distance and applies a 60 FPS cap. | `1.0.0` `1.0.1` | Sandvich_Hero, Pug O
|
||||
| [Improved LOD High](https://download2266.mediafire.com/dqx7dsttmc6g/iugoagmn2tvaqcb/Improved_LOD_High.zip) | Greatly increases the draw distance With the Vanilla 30 FPS cap. | `1.0.0` `1.0.1` | Sandvich_Hero, Pug O
|
||||
| [Improved LOD Medium + 60 FPS](https://download1586.mediafire.com/d1rk1bc7ep0g/7kgiemhx9es5i0g/60+FPS%2BImproved+LOD+Medium.zip) | Mildly increases the draw distance and applies a 60 FPS cap, may improve performance over High LOD.| `1.0.0` `1.0.1` | Sandvich_Hero, Pug O
|
||||
| [Improved LOD Medium](https://download2279.mediafire.com/83lpdq2ggpgg/18m2b3j5r69xmk6/Improved+LOD+Medium.zip) | Mildly increases the draw distance with the Vanilla 30 FPS cap, may improve performance over High LOD.| `1.0.0` `1.0.1` | Sandvich_Hero, Pug O
|
||||
|
||||
#
|
||||
|
||||
### Sonic Mania
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [Dev Menu](https://github.com/yuzuMods/yuzuMods/raw/master/mods/sonic-mania/DevMenu.zip) | Allows you to access the game's dev menu by pressing the Minus button. | `1.00` `1.03` `1.04` | SuperSonic16
|
||||
|
||||
#
|
||||
|
||||
### Splatoon 2
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [Disable Dynamic Resolution](https://cdn.discordapp.com/attachments/356187763139280896/798515462069682186/Disable_Dynamic_Resolution.zip) | Disables the game's automatic adjustment of resolution. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [60 FPS](https://cdn.discordapp.com/attachments/495758692495523854/951969691696521296/60_Lobby.zip) | Makes Inkopolis Square and Octo Expansion credits run at 60fps instead of 30fps. | `1.0.0` `5.1.0` `5.2.2` `5.5.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Nimbo
|
||||
| [30 FPS](https://github.com/galax20002/Switch-mods/raw/main/30FPS.zip) | Makes the whole game run at 30fps instead of 60fps for low end PC's, May make the ingame Timer half of the speed in some levels from the Octo Expansion dlc | `5.4.0` `5.5.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), shadow, AndNowIsTheTime, Galax2000
|
||||
|
||||
|
||||
#
|
||||
|
||||
### Super Mario 3D World + Bowser's Fury
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [32:9 Super Ultrawide](https://github.com/victoria4dx/switch-mods/raw/main/Super%20Mario%203D%20World%20%2B%20Bowser's%20Fury/010028600EBDA000/1.0.0/32.9%20Super%20Ultrawide.zip) | Makes the game render with a Hor+ 32:9 aspect ratio for Super Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.0.0` | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [21:9 Ultrawide](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Super%20Mario%203D%20World%20%2B%20Bowser's%20Fury/010028600EBDA000/1.0.0/UltraWide%20-%20v2.rar) | Makes the game render with a Hor+ 21:9 aspect ratio for Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [60 FPS Handheld Mode](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Super%20Mario%203D%20World%20%2B%20Bowser's%20Fury/010028600EBDA000/1.0.0/60fps-Handheld%20-%20v9.rar) | Makes the game run at 60 FPS in handheld mode. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Big Head Mode](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Super%20Mario%203D%20World%20%2B%20Bowser's%20Fury/010028600EBDA000/1.0.0/BigHead.rar) | Big Head Mode. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Disable Bloom](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Super%20Mario%203D%20World%20%2B%20Bowser's%20Fury/010028600EBDA000/1.0.0/Disable-Bloom.rar) | Disables the bloom effect. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Disable Depth of Field](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Super%20Mario%203D%20World%20%2B%20Bowser's%20Fury/010028600EBDA000/1.0.0/Disable-DOF.rar) | Disables DoF effect. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Disable Dynamic Resolution](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Super%20Mario%203D%20World%20%2B%20Bowser's%20Fury/010028600EBDA000/1.0.0/Disable-Dynamic-Resolution%20-v2.rar) | Disables dynamic resolution, greatly improving image quality | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Disable FXAA](https://github.com/theboy181/switch-ptchtxt-mods/blob/main/Super%20Mario%203D%20World%20+%20Bowser's%20Fury/010028600EBDA000/1.0.0/Disable-FXAA-v2.rar?raw=true) | Disables FXAA | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Enable Filters](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Super%20Mario%203D%20World%20%2B%20Bowser's%20Fury/010028600EBDA000/1.0.0/Enable-Filters.rar) | Enable filters. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Force FXAA](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Super%20Mario%203D%20World%20%2B%20Bowser's%20Fury/010028600EBDA000/1.0.0/Force-FXAA.rar) | Forces FXAA on. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Parkour](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/Super%20Mario%203D%20World%20%2B%20Bowser's%20Fury/010028600EBDA000/1.0.0/Parkour.rar) | Parkour mode. This changes the game physics making wall climbing easier. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Max Quality Mode](https://github.com/theboy181/switch-cheat-mods/raw/main/Super%20Mario%203D%20World%20%2B%20Bowser's%20Fury/010028600EBDA000/1.0.0/Quality-Mode.rar) | Makes the game render at enhanced quality settings, may greatly affect performance | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
|
||||
#
|
||||
|
||||
### Super Mario Odyssey
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [32:9 Super Ultrawide](https://github.com/victoria4dx/switch-mods/raw/main/Super%20Mario%20Odyssey/1.3.0/0100000000010000/32.9%20Super%20Ultrawide.zip) | Makes the game render with a Hor+ 32:9 aspect ratio for Super Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.3.0` | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [21:9 Ultrawide](https://github.com/victoria4dx/switch-mods/raw/main/Super%20Mario%20Odyssey/1.3.0/0100000000010000/21.9%20Ultrawide.zip) | Makes the game render with a Hor+ 21:9 aspect ratio for Ultrawide displays. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.3.0` | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [16:10 Aspect Ratio](https://github.com/victoria4dx/switch-mods/raw/main/Super%20Mario%20Odyssey/1.3.0/0100000000010000/16.10%20Aspect%20Ratio.zip) | Makes the game render with a 16:10 aspect ratio. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.3.0` | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [4:3 Aspect Ratio](https://github.com/victoria4dx/switch-mods/raw/main/Super%20Mario%20Odyssey/1.3.0/0100000000010000/4.3%20Aspect%20Ratio.zip) | Makes the game render with a 4:3 aspect ratio. Enable 'Stretch to Window' in Yuzu's graphics settings for this to work properly. | `1.3.0` | [victoria4dx](https://github.com/victoria4dx/switch-mods), [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Clean UI](https://gamebanana.com/guis/download/34208) | Removes coins, moons, health, and a few other UI elements from the game. | `Any` | Eloeri
|
||||
| [Disable Deferred Shading](https://cdn.discordapp.com/attachments/512678820092968971/710314369333985310/Disable_Deferred_Shading.zip) | Disables deferred shading, fixing a shadow issue for AMD Navi GPUs running under the Vulkan backend. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Disable Dynamic Resolution](https://cdn.discordapp.com/attachments/430158879465144320/849710847746900017/Disable_Dynamic_Resolution.zip) | Disables the game's automatic adjustment of resolution. | `1.0.0` `1.3.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Disable FXAA](https://cdn.discordapp.com/attachments/430158879465144320/849710851162112070/Disable_FXAA.zip) | Disables the anti-aliasing of the game. Recommended if you are upscaling the game. | `1.0.0` `1.3.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Disable Camera Motion Blur](https://cdn.discordapp.com/attachments/356187763139280896/798516190602330172/Disable_Camera_Motion_Blur.zip) | Disables the blur that happens when the camera is moved. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Disable Web Applet](https://cdn.discordapp.com/attachments/512678820092968971/708744273801117726/SMO_Web_Applet_Bypass.7z) | Disables the Web Applet, fixing a crash when traveling from Cascade to Sand Kingdom for the first time. | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Screenshot Mode Graphics](https://mega.nz/file/zXRm3TgB#ks0vf90a9UmxqWSoL_ht7Rfz0EAZ8EWltPa14UU0TtQ) | Makes the game render at enhanced quality settings, may greatly affect performance | `1.0.0` `1.3.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Coins Don't Matter Cheat](https://cdn.discordapp.com/attachments/309388626385436672/914082331860566026/Coins_Dont_Matter.zip) | Coins no longer deduct. Coins always set to 9999. Purple Coins always set to 100. Items in Shop cost nothing (they require X but they don't deduct X) | `1.3.0` | thethiny
|
||||
#
|
||||
|
||||
### Super Smash Bros. Ultimate
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [30 FPS](https://cdn.discordapp.com/attachments/356187763139280896/727622903524360222/30_FPS.zip) | Makes the game full speed at 30 FPS | `1.0.0` `3.1.0` `7.0.0` `8.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Claude von Riegan
|
||||
| [Boot Straight to Menu](https://cdn.discordapp.com/attachments/356187763139280896/727622905822969856/Boot_Straight_to_menu.zip) | Makes the game boot straight into the main menu. | `1.0.0` `3.1.0` `7.0.0` `8.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Claude von Riegan
|
||||
|
||||
#
|
||||
|
||||
### The Legend of Zelda: Breath of the Wild
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [Clean UI](https://gamebanana.com/guis/download/34141) | Removes hearts, stamina, arrow reticle, ZL targeting arrow, and other UI elements. | `Any` | Eloeri, Leoetlino
|
||||
[Disable dynamic Resolution](https://cdn.discordapp.com/attachments/356187763139280896/798516683936759848/Disable_Dynamic_Resolution.zip) | Runs the game at 1080p Resolution | `1.0.0` `1.6.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
[60 FPS](https://cdn.discordapp.com/attachments/356187763139280896/798516557982072852/60FPS.zip) | Runs the game at Static 60 FPS (If lower than 60, Gameplay is slow) | `1.6.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
|
||||
#
|
||||
|
||||
### The Legend of Zelda: Link's Awakening
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [Blur Removal](https://cdn.discordapp.com/attachments/356187763139280896/798516893840965632/Blur_Removal.zip) | Removes the tilt-shift blur. | `1.0.0` `1.0.1` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [Infinite Cheats](https://cdn.discordapp.com/attachments/495758692495523854/661927483729379329/zla-cheats.zip) | Allows for Infinite Ammo, Bombs, Magic Powder, and Rupees. | `1.0.0` | CJBoK
|
||||
| [Clean UI](https://gamebanana.com/guis/download/34940) | Removes hearts, weapons icon, and interaction prompts. | `Any` | Eloeri
|
||||
| [Stable 60 FPS](https://cdn.discordapp.com/attachments/356187763139280896/724250990928461834/Stable-60fps-v2.zip) | Disables the Dynamic switching from 60 to 30 FPS | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
|
||||
#
|
||||
|
||||
### The Legend of Zelda: Skyward Sword HD
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [30 FPS](https://cdn.discordapp.com/attachments/495758692495523854/938238281785675816/30fps.zip) | Makes the game fullspeed at 30 FPS. | `1.0.0` `1.0.1` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Nimbo
|
||||
| [1440p/2K Resolution](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/The%20Legend%20of%20Zelda:%20Skyward%20Sword%20HD/%5B01002DA013484000%5D/1.0.0/2K.rar) | Allows the game to render at 1440p/2K Resolution (Greatly affects performance)| `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
| [2160p/4K resolution](https://github.com/theboy181/switch-ptchtxt-mods/raw/main/The%20Legend%20of%20Zelda:%20Skyward%20Sword%20HD/%5B01002DA013484000%5D/1.0.0/4K.rar) | Allows the game to render at 2160p/4K Resolution (Greatly affects performance). | `1.0.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
||||
|
||||
#
|
||||
|
||||
### Xenoblade Chronicles: Definitive Edition
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [60 FPS](https://cdn.discordapp.com/attachments/356187763139280896/818446892593578034/60_FPS.zip) | Makes the game run full speed at 60 FPS. Please note that the UI will only be full speed at 60fps. | `1.0.0` `1.1.2` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods), Kirby567fan, DuIslingr
|
||||
| [More Affinity Coins (x4)](https://github.com/lasyan3/yuzuMods/raw/master/mods/xenoblade-chronicles-definitive-edition/More%20Affinity%20Coins%20(x4).zip) | Multiply the Affinity Coins gained when level up or kill a unique monster for the first time. | `1.1.2` | lasyan3
|
||||
| [More Affinity Coins (x8)](https://github.com/lasyan3/yuzuMods/raw/master/mods/xenoblade-chronicles-definitive-edition/More%20Affinity%20Coins%20(x8).zip) | Multiply the Affinity Coins gained when level up or kill a unique monster for the first time. | `1.1.2` | lasyan3
|
||||
| [More Arts Points (x2)](https://github.com/lasyan3/yuzuMods/raw/master/mods/xenoblade-chronicles-definitive-edition/More%20Arts%20Points%20(x2).zip) | Multiply the Arts points gained from battles. **Please note:** the points showed when a monster is killed don't change, but the values are correctly increased. | `1.1.2` | lasyan3
|
||||
| [More Arts Points (x4)](https://github.com/lasyan3/yuzuMods/raw/master/mods/xenoblade-chronicles-definitive-edition/More%20Arts%20Points%20(x4).zip) | Multiply the Arts points gained from battles. (same note) | `1.1.2` | lasyan3
|
||||
| [More Skills Points (x2)](https://github.com/lasyan3/yuzuMods/raw/master/mods/xenoblade-chronicles-definitive-edition/More%20Skills%20Points%20(x2).zip) | Multiply the Skills points gained from battles. **Please note:** the points showed when a monster is killed don't change, but the values are correctly increased. | `1.1.2` | lasyan3
|
||||
| [More Skills Points (x4)](https://github.com/lasyan3/yuzuMods/raw/master/mods/xenoblade-chronicles-definitive-edition/More%20Skills%20Points%20(x4).zip) | Multiply the Skills points gained from battles. (same note) | `1.1.2` | lasyan3
|
||||
| [Speed increased (x1.25)](https://github.com/lasyan3/yuzuMods/raw/master/mods/xenoblade-chronicles-definitive-edition/Speed%20increased%20(x1.25).zip) | Increase the speed of your main character. **Please note:** this also impacts enemies speed but so far it doesn't generates any trouble during playthrough. | `1.1.2` | lasyan3
|
||||
| [Speed increased (x1.5)](https://github.com/lasyan3/yuzuMods/raw/master/mods/xenoblade-chronicles-definitive-edition/Speed%20increased%20(x1.5).zip) | Increase the speed of your main character. (same note) | `1.1.2` | lasyan3
|
||||
|
||||
### Xenoblade Chronicles 3
|
||||
| Mod | Description | Applies to | Credit |
|
||||
| --- | ----------- | ---------- | ------ |
|
||||
| [Bloom/Brightness Bug Workaround (Vulkan)](https://cdn.discordapp.com/attachments/495758692495523854/1007153835371921448/Vulkan_Workaround.rar) | Fixes the graphical bugs with the Vulkan GPU backend rendering that manifest as extreme bloom/brightness in certain areas of the game, as well as various issues with rendering cutscenes. | `1.1.0` | [theboy181](https://github.com/theboy181/switch-ptchtxt-mods)
|
63
Troubleshooting-Loader-Errors.md
Normal file
63
Troubleshooting-Loader-Errors.md
Normal file
@ -0,0 +1,63 @@
|
||||
# WIP, please ignore
|
||||
|
||||
|
||||
#### To use this list, press Ctrl-F (or Cmd-F on Mac) and then type in the error code from yuzu. This should look similar to `XXXX-XXXX` where the Xs represent numbers and letters.
|
||||
|
||||
| Error Code | Description |
|
||||
| -- | --|
|
||||
| 0008-0000 | `Success` |
|
||||
| 0008-0001 | `ErrorAlreadyLoaded` <br> This is an internal error and should be reported to the devs immediately. |
|
||||
| 0008-0002 | `ErrorNotImplemented` |
|
||||
| 0008-0003 | `ErrorNotInitialized` |
|
||||
| 0008-0004 | `ErrorBadNPDMHeader` |
|
||||
| 0008-0005 | `ErrorBadACIDHeader` |
|
||||
| 0008-0006 | `ErrorBadACIHeader` |
|
||||
| 0008-0007 | `ErrorBadFileAccessControl` |
|
||||
| 0008-0008 | `ErrorBadFileAccessHeader` |
|
||||
| 0008-0009 | `ErrorBadPFSHeader` |
|
||||
| 0008-000A | `ErrorIncorrectPFSFileSize` |
|
||||
| 0008-000B | `ErrorMissingHeaderKey` <br> To read any encrypted file, you need the NCA header key. This should go in your prod.keys under `header_key` |
|
||||
| 0008-000C | `ErrorIncorrectHeaderKey` |
|
||||
| 0008-000D | `ErrorNCA2` <br> The NCA you are attempting to load is using an older format that is not currently supported. If you would like support to be added, consider filing an issue. |
|
||||
| 0008-000E | `ErrorNCA0` <br> The NCA you are attempting to load is using an older format that is not currently supported. If you would like support to be added, consider filing an issue. |
|
||||
| 0008-000F | `ErrorMissingTitlekey` |
|
||||
| 0008-0010 | `ErrorMissingTitlekek` |
|
||||
| 0008-0001 | `ErrorInvalidRightsID` |
|
||||
| 0008-0000 | `ErrorMissingKeyAreaKey` |
|
||||
| 0008-0000 | `ErrorIncorrectKeyAreaKey` |
|
||||
| 0008-0000 | `ErrorIncorrectTitlekeyOrTitlekek` |
|
||||
| 0008-0000 | `ErrorXCIMissingProgramNCA` |
|
||||
| 0008-0000 | `ErrorNCANotProgram` |
|
||||
| 0008-0000 | `ErrorNoExeFS` |
|
||||
| 0008-0000 | `ErrorBadXCIHeader` |
|
||||
| 0008-0000 | `ErrorXCIMissingPartition` |
|
||||
| 0008-0000 | `ErrorNullFile` |
|
||||
| 0008-0000 | `ErrorMissingNPDM` |
|
||||
| 0008-0000 | `Error32BitISA` <br> The game you are trying to run uses the 32-bit ARM architecture, which is not currently supported by yuzu. |
|
||||
| 0008-0000 | `ErrorNoRomFS` |
|
||||
| 0008-0000 | `ErrorIncorrectELFFileSize` |
|
||||
| 0008-0000 | `ErrorLoadingNRO` |
|
||||
| 0008-0000 | `ErrorNoIcon` |
|
||||
| 0008-0000 | `ErrorNoControl` |
|
||||
| 0008-0000 | `ErrorBadNAXHeader` |
|
||||
| 0008-0000 | `ErrorIncorrectNAXFileSize` |
|
||||
| 0008-0000 | `ErrorNAXKeyHMACFailed` |
|
||||
| 0008-0000 | `ErrorNAXValidationHMACFailed` |
|
||||
| 0008-0000 | `ErrorNAXKeyDerivationFailed` |
|
||||
| 0008-0000 | `ErrorNAXInconvertibleToNCA` |
|
||||
| 0008-0000 | `ErrorBadNAXFilePath` |
|
||||
| 0008-0000 | `ErrorMissingSDSeed` |
|
||||
| 0008-0000 | `ErrorMissingSDKEKSource` |
|
||||
| 0008-0000 | `ErrorMissingAESKEKGenerationSource` |
|
||||
| 0008-0000 | `ErrorMissingAESKeyGenerationSource` |
|
||||
| 0008-0000 | `ErrorMissingSDSaveKeySource` |
|
||||
| 0008-0000 | `ErrorMissingSDNCAKeySource` |
|
||||
| 0008-0000 | `ErrorNSPMissingProgramNCA` |
|
||||
| 0008-0000 | `ErrorBadBKTRHeader` |
|
||||
| 0008-0000 | `ErrorBKTRSubsectionNotAfterRelocation` |
|
||||
| 0008-0000 | `ErrorBKTRSubsectionNotAtEnd` |
|
||||
| 0008-0000 | `ErrorBadRelocationBlock` |
|
||||
| 0008-0000 | `ErrorBadSubsectionBlock` |
|
||||
| 0008-0000 | `ErrorBadRelocationBuckets` |
|
||||
| 0008-0000 | `ErrorBadSubsectionBuckets` |
|
||||
| 0008-0000 | `ErrorMissingBKTRBaseRomFS` |
|
84
Typical-Git-Workflow.md
Normal file
84
Typical-Git-Workflow.md
Normal file
@ -0,0 +1,84 @@
|
||||
This is a guide to a typical Git workflow with yuzu. It covers forking from the main repository, creating a branch, keeping your branch up to date with the main repository, resolving conflicts, and merging back into the main repository. It's not meant to be a hard-and-fast set of rules. However, if you follow something along these lines, you'll be less likely to piss people off.
|
||||
|
||||
It's appreciated if every single commit in a branch on its own compiles on all supported platforms (Windows, Linux, and OS X) and doesn't cause any regressions if the commits after it were left unmerged. We understand that with early development, sometimes it's easier to commit early-and-often, and sometimes you may unintentionally break things (and then later fix them in your branch). If this is part of your workflow, we expect appropriate use of Git rebase to squash broken commits and resolve merge conflicts. If you don't know how Git rebase works, please read [this article](http://git-scm.com/book/en/Git-Branching-Rebasing) before developing for yuzu.
|
||||
|
||||
## Terminology
|
||||
|
||||
* `upstream`: Main project repository (https://github.com/yuzu-emu/yuzu)
|
||||
* `origin`: Your GitHub forked project repository (e.g. https://github.com/bunnei/yuzu)
|
||||
|
||||
## Before you begin
|
||||
|
||||
1. GitHub fork the project
|
||||
2. Clone your GitHub fork locally
|
||||
* `git clone https://github.com/your-username/yuzu.git`
|
||||
3. Grab the submodules
|
||||
* `git submodule update --init --recursive`
|
||||
4. Set your `upstream` to the main project repository
|
||||
* `git remote add upstream https://github.com/yuzu-emu/yuzu.git`
|
||||
5. Set your Git identity configuration
|
||||
* `git config --global user.name "your-username"`
|
||||
* `git config --global user.email your-email@example.com`
|
||||
|
||||
## Create a new branch
|
||||
|
||||
1. Create your branch from the latest `upstream/master` (Note: please format-branch-names-like-this)
|
||||
* `git fetch upstream && git checkout -b new-branch-name upstream/master`
|
||||
2. Push your new branch to `origin` (required later for a pull request)
|
||||
* `git push origin new-branch-name`
|
||||
|
||||
## Scenario A: You did some work in your branch... Then, someone committed something to `upstream/master` that you want!
|
||||
|
||||
1. Make sure you're on your branch
|
||||
* `git checkout new-branch-name`
|
||||
2. Rebase `upstream/master` onto it. With the rebase, move all of your changes to the top, and put all of the new master changes immediately after where you branched from. The goal should be that the branch now appears as though you just created it from `upstream/master`, and then committed all of your new stuff.
|
||||
* `git rebase upstream/master`
|
||||
|
||||
## Scenario B: You did some more work in your branch... Then, someone committed something to `upstream/master` that will cause conflicts when trying to get the branch merged back to upstream/master!
|
||||
|
||||
1. From your branch, rebase `upstream/master`
|
||||
* `git checkout new-branch-name`
|
||||
* `git rebase -i upstream/master`
|
||||
|
||||
## Scenario C: I made a commit and want to add other changes to it
|
||||
|
||||
To append changes to the most recently made commit, simply perform the following:
|
||||
|
||||
1. Stage the changed files to append to the commit with either:
|
||||
* `git add <list of files separated by spaces>`
|
||||
* or `git add -u` to stage all modified files.
|
||||
|
||||
2. Enter:
|
||||
* `git commit --amend` — if you want to also change your commit message
|
||||
* `git commit --amend --no-edit` — if you want to append your changes to the commit and make no changes to the commit message
|
||||
|
||||
3. Done
|
||||
|
||||
## Your branch is getting near completion, now you're ready for a pull request!
|
||||
|
||||
1. From your branch, rebase `upstream/master`
|
||||
* `git checkout new-branch-name`
|
||||
* `git rebase -i upstream/master`
|
||||
2. Update `origin/new-branch-name`
|
||||
* `git push origin new-branch-name --force`
|
||||
3. Create the pull request on GitHub to merge `origin/new-branch-name` into `upstream/master`
|
||||
|
||||
## Gracefully receive feedback from the team
|
||||
|
||||
* Address each comment with a commit as needed
|
||||
|
||||
## Once your pull request is ready to be merged...
|
||||
|
||||
1. From your branch, interactive rebase to squash all of the new commits (as a result of the pull request feedback) into the commits that they were addressing
|
||||
* `git checkout new-branch-name`
|
||||
* `git rebase -i upstream/master`
|
||||
* Now, you should see a file containing all the commits on this branch.
|
||||
* For all commits that address feedback, replace `pick` with `fixup`. Re order if required (beware, you might get conflicts at this stage! Resolve them carefully, then use `git rebase --continue`)
|
||||
* You can also change commit messages by replacing `pick` with `reword`.
|
||||
* Then follow the steps as directed by Git (These are not specific to yuzu, so you shouldn't have a problem if you use Git regularly.)
|
||||
* Rebase complete!
|
||||
2. Update `origin/new-branch-name`
|
||||
* `git push origin new-branch-name --force`
|
||||
3. Merge your branch in
|
||||
* Always merge using the >merge< button in the GitHub pull request
|
||||
* If GitHub says the branch cannot be merged automatically, you've likely done something incorrectly (e.g. you did not fully rebase changes from `upstream/master` into your branch). If things don't work for you, don't hesitate to ask us for help @ #yuzu-emu on [libera](https://web.libera.chat) or @ #yuzu-general on [Discord](https://discordapp.com/invite/u77vRWY). Mastering Git is not as easy as it might sound, but we'll happily help you get started.
|
111
User-Directory.md
Normal file
111
User-Directory.md
Normal file
@ -0,0 +1,111 @@
|
||||
### Please note: This page is unfinished and still contains references to the Citra emulator and the Nintendo 3ds!
|
||||
|
||||
## The User Directory
|
||||
|
||||
yuzu's user directory is where the emulator persists the emulated Switchs NAND, save data, extra data, and a host of other files necessary for yuzu to run properly. The path of the user directory varies on different systems:
|
||||
|
||||
- on Windows, the path is `C:/Users/[your-user-name]/AppData/Roaming/yuzu/`. Note that the folder `AppData` is hidden by default, so you need to change the configuration to view it.
|
||||
- in old version of yuzu, the user directory used to be the `user` folder in the same directory as the yuzu executable.
|
||||
- on macOS and Linux, the path is `~/.local/share/yuzu/`. Note that the folder `.local` is hidden on most machines, so you need to change the configuration to view it. **Additionally, the `config` folder is located in `~/.config/yuzu/`**.
|
||||
|
||||
There are at least three directories within the user directory: `config`, `nand`, and `sdmc`. For users that have dumped the shared fonts from a Switch console, there will also be a `sysdata` directory. See below for details about each directory and what data is stored within.
|
||||
|
||||
##### Diagram of yuzu's User Directory
|
||||
```
|
||||
"User directory"
|
||||
├── config
|
||||
├── nand
|
||||
│ ├── 00000000000000000000000000000000 (optional)
|
||||
│ └── data
|
||||
│ ├── sysdata
|
||||
│ └── extdata
|
||||
├── sdmc
|
||||
│ └── Nintendo
|
||||
│ ├── 00000000000000000000000000000000
|
||||
│ | └── 00000000000000000000000000000000
|
||||
│ | ├── title
|
||||
│ | └── extdata
|
||||
│ └── Private
|
||||
└── sysdata (optional)
|
||||
```
|
||||
|
||||
### Dumping files from a Switch
|
||||
|
||||
Included in this guide are instructions on how to dump various files from a Switch console to put into the yuzu user directory. These files are optional in terms of yuzu's ability to run, but depending on certain circumstances some may be required in order to run a particular game or get past a certain point in the game. In general, dumping files from a Switch will require an SD card reader or some way to use wireless file transfer from a Switch to a computer like the [FTP System Module](https://github.com/jakibaki/sys-ftpd) or the [FTPd Homebrew](https://github.com/mtheall/ftpd) and that the Switch being dumped from has [Custom Firmware](https://guide.sdsetup.com) installed.
|
||||
Optionally, more advanced users can use [HacDiskMount](https://switchtools.sshnuke.net/) to access a [NAND Backup](https://guide.sdsetup.com/#/configuringhekate) instead of accessing the Switch directly.
|
||||
|
||||
If the below articles are too wordy, consult the below tutorials for obtaining optional files to improve the yuzu experience:
|
||||
* [[Dumping System Archives and the Shared Fonts from a Switch Console]]
|
||||
* [[Dumping Save Data from a Switch Console]]
|
||||
|
||||
---
|
||||
|
||||
### config
|
||||
|
||||
This directory contains files containing information that tell yuzu how to run. These files are in plain text and thus are fully editable and contain configurations for mapping controls, which [[CPU]] and audio engine to use, rendering and other visual options, the [[Log Filters]], which region the emulated Switch belongs to, whether to treat the emulated Switch as a new Switch, and whether to insert a virtual SD card into the emulated system.
|
||||
|
||||
Changing these files is only to be done by advanced users because making changes at random can cause yuzu not to work as expected or at all. The yuzu executable has options menus that allow users to change most of the aforementioned configurations safely. If yuzu has trouble running after changing a file and the user cannot remember what they changed, delete the configuration files and run the executable again so that they are regenerated automatically (albeit as though yuzu is being run for the first time so any existing configurations are lost).
|
||||
|
||||
### log
|
||||
|
||||
This directory contains `yuzu_log.txt`. This file is automatically generated by yuzu and stores the logging. It is overwritten every time yuzu is launched.
|
||||
|
||||
### nand
|
||||
|
||||
This directory is the emulated Switch system NAND. It does not match an actual console's NAND exactly due to differences between yuzu and a physical Switch. This directory will contain the `data` directory and potentially also the system archives.
|
||||
|
||||
#### data
|
||||
|
||||
This directory is automatically generated by yuzu and contains the system and extra data for the emulated NAND. Inside this directory is another directory, `00000000000000000000000000000000`. On a physical Switch, the directory inside `data` would be named differently. Its name would be 32 characters long and made of hexadecimal characters (0-9 and A-F) instead of it being all 0's like yuzu. This knowledge is only important if you plan on dumping any NAND system data or extra data from a physical Switch and associating it with yuzu. The `00000000000000000000000000000000` contains two folders, `extdata`, containing NAND extra data, and `sysdata`, containing NAND system save data.
|
||||
|
||||
##### sysdata
|
||||
|
||||
System save data is identified by a title ID, separated into TID High, the first 8 characters of the title ID, and TID Low, the last 8 characters of the title ID. Most system save data has a TID high of 00000000. An individual piece of system save data is stored in `sysdata/[TID Low]/[TID High]`. For details about the different kinds of system save data, see [3dbrew](https://www.3dbrew.org/wiki/System_SaveData). For first-time yuzu users, there may be nothing inside the `sysdata` directory. In fact this will be the case for most yuzu users, and is nothing to be alarmed about. This data will be created automatically in some cases, such as when a Mii is saved in Mii Maker. Almost none of this data is essential for yuzu to run homebrew games or backups of licensed titles.
|
||||
|
||||
There is one notable exception to the last statement. yuzu requires a dump of a physical Switch's config savegame in order to run a small number of games. Follow the instructions located at [[Dumping Config Savegame from a Switch Console]] to obtain the config savegame from a Switch console.
|
||||
|
||||
Other system save data aside from the config savegame can be dumped from a Switch console by an expert user and placed in the `sysdata` folder. At this time, though, many features that read from or write to system save data have not been implemented so there is currently little value in doing so. See [this discussion topic](https://discuss.citra-emu.org/d/905-nand-sysdata) for more details about dumping system save data.
|
||||
|
||||
##### extdata
|
||||
|
||||
NAND extra data always has a TID High of 00048000, so the `extdata` directory should contain a `00048000` folder, though it has been observed in yuzu that there may be a `00000000` folder instead, and users have reported issues if there is both a `00000000` and `00048000` folder contained therein, so it is advised to delete the `00000000` folder if that is the case. Inside the folder may be nothing, or it may contain one or more directories named `F000000#`, where # can be the characters A-F or the numbers 0-9. Each of these folders corresponds to a TID low, which can be used to identify the type of extra data stored therein. See [3dbrew](https://www.3dbrew.org/wiki/Extdata?section=13#NAND_Shared_Extdata) for details about the different kinds of extra data stored in NAND.
|
||||
|
||||
At this point in time, it is possible to dump extra data from a physical Switch's NAND using a save manager like [JKSM](https://github.com/J-D-K/JKSM) and to place it in the `extdata` directory, but doing so is entirely optional and yuzu does not currently emulate NAND features that utilize most of this extra data.
|
||||
|
||||
#### system archives
|
||||
|
||||
This folder, named `00000000000000000000000000000000`, will only exist if the system archives have been dumped from a physical Switch. The system archives are required for some games to work with yuzu. To obtain the system archives, follow the instructions located at [[Dumping System Archives and the Shared Fonts from a Switch Console]].
|
||||
|
||||
### sdmc
|
||||
|
||||
This directory is the equivalent of the SD card inserted into a physical Switch, which stores game save and extra data and any titles installed to the SD card in encrypted format, though yuzu does not currently emulate installing titles to SD and instead runs decrypted .Switch, .app, and .cxi files directly from the computer's filesystem. Inside the `sdmc` folder, just like on a real Switch console, is a `Nintendo Switch` directory, which contains two more directories, `Private` and `00000000000000000000000000000000`.
|
||||
|
||||
#### Private
|
||||
|
||||
The `Private` directory on a real Switch contains camera data (in `00020400/phtcache.bin`) and sound data (in `00020500/voice/...`). yuzu will create camera data while it is running. If a user wants to copy their camera and sound data to yuzu, they can do so easily by copying the `Private` folder from their SD card and overwriting yuzu's, but at this time there is no value in doing so.
|
||||
|
||||
#### 00000000000000000000000000000000
|
||||
|
||||
This directory contains another directory of the same name, and inside of that is where game saves (in the `title` directory) and extra data (in the `extdata` directory) can be found. On a real SD card, there would not be two `00000000000000000000000000000000` folders, but instead the folders would be named as hexadecimal characters corresponding to a Switch console ID. If a user wishes to extract save or extra data from their physical console, they do not need to worry about the console ID not matching yuzu's `00000000000000000000000000000000` folders.
|
||||
|
||||
##### title
|
||||
|
||||
If any games have been saved while playing them with yuzu, there should be a folder inside `sysdata` named `00040000`. This folder contains all of the save data for Switch titles. It is entirely possible to retrieve save data from an SD card using a physical Switch console and import it into yuzu to continue a game where it was last left off on the console. See [[Dumping Save Data from a Switch Console]] for instructions. On a real SD card, the `sysdata` folder will also contain the files required to run any Switch titles installed to the SD card. This can be mimicked somewhat by [[Dumping Installed Titles]] and importing them into yuzu's `sysdata` directory but this is unnecessary since yuzu can run them from anywhere on a computer filesystem and doesn't require the accompanying .tmd and .cmd files.
|
||||
|
||||
On a real SD card, there may be two other directories inside `sysdata`. These directories are named `0004000e` and `0004008c` and correspond to downloaded game updates and DLC respectively. The data contained within these directories can be backed up on a computer as decrypted CIA files and installed with yuzu ([[Dumping Updates and DLCs]]). The latest version of GodMode9 is required to redump your DLCs if you do not own all them as it was dumped incorrectly before.
|
||||
|
||||
##### extdata
|
||||
|
||||
This directory contains all of the extra data created when playing Switch game backups. yuzu emulates a console's behavior of reading from and writing to extra data, so this data can be dumped from an SD card using a physical Switch console and imported into yuzu. See [[Dumping Extra Data from a Switch Console]] for instructions.
|
||||
|
||||
##### other folders
|
||||
|
||||
If a real SD card is compared to yuzu's emulated SD card, yuzu may appear to be missing one or more folders present on the real SD card: `dbs`, `backups`, and `Nintendo DSiWare`. The `dbs` folder contains a Switch console's title database. The `backups` folder contains saved data backed up via the Home Menu. The `Nintendo DSiWare` folder contains exported DSi exports. yuzu does not need any of these folders so there is currently no value in dumping them.
|
||||
|
||||
### sysdata
|
||||
|
||||
This directory can contain two files.
|
||||
|
||||
- `shared_font.bin`: this was a legacy system font data dumped from old versions of Switchutils and is no longer supported. If the user does not have shared font installed, yuzu will use the open source font replacement instead. Users should redump their shared font since the open source font replacement may not always look accurate. See [[Dumping System Archives and the Shared Fonts from a Switch Console]] for more information.
|
||||
|
||||
- `aes_keys.txt`: this file is reserved for future use to hold decryption keys.
|
@ -0,0 +1,3 @@
|
||||
## This page is currently under construction.
|
||||
|
||||
See here for more information: https://cemuhook.sshnuke.net/padudpserver.html
|
95
[Deprecated]-Building-Mesa-on-Arch-Linux.md
Normal file
95
[Deprecated]-Building-Mesa-on-Arch-Linux.md
Normal file
@ -0,0 +1,95 @@
|
||||
**This guide will remain here as a reference. However, [Chaotic-AUR](https://lonewolf.pedrohlc.com/chaotic-aur/) now provides Mesa compiled using LLVM 12, so there is no need for this guide now. Just enable the repo, install `mesa-git`, and you should be good to go.**
|
||||
|
||||
***
|
||||
|
||||
Currently, users of AMD GPUs have two options to get decent performance on yuzu. One could use the Vulkan backend in Windows, however, this comes with poor stability as yuzu's Vulkan implementation lacks proper memory management. The other option is to use the OpenGL backend in Linux with [Mesa](https://mesa3d.org/)'s open-source RadeonSI driver. Decent stability can be achieved on Linux, but the current stable version of Mesa found in most Linux distributions causes unrecoverable crashes in many games on yuzu. Some crashes are caused by an old Mesa version, and many more are caused by the old, stable version of [LLVM](https://llvm.org/) required by Mesa to compile shaders.
|
||||
|
||||
Most crashes are solved upstream on both Mesa and LLVM, so this is a guide about installing the latest LLVM and Mesa versions to an [Arch Linux](https://www.archlinux.org/) or [Manjaro](https://manjaro.org/) computer.
|
||||
|
||||
## Preparations
|
||||
For this guide, either an install of Arch Linux or any distro derived from Arch Linux, such as Manjaro, is necessary to follow along. If you are a beginner with Linux, Manjaro is easier to set up and install to your computer than Arch Linux, and it can be downloaded [here](https://manjaro.org/get-manjaro/). Arch Linux can be found [here](https://www.archlinux.org/download/). General setup of the operating system is outside the scope of this guide, but here is [Manjaro's installation guide](https://manjaro.org/support/firststeps/), and here is [Arch Linux's installation guide](https://wiki.archlinux.org/index.php/Installation_guide).
|
||||
|
||||
Once installed, update your packages with `pacman`, the [package manager in Arch Linux](https://wiki.archlinux.org/index.php/Pacman).
|
||||
```
|
||||
sudo pacman -Syu
|
||||
```
|
||||
|
||||
There are a few dependencies needed to complete this guide, as well. Run the following command to install the dependencies. If you have already followed yuzu's [Building for Linux](https://github.com/yuzu-emu/yuzu/wiki/Building-for-Linux) guide, then this next step is unnecessary.
|
||||
```
|
||||
sudo pacman -S --needed git base-devel
|
||||
```
|
||||
|
||||
## Using Chaotic-AUR to Install `llvm-git`
|
||||
<!-- The following is left commented in anticipation of Arch's glibc version getting ahead of Manjaro's in the future. ->
|
||||
<!-- **WARNING: Manjaro users should avoid this part of the guide for now.** Arch Linux, and Chaotic-AUR by extension, has upgraded the glibc version to 2.32, and Manjaro is still using 2.31, thus packages on Chaotic-AUR are too recent for use on Manjaro. Users should build [llvm-git](https://aur.archlinux.org/packages/llvm-git/) and [llvm-libs-git](https://aur.archlinux.org/packages/llvm-libs-git/) directly from the AUR. -->
|
||||
|
||||
The first step is to add the [Chaotic-AUR](https://lonewolf.pedrohlc.com/chaotic-aur/) [repository](https://wiki.archlinux.org/index.php/Unofficial_user_repositories) to your machine. This will give us access to a daily build of llvm-git (version 12.0.0 as of writing), which we need for building `mesa-git` later. Since it updates periodically, follow [their instructions](https://lonewolf.pedrohlc.com/chaotic-aur/) to install the repository on to your system.
|
||||
|
||||
Afterwards, update your package lists and packages:
|
||||
```
|
||||
sudo pacman -Syu
|
||||
```
|
||||
|
||||
LLVM will be installed later automatically when `mesa-git` is being built. This section was just setup to make that happen later.
|
||||
|
||||
Chaotic-AUR provides access to many packages, including `mesa-tkg-git` and `mesa-aco-git`. **Do not install Mesa from Chaotic-AUR.** These packages are updated daily, and while there is nothing wrong with them in their own right, they use LLVM stable (version 10) which is not suitable for yuzu.
|
||||
|
||||
## Installing `mesa-git`
|
||||
The next step is building Mesa from source. Clone the [`mesa-git`](https://aur.archlinux.org/packages/mesa-git/) build script from the [Arch User Repository](https://wiki.archlinux.org/index.php/Arch_User_Repository):
|
||||
```
|
||||
git clone https://aur.archlinux.org/mesa-git.git
|
||||
```
|
||||
Then change the working directory over to the newly cloned directory:
|
||||
```
|
||||
cd mesa-git
|
||||
```
|
||||
This gives us a [`PKGBUILD`](https://wiki.archlinux.org/index.php/PKGBUILD), a script that helps us build a package (hence the name).
|
||||
|
||||
In order to use the daily version of LLVM from Chaotic-AUR, the [environment variable](https://wiki.archlinux.org/index.php/Environment_variables) `MESA_WHICH_LLVM` needs to be set to `3`. Without it, `mesa-git` is configured to build with the stable version of LLVM. Run [`makepkg`](https://wiki.archlinux.org/index.php/Makepkg) from inside the `mesa-git` directory to build and install Mesa:
|
||||
```
|
||||
MESA_WHICH_LLVM=3 makepkg -si
|
||||
```
|
||||
|
||||
`makepkg` will run `pacman` during the install and require credentials. It will ask to install `llvm-git`, `llvm-libs-git`, and `clang-git` over `llvm`, `llvm-libs`, and `clang`, respectively. Press `y` and hit `ENTER` to allow it to do so for each package. `mesa-git` should take a while to build.
|
||||
|
||||
Once it has finished building, it may ask for credentials again. `pacman` will ask to replace more packages. Press `y` and hit `ENTER` to allow it to replace these with `mesa-git`. Once `pacman` finishes installing it, `mesa-git` should be installed. Restart your machine to let all the changes take effect.
|
||||
|
||||
### Verify the Installation
|
||||
To verify that the build was successful, install the `mesa-demos` package and run `glxinfo` in the terminal:
|
||||
```
|
||||
glxinfo | grep "OpenGL renderer"
|
||||
```
|
||||
The command output should be similar to this, adjusted for your own graphics card:
|
||||
```
|
||||
OpenGL renderer string: AMD Radeon (TM) R5 340 (OLAND, DRM 3.37.0, 5.7.12-arch1-1, LLVM 12.0.0)
|
||||
```
|
||||
Of particular note is the LLVM version. If it is greater than or equal to 12.0.0, then the installation was successful.
|
||||
|
||||
### Updating `mesa-git`
|
||||
After a some time has passed, improvements to Mesa will happen upstream and become available. Updating `mesa-git` requires ensuring the `PKGBUILD` is updated and then running `makepkg` again.
|
||||
|
||||
Ensure the `PKGBUILD` is updated:
|
||||
```
|
||||
cd mesa-git
|
||||
git pull
|
||||
```
|
||||
Then run `makepkg` again:
|
||||
```
|
||||
MESA_WHICH_LLVM=3 makepkg -si
|
||||
```
|
||||
|
||||
### Optional: Prevent `pacman` From Updating `mesa-git` Automatically
|
||||
Though `mesa-git` is now installed, running `sudo pacman -Syu` right now will overwrite the package with one from a repository (likely `mesa-aco-git` from Chaotic-AUR). To prevent this, `pacman` needs to ignore that package for updates. Edit the `IgnorePkg` line in `/etc/pacman.conf`:
|
||||
```
|
||||
#IgnorePkg =
|
||||
```
|
||||
Add `mesa-git` to this list and remove the comment marker `#` if need be:
|
||||
```
|
||||
IgnorePkg = mesa-git
|
||||
```
|
||||
Use commas to separate multiple package names if other packages are already listed there.
|
||||
|
||||
It is important to note this will freeze the `mesa-git` version. This means if other packages update around it, then the installed `mesa-git` version may become incompatible with the rest of the system. Update `mesa-git` from time-to-time following the guide above.
|
||||
|
||||
## Conclusion
|
||||
yuzu will be much more stable on an AMD GPU now with the updated Mesa and LLVM versions. Some games cannot be helped for now, like crashes in Fire Emblem: Three Houses or rendering issues in Pokemon: Sword/Shield, but most other games will crash far less frequently. Any concerns/questions had in this guide can be discussed on the [yuzu forum](https://community.citra-emu.org/c/yuzu-support) or in our [Discord server](https://discord.gg/u77vRWY).
|
33
_Sidebar.md
Normal file
33
_Sidebar.md
Normal file
@ -0,0 +1,33 @@
|
||||
[Home](https://github.com/yuzu-emu/yuzu/wiki)
|
||||
---
|
||||
* **Users:**
|
||||
* [Quickstart guide](https://yuzu-emu.org/help/quickstart/)
|
||||
* [FAQ](wiki/FAQ)
|
||||
* [Overview of Switch Game Formats](wiki/Overview-of-Switch-Game-Formats)
|
||||
* [User Directory](wiki/User-Directory)
|
||||
* [yuzu Early Access](https://yuzu-emu.org/help/early-access/)
|
||||
* [yuzu Web Service](wiki/yuzu-Web-Service)
|
||||
* [Telemetry](https://yuzu-emu.org/help/feature/telemetry/)
|
||||
* [Boxcat](https://yuzu-emu.org/help/feature/boxcat/)
|
||||
* [Recommended GPU Drivers for Linux](wiki/Recommended-GPU-Drivers-for-Linux)
|
||||
|
||||
#
|
||||
* **General:**
|
||||
* [Contributing](wiki/Contributing)
|
||||
* [Bounties](https://yuzu-emu.org/bounties/)
|
||||
|
||||
---
|
||||
|
||||
* **[Developers](wiki/Developer-Information):**
|
||||
* Building yuzu:
|
||||
* [Windows](wiki/Building-for-Windows)
|
||||
* [Linux](wiki/Building-for-Linux)
|
||||
* [Android](wiki/Building-for-Android)
|
||||
* [macOS](wiki/Building-for-macOS)
|
||||
* [Switch Hardware and Software Documentation](wiki/Switch-Hardware-and-Software)
|
||||
* [Switch Homebrew and Libraries](wiki/Switch-Homebrew)
|
||||
* [Service Function Usage](wiki/Service-Function-Usage)
|
||||
* [Contributing](wiki/Contributing#contributing)
|
||||
* [Contributor License Agreement](https://cla-assistant.io/yuzu-emu/yuzu)
|
||||
* [Policy](wiki/Contributor-License-Agreement-Policy)
|
||||
* [Typical Git workflow](wiki/Typical-Git-Workflow)
|
1
_header.md
Normal file
1
_header.md
Normal file
@ -0,0 +1 @@
|
||||
e
|
18
yuzu-Web-Service.md
Normal file
18
yuzu-Web-Service.md
Normal file
@ -0,0 +1,18 @@
|
||||
# yuzu Web Tokens
|
||||
|
||||
yuzu web tokens are unique identifiers that allow your personal yuzu installation to be able to log in to yuzu's Web Services, without having to save your email and password. Logging in to your Web Services account allows you to provide more detailed statistics with telemetry, among other things.
|
||||
|
||||
# Getting A Token
|
||||
|
||||
1. If you haven't done so already, register on the [yuzu Community Forums](https://community.citra-emu.org/).
|
||||
2. Log in to your forum's account.
|
||||
3. In the same browser, click [here](https://profile.yuzu-emu.org) to retrieve your token.
|
||||
4. Your token is the letters and numbers seperated by dashes in the text box.
|
||||
5. If you'd like to generate a new token, click the refresh button beside the text box. Note that this will invalidate your previous token and thus sign you out from within yuzu.
|
||||
|
||||
# Installing A Token
|
||||
|
||||
1. Open yuzu, and go into the `Emulation` → `Configure...` menu.
|
||||
2. In the new window, go into the `Web` tab.
|
||||
3. Paste your token in the respective field.
|
||||
4. Click `OK` to apply the settings.
|
Loading…
x
Reference in New Issue
Block a user