/yuzu-duhsoares21

Yuzu Emulator

Primary LanguageC++GNU General Public License v3.0GPL-3.0


yuzu
yuzu

yuzu is the world's most popular, open-source, Nintendo Switch emulator — started by the creators of Citra.
It is written in C++ with portability in mind, and we actively maintain builds for Windows, Linux and Android.

Azure Mainline CI Build Status Discord

Compatibility | Development | Building | Download | License

Download

Download Yuzu

Compatibility

The emulator is capable of running most commercial games at full speed, provided you meet the necessary hardware requirements.

For a full list of games yuzu supports, please visit our Compatibility page.

Check out our website for the latest news on exciting features, monthly progress reports, and more!

Development

Most of the development happens on GitHub. It's also where our central repository is hosted. For development discussion, please join us on Discord.

If you want to contribute, please take a look at the Contributor's Guide and Developer Information. You can also contact any of the developers on Discord in order to know about the current state of the emulator.

If you want to contribute to the user interface translation project, please check out the yuzu project on transifex. We centralize translation work there, and periodically upstream translations.

Building

  • Windows:

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 - Make sure to select C++ support in the installer. Make sure to update to the latest version if already installed.
  • CMake - Used to generate Visual Studio project files. Does not matter if either 32-bit or 64-bit version is installed.
  • Vulkan SDK - Make sure to select Latest SDK.

2

3

  • 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.

4

Cloning yuzu with Git

Master:

git clone --recursive https://github.com/yuzu-emu/yuzu.git
cd yuzu

Mainline (no assert):

git clone --recursive https://github.com/yuzu-emu/yuzu-mainline.git
cd yuzu-mainline

