{"id":22,"date":"2024-03-06T13:45:07","date_gmt":"2024-03-06T12:45:07","guid":{"rendered":"https:\/\/joycraft.fr\/?p=22"},"modified":"2024-03-06T13:45:13","modified_gmt":"2024-03-06T12:45:13","slug":"installation-de-yuzu-sur-linux","status":"publish","type":"post","link":"https:\/\/joycraft.fr\/index.php\/2024\/03\/06\/installation-de-yuzu-sur-linux\/","title":{"rendered":"Installation de Yuzu sur Linux"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">Building for Linux<\/h1>\n\n\n\n<p>liamwhite edited this page&nbsp;on Jul 8, 2023<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-04a5a7c3-adc5-47e9-b95d-14a5d0f81b30\" href=\"https:\/\/joycraft.fr\/wp-content\/uploads\/2024\/03\/yuzu-master.zip\">yuzu-master<\/a><a href=\"https:\/\/joycraft.fr\/wp-content\/uploads\/2024\/03\/yuzu-master.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-04a5a7c3-adc5-47e9-b95d-14a5d0f81b30\">T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<p>&nbsp;\u00b7&nbsp;<a href=\"https:\/\/github.com\/yuzu-emu\/yuzu\/wiki\/Building-for-Linux\/_history\">104 revisions<\/a><\/p>\n\n\n\n<p><strong>This article was written for developers. Users looking to simply run yuzu should try downloading&nbsp;<a href=\"https:\/\/yuzu-emu.org\/downloads\/\">Mainline<\/a>&nbsp;first. As it is an AppImage, it only needs to be downloaded and made executable to use it.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Dependencies<\/h3>\n\n\n\n<p><a href=\"https:\/\/web.archive.org\/web\/20240304183515\/https:\/\/github.com\/yuzu-emu\/yuzu\/wiki\/Building-For-Linux#dependencies\"><\/a><\/p>\n\n\n\n<p>You&rsquo;ll need to download and install the following to build yuzu:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/gcc.gnu.org\/\">GCC<\/a>&nbsp;v11+ (for C++20 support) &amp; misc\n<ul class=\"wp-block-list\">\n<li>This page is being updated as we transition to GCC 11<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>If GCC 12 is installed,&nbsp;<a href=\"https:\/\/clang.llvm.org\/\">Clang<\/a>&nbsp;v14+ is required for compiling<\/li>\n\n\n\n<li><a href=\"https:\/\/www.cmake.org\/\">CMake<\/a>&nbsp;3.15+<\/li>\n<\/ul>\n\n\n\n<p>The following are handled by yuzu&rsquo;s externals:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/ffmpeg.org\/\">FFmpeg<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.libsdl.org\/download-2.0.php\">SDL2<\/a>&nbsp;2.0.18+<\/li>\n\n\n\n<li><a href=\"https:\/\/opus-codec.org\/downloads\/\">opus<\/a><\/li>\n<\/ul>\n\n\n\n<p>If version 5.15.2 is not already installed, pre-compiled binaries for Qt 5.15.2 will be downloaded from&nbsp;<a href=\"https:\/\/web.archive.org\/web\/20240304183515\/https:\/\/github.com\/yuzu-emu\/ext-linux-bin\">here<\/a>&nbsp;automatically by CMake:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/qt-project.org\/downloads\">Qt<\/a>&nbsp;5.15+<\/li>\n<\/ul>\n\n\n\n<p>All other dependencies will be downloaded by&nbsp;<a href=\"https:\/\/vcpkg.io\/\">vcpkg<\/a>&nbsp;if needed:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.boost.org\/users\/download\/\">Boost<\/a>&nbsp;1.79.0+<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/catchorg\/Catch2\">Catch2<\/a>&nbsp;2.13.7 &#8211; 2.13.9<\/li>\n\n\n\n<li><a href=\"https:\/\/fmt.dev\/\">fmt<\/a>&nbsp;8.0.1+<\/li>\n\n\n\n<li><a href=\"http:\/\/www.lz4.org\/\">lz4<\/a>&nbsp;1.8+<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/nlohmann\/json\">nlohmann_json<\/a>&nbsp;3.8+<\/li>\n\n\n\n<li><a href=\"https:\/\/www.openssl.org\/source\/\">OpenSSL<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.zlib.net\/\">ZLIB<\/a>&nbsp;1.2+<\/li>\n\n\n\n<li><a href=\"https:\/\/facebook.github.io\/zstd\/\">zstd<\/a>&nbsp;1.5+<\/li>\n<\/ul>\n\n\n\n<p>If an ARM64 build is intended, export&nbsp;<code>VCPKG_FORCE_SYSTEM_BINARIES=1<\/code>.<\/p>\n\n\n\n<p>Dependencies are listed here as commands that can be copied\/pasted. Of course, they should be inspected before being run.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Arch \/ Manjaro:\n<ul class=\"wp-block-list\">\n<li><code>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<\/code>`<\/li>\n\n\n\n<li>Building with QT Web Engine needs to be specified when running CMake with the param&nbsp;<code>-DCMAKE_CXX_FLAGS=\"-I\/usr\/include\/qt\/QtWebEngineWidgets\"<\/code>&nbsp;with qt5-webengine installed.<\/li>\n\n\n\n<li>GCC 11 or later is required.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Ubuntu \/ Linux Mint \/ Debian:\n<ul class=\"wp-block-list\">\n<li><code>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<\/code><\/li>\n\n\n\n<li>Ubuntu 22.04, Linux Mint 20, or Debian Bullseye or later is required.<\/li>\n\n\n\n<li>Users need to manually specify building with QT Web Engine enabled. This is done using the parameter&nbsp;<code>-DYUZU_USE_QT_WEB_ENGINE=ON<\/code>&nbsp;when running CMake.<\/li>\n\n\n\n<li>Users need to manually specify building with GCC 11. This can be done by adding the parameters&nbsp;<code>-DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11<\/code>&nbsp;when running CMake. i.e.<\/li>\n\n\n\n<li>Users need to manually disable building SDL2 from externals if they intend to use the version provided by their system by adding the parameters&nbsp;<code>-DYUZU_USE_EXTERNAL_SDL2=OFF<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>git submodule update --init --recursive\ncmake .. -GNinja -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fedora:\n<ul class=\"wp-block-list\">\n<li><code>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<\/code><\/li>\n\n\n\n<li>Fedora 32 or later is required.<\/li>\n\n\n\n<li>Due to GCC 12, Fedora 36 or later users need to install&nbsp;<code>clang<\/code>, and configure CMake to use it via&nbsp;<code>-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang<\/code><\/li>\n\n\n\n<li>CMake arguments to force system libraries:\n<ul class=\"wp-block-list\">\n<li>SDL2:&nbsp;<code>-DYUZU_USE_BUNDLED_SDL2=OFF -DYUZU_USE_EXTERNAL_SDL2=OFF<\/code><\/li>\n\n\n\n<li>FFmpeg:&nbsp;<code>-DYUZU_USE_EXTERNAL_FFMPEG=OFF<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/rpmfusion.org\/\">RPM Fusion<\/a>&nbsp;(free) is required to install&nbsp;<code>ffmpeg-devel<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Gentoo:\n<ul class=\"wp-block-list\">\n<li><strong>**Disclaimer**<\/strong>: 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.<\/li>\n\n\n\n<li><code>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<\/code><\/li>\n\n\n\n<li>GCC 11 or later is required.<\/li>\n\n\n\n<li>Users may need to append&nbsp;<code>pulseaudio<\/code>,&nbsp;<code>bindist<\/code>&nbsp;and&nbsp;<code>context<\/code>&nbsp;to the&nbsp;<code>USE<\/code>&nbsp;flag.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Cloning yuzu with Git<\/h3>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-04a5a7c3-adc5-47e9-b95d-14a5d0f81b30\" href=\"https:\/\/joycraft.fr\/wp-content\/uploads\/2024\/03\/yuzu-master.zip\">yuzu-master<\/a><a href=\"https:\/\/joycraft.fr\/wp-content\/uploads\/2024\/03\/yuzu-master.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-04a5a7c3-adc5-47e9-b95d-14a5d0f81b30\">T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<p><a href=\"https:\/\/web.archive.org\/web\/20240304183515\/https:\/\/github.com\/yuzu-emu\/yuzu\/wiki\/Building-For-Linux#cloning-yuzu-with-git\"><\/a><\/p>\n\n\n\n<p><strong>Master:<\/strong> <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/joycraft.fr\/wp-content\/uploads\/2024\/03\/yuzu-master.zip\ncd yuzu<\/code><\/pre>\n\n\n\n<p>The&nbsp;<code>--recursive<\/code>&nbsp;option automatically clones the required Git submodules.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Building yuzu in Release Mode (Optimized)<\/h3>\n\n\n\n<p><a href=\"https:\/\/web.archive.org\/web\/20240304183515\/https:\/\/github.com\/yuzu-emu\/yuzu\/wiki\/Building-For-Linux#building-yuzu-in-release-mode-optimized\"><\/a><\/p>\n\n\n\n<p>If you need to run ctests, you can disable&nbsp;<code>-DYUZU_TESTS=OFF<\/code>&nbsp;and install Catch2.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir build &amp;&amp; cd build\ncmake .. -GNinja -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF\nninja\nsudo ninja install<\/code><\/pre>\n\n\n\n<p>Optionally, you can use&nbsp;<code>cmake-gui ..<\/code>&nbsp;to adjust various options (e.g. disable the Qt GUI).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Building yuzu in Debug Mode (Slow)<\/h3>\n\n\n\n<p><a href=\"https:\/\/web.archive.org\/web\/20240304183515\/https:\/\/github.com\/yuzu-emu\/yuzu\/wiki\/Building-For-Linux#building-yuzu-in-debug-mode-slow\"><\/a>mkdir build &amp;&amp; cd build <br>cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF <br>ninja<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Building with debug symbols<\/h3>\n\n\n\n<p><a href=\"https:\/\/web.archive.org\/web\/20240304183515\/https:\/\/github.com\/yuzu-emu\/yuzu\/wiki\/Building-For-Linux#building-with-debug-symbols\"><\/a>mkdir build &amp;&amp; cd build <br>cmake .. -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF <br>ninja<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Running without installing<\/h3>\n\n\n\n<p><a href=\"https:\/\/web.archive.org\/web\/20240304183515\/https:\/\/github.com\/yuzu-emu\/yuzu\/wiki\/Building-For-Linux#running-without-installing\"><\/a><\/p>\n\n\n\n<p>After building, the binaries&nbsp;<code>yuzu<\/code>&nbsp;and&nbsp;<code>yuzu-cmd<\/code>&nbsp;(depending on your build options) will end up in&nbsp;<code>build\/bin\/<\/code>.# SDL cd build\/bin\/ .\/yuzu-cmd # Qt cd build\/bin\/ .\/yuzu<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Debugging<a href=\"https:\/\/web.archive.org\/web\/20240304183515\/https:\/\/github.com\/yuzu-emu\/yuzu\/wiki\/Building-For-Linux#debugging\"><\/a><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Enable CPU debugging<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1918\" height=\"951\" src=\"https:\/\/joycraft.fr\/wp-content\/uploads\/2024\/03\/yuzu-settings-2.png\" alt=\"\" class=\"wp-image-11\"\/><\/figure>\n\n\n\n<p>   2. Disable both Host MMU emulation options&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1918\" height=\"961\" src=\"https:\/\/joycraft.fr\/wp-content\/uploads\/2024\/03\/yuzu-settings-1.png\" alt=\"\" class=\"wp-image-10\"\/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Run gdb<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>cd data\ngdb ..\/build\/bin\/yuzu # Start GDB\n(gdb) run # Run yuzu under GDB\n&lt;crash&gt;\n(gdb) bt # Print a backtrace of the entire callstack to see which codepath the crash occurred on<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Clone this wiki locally<\/h5>\n\n\n\n<p><a href=\"https:\/\/web.archive.org\/web\/20240304183515\/https:\/\/github.com\/\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Building for Linux liamwhite edited this page&nbsp;on Jul 8, 2023 &nbsp;\u00b7&nbsp;104 revisions This article was written for developers. Users looking to simply run yuzu should try downloading&nbsp;Mainline&nbsp;first. As it is an AppImage, it only needs to be downloaded and made executable to use it. Dependencies You&rsquo;ll need to download and install the following to build [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-22","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/joycraft.fr\/index.php\/wp-json\/wp\/v2\/posts\/22","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/joycraft.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/joycraft.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/joycraft.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/joycraft.fr\/index.php\/wp-json\/wp\/v2\/comments?post=22"}],"version-history":[{"count":1,"href":"https:\/\/joycraft.fr\/index.php\/wp-json\/wp\/v2\/posts\/22\/revisions"}],"predecessor-version":[{"id":23,"href":"https:\/\/joycraft.fr\/index.php\/wp-json\/wp\/v2\/posts\/22\/revisions\/23"}],"wp:attachment":[{"href":"https:\/\/joycraft.fr\/index.php\/wp-json\/wp\/v2\/media?parent=22"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/joycraft.fr\/index.php\/wp-json\/wp\/v2\/categories?post=22"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/joycraft.fr\/index.php\/wp-json\/wp\/v2\/tags?post=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}