The below wiki article is based on user submitted content. Please verify all hyperlinks and terminal commands below!

See a mistake? Want to contribute? Edit this article on Github

Building for Linux


You’ll need to download and install the following to build yuzu:

  • SDL2
    • Arch: pacman -S sdl2
    • Debian: apt-get install sdl2 or apt-get install libsdl2-2.0-0 or apt-get install libsdl2-dev
    • Fedora: dnf install SDL2-devel
    • Gentoo: emerge media-libs/libsdl2
  • Qt
    • Arch: pacman -S qt5
    • Debian: apt-get install qtbase5-dev libqt5opengl5-dev
    • Fedora: dnf install qt5-qtbase qt5-qtbase-devel
    • Gentoo: emerge dev-qt/qtcore dev-qt/qtopengl
  • GCC v7+ (for C++17 support)
    • Arch: pacman -S base-devel
    • Debian: apt-get install build-essential
    • Fedora: dnf install gcc
    • Gentoo: emerge =sys-devel/gcc-7.1.0
  • CMake 3.6+
    • Arch: pacman -S cmake
    • Debian: apt-get install cmake
    • Fedora: dnf install cmake
    • Gentoo: emerge dev-util/cmake

Note: Depending on your distro, the version of CMake you get may not be what’s required to build yuzu. Check with cmake –version. Version 3.6 or greater is required for you to be able to build!

  • Clang 3.8 (optional build alternative)
    • Arch: pacman -S clang, libc++ is in the AUR. Use yay to install it.
    • Debian: apt-get install clang libc++-dev (in some distros, clang-3.8).
    • Gentoo: emerge sys-devel/clang sys-libs/libcxx

Cloning yuzu with Git

Nightly (master):

git clone --recursive
cd yuzu


git clone --recursive
cd yuzu-canary

The --recursive option automatically clones the required Git submodules too.

Building yuzu in Debug Mode (Slow)

Using GCC

mkdir build && cd build
cmake ../
sudo make install

Note: you can use make -jN where N is the number of processors available to accelerate the building

Optionally, you can use cmake -i .. to adjust various options (e.g. disable the Qt GUI).

Using clang

Note: It is important you use libc++ vs. , otherwise your build will likely fail. libc++ is not 100% complete on GNU/Linux, but works well for this build. The libstdc++ std::string is a different data structure than the libc++ std::string. See: If libc++ is not used, some warnings are treated as errors. Using clang is only really recommended for users not using GCC >= 5. Also see Clang Comparison.

mkdir build && cd build
cmake -DCMAKE_CXX_COMPILER=clang++-3.8 \
      -DCMAKE_C_COMPILER=clang-3.8 \
      -DCMAKE_CXX_FLAGS="-O2 -g -stdlib=libc++" \
sudo make install # (currently doesn't work, needs to be fixed)

Debian/Ubuntu: Owing to bug #808086 the build might fail. To have it build, add the following after line 1938 of /usr/include/c++/v1/string. (see discussion on StackOverflow for more details.)

#if _LIBCPP_STD_VER ::value)

Additionally, on Ubuntu, do:

sudo apt-get install libc++abi-dev && sudo ln -s /usr/include/libcxxabi/__cxxabi_config.h /usr/include/c++/v1/__cxxabi_config.h

Building yuzu in Release Mode (Optimized)

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
sudo make install # (currently doesn't work, needs to be fixed)

Building with debug symbols

cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo

Running without installing

After building, the binaries yuzu and yuzu-cmd (depending on your build options) will end up in build/bin/.

cd build/bin/

# Qt
cd build/bin/


cd data
gdb ../build/bin/yuzu            # Start GDB
(gdb) run                        # Run yuzu under GDB 

(gdb) bt                         # Print a backtrace of the entire callstack to see which codepath the crash occurred on