9

  • (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.

    10

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

    11

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

    12

    • (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.)

    13

  • Click "Generate" to create the project files.

    15

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

    16

  • 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.

    17 18

  • Select the appropriate build type, Debug for debug purposes or Release for performance (in case of doubt choose Release).

    19

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

    20

Feel free to ask us in the IRC channel #yuzu-emu @ libera or on Discord if you have issues.

Method II: MinGW-w64 Build with MSYS2

Prerequisites to install

  • MSYS2
  • Vulkan SDK - 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

git clone --recursive https://github.com/yuzu-emu/yuzu.git
cd yuzu

Run the following commands to build yuzu (dynamically linked build)

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.

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. image

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 - This IDE is not free; for a free alternative, check Method I
  • Vulkan SDK - Make sure to select the Latest SDK.

Cloning yuzu with CLion

  • Clone the Repository:

1 2 3

Building & Setup

  • Once Cloned, You will be taken to a prompt like the image below:

4

  • 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

5

  • 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

6

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

7

Building from the command line with MSVC

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
          </div>

      </div>

Toggle tagle of contents
  <span>Pages <span title="27" data-view-component="true" class="Counter Counter--primary">27</span></span>
</h3>

<ul class="m-0 p-0 list-style-none" data-filterable-for="wiki-pages-filter" data-filterable-type="substring" data-pjax="">
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Home/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/%5BDeprecated%5D-Building-Mesa-on-Arch-Linux/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Bounties/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Building-For-Android/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Building-for-Linux/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Building-for-macOS/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Building-for-Windows/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Contributing/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Contributor-License-Agreement-Policy/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Developer-Information/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Dumping-Decryption-Keys-from-a-Switch-Console/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Dumping-Game-Cartridges/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Dumping-Installed-Titles/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
FAQ
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/FAQ/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/How-to-Install-and-Use-Game-Updates/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Open-Source-Page-for-testers/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Overview-of-Switch-Game-Formats/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Recommended-GPU-Drivers-for-Linux/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Service-Function-Usage/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Switch-Hardware-and-Software/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Switch-Homebrew/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Switch-Mods/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Troubleshooting-Loader-Errors/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Typical-Git-Workflow/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/User-Directory/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Using-a-Controller-or-Android-Phone-for-Motion-or-Touch-Input/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/yuzu-Web-Service/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages-link">
        <button type="button" data-view-component="true" class="Link--muted js-wiki-more-pages-link btn-link mx-auto f6">    Show 12 more pages…

        </nav>

          <div class="gollum-markdown-content">
            <div class="Box Box--condensed mb-4">
              <div class="Box-body wiki-custom-sidebar markdown-body">
                <div class="markdown-heading"><h2 class="heading-element"><a href="https://web.archive.org/web/20240304183509/https://github.com/yuzu-emu/yuzu/wiki">Home</a></h2><a id="user-content-home" class="anchor-element" aria-label="Permalink: Home" href="#home"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>


              </div>
            </div>
          </div>

        <h5 class="mt-0 mb-2">Clone this wiki locally</h5>
        <div class="width-full input-group">
          <input id="wiki-clone-url" type="text" data-autoselect="" class="form-control input-sm text-small color-fg-muted input-monospace" aria-label="Clone URL for this wiki" value="https://github.com/yuzu-emu/yuzu.wiki.git" readonly="">
          <span class="input-group-button">
            <clipboard-copy for="wiki-clone-url" aria-label="Copy to clipboard" data-view-component="true" class="btn btn-sm zeroclipboard-button" tabindex="0" role="button">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy">
<path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
  • Linux:

This article was written for developers. Users looking to simply run yuzu should try downloading Mainline 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 v11+ (for C++20 support) & misc
    • This page is being updated as we transition to GCC 11
  • If GCC 12 is installed, Clang v14+ is required for compiling
  • CMake 3.15+

The following are handled by yuzu's externals:

If version 5.15.2 is not already installed, pre-compiled binaries for Qt 5.15.2 will be downloaded from here automatically by CMake:

  • Qt 5.15+

All other dependencies will be downloaded by vcpkg if needed:

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 (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:

git clone --recursive https://github.com/yuzu-emu/yuzu
cd yuzu

Mainline:

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.

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)

mkdir build && cd build
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF
ninja

Building with debug symbols

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/.

# SDL
cd build/bin/
./yuzu-cmd

# Qt cd build/bin/ ./yuzu

<clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w" value="# SDL cd build/bin/ ./yuzu-cmd

Qt

cd build/bin/ ./yuzu" tabindex="0" role="button">

Debugging

  1. Enable CPU debugging
  2. Disable both Host MMU emulation options
  3. Run gdb
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
          </div>

      </div>

Toggle tagle of contents
  <span>Pages <span title="27" data-view-component="true" class="Counter Counter--primary">27</span></span>
</h3>

<ul class="m-0 p-0 list-style-none" data-filterable-for="wiki-pages-filter" data-filterable-type="substring" data-pjax="">
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Home/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/%5BDeprecated%5D-Building-Mesa-on-Arch-Linux/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Bounties/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Building-For-Android/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Building-for-Linux/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Building-for-macOS/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Building-for-Windows/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Contributing/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Contributor-License-Agreement-Policy/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Developer-Information/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Dumping-Decryption-Keys-from-a-Switch-Console/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Dumping-Game-Cartridges/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Dumping-Installed-Titles/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
FAQ
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/FAQ/_toc">
</include-fragment>
    </li>
    <li class="Box-row px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/How-to-Install-and-Use-Game-Updates/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Open-Source-Page-for-testers/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Overview-of-Switch-Game-Formats/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Recommended-GPU-Drivers-for-Linux/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Service-Function-Usage/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Switch-Hardware-and-Software/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Switch-Homebrew/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Switch-Mods/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Troubleshooting-Loader-Errors/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Typical-Git-Workflow/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/User-Directory/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/Using-a-Controller-or-Android-Phone-for-Motion-or-Touch-Input/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages px-2 py-2">
      <details class="details-reset">
<include-fragment class="js-wiki-sidebar-toc-fragment" loading="lazy" src="https://github.com/yuzu-emu/yuzu/wiki/yuzu-Web-Service/_toc">
</include-fragment>
    </li>
    <li class="Box-row wiki-more-pages-link">
        <button type="button" data-view-component="true" class="Link--muted js-wiki-more-pages-link btn-link mx-auto f6">    Show 12 more pages…

        </nav>

          <div class="gollum-markdown-content">
            <div class="Box Box--condensed mb-4">
              <div class="Box-body wiki-custom-sidebar markdown-body">
                <div class="markdown-heading"><h2 class="heading-element"><a href="https://web.archive.org/web/20240304183515/https://github.com/yuzu-emu/yuzu/wiki">Home</a></h2><a id="user-content-home" class="anchor-element" aria-label="Permalink: Home" href="#home"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>


              </div>
            </div>
          </div>

        <h5 class="mt-0 mb-2">Clone this wiki locally</h5>
        <div class="width-full input-group">
          <input id="wiki-clone-url" type="text" data-autoselect="" class="form-control input-sm text-small color-fg-muted input-monospace" aria-label="Clone URL for this wiki" value="https://github.com/yuzu-emu/yuzu.wiki.git" readonly="">
          <span class="input-group-button">
            <clipboard-copy for="wiki-clone-url" aria-label="Copy to clipboard" data-view-component="true" class="btn btn-sm zeroclipboard-button" tabindex="0" role="button">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy">
<path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>

License

yuzu is licensed under the GPLv3 (or any later version).