3.2 KiB
3.2 KiB
Dependencies
You'll need to download and install the following to build yuzu:
All other dependencies will be downloaded by conan if needed:
- Boost
- Catch2
- fmt
- lz4
- nlohmann_json
- OpenSSL
- opus
- ZLIB
- zstd
Distro Commands Arch sudo pacman -S --needed git base-devel ninja cmake sdl2 qt5 python2 python-pip boost catch2 fmt libzip lz4 mbedtls nlohmann-json openssl opus zlib zstd && sudo pip install conan
Ubuntu / Debian sudo apt-get install git build-essential ninja-build cmake libboost-all-dev libsdl2-2.0-0 libsdl2-dev qtbase5-dev libqt5opengl5-dev qtbase5-private-dev python2 python-pip && sudo pip install conan
Fedora sudo dnf install git gcc ninja-build cmake SDL2-devel qt5-qtbase-devel python2 python-pip boost-devel fmt-devel libzip-devel libzstd-devel lz4-devel mbedtls-devel openssl-devel opus-devel zlib-devel && sudo pip install conan
Gentoo emerge dev-vcs/git =sys-devel/gcc-7.1.0 dev-util/ninja dev-util/cmake media-libs/libsdl2 dev-qt/qtcore dev-qt/qtopengl && sudo pip install conan
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!
Cloning yuzu with Git
Master:
git clone --recursive https://github.com/yuzu-emu/yuzu
cd yuzu
Mainline (no assert):
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)
mkdir build && cd build
cmake .. -GNinja
ninja
sudo ninja install # (currently doesn't work, needs to be fixed)
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
ninja
Building with debug symbols
mkdir build && cd build
cmake .. -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo
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
Debugging
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