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 [Conan](https://conan.io/downloads.html) if needed:
All other dependencies will be downloaded by [vcpkg](https://vcpkg.io/) if needed:
- 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.
- 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.
- Ubuntu 20.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 10. This can be done by adding the parameters `-DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10` when running CMake. i.e.
- 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`
- Though this should have been similar to Fedora, this ends up being a tad bit more involved due to the distro's older or missing packages. Fortunately, at least Rocky Linux 8 makes `g++-10` available directly in the package manager, so it's just a matter of finding the other smaller dependencies. (CentOS 8 does **not** have `g++-10`, so it is even less trivial to build yuzu there.)
- `sudo dnf config-manager --set-enabled powertools # Required for ninja-build and nasm`
- `/opt/rh/gcc-toolset-10/root/usr/bin` must be added to the front of the `PATH`.
- [CMake](https://cmake.org/download/) (cmake-[version]-linux-x86_64.tar.gz) and [glslangValidator](https://github.com/KhronosGroup/glslang/releases/latest) (glslang-master-linux-Release.zip) must be downloaded and installed separately. To "install" them, extract the archives and copy their contents into the `$HOME/.local/`, such that the directory structure looks like `$HOME/.local/bin` and so on. -->
- 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.
- Users may need to append `pulseaudio`, `bindist` and `context` to the `USE` flag.
### If this is your first time installing Conan:
If this your first time installing Conan, **you may have to log in and log out again** if you are on a Ubuntu-based distribution (alternatively, you can ensure your `$PATH` has been updated).
This is because `$HOME/.local/bin` needs to be included in the `PATH` variable. Check your `$HOME/.profile` and `$HOME/.bashrc` files, if `PATH=$HOME/.local/bin:$PATH` is not present, append that line to one of either file, then log out and log back in. Fedora and Ubuntu by default already have this covered, though Ubuntu users should log out and log back in to enable it.
### Cloning yuzu with Git
**Master:**
@ -102,9 +91,11 @@ 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.