Nintendo Switch emulator
Go to file
comex 91eb5afd0b Warnings cleanup for GCC 13 and Clang 16
Note: For GCC there are still a huge number of `-Warray-bounds` warnings
coming from `externals/dynarmic`.  I could have added a workaround in
`externals/CMakeLists.txt` similar to what this PR does for other
externals, but given Dynarmic's close affiliation with Yuzu, it would be
better to fix it upstream.

Besides that, on my machine, this makes the build warning-free except
for some warnings from glslangValidator and AutoMoc.

Details:

- Disable some warnings in externals.

- Disable `-Wnullability-completeness`, which is a Clang warning triggered
  by the Vulkan SDK where if any pointers in the header are marked
  _Nullable, it wants all pointers to be marked _Nullable or _Nonnull.
  Most of them are, but some aren't.  Who knows why.

- `src/web_service/verify_user_jwt.cpp`: Disable another warning when
  including `jwt.hpp`.

- `src/input_common/input_poller.cpp`: Add missing `override` specifiers.

- src/common/swap.h: Remove redundant `operator&`.  In general, this
  file declares three overloads of each operator.  Using `+` as an
  example, the overloads are:

  - a member function for `swapped_t + integer`
  - a member function for `swapped_t + swapped_t`
  - a free function for `integer + swapped_t`

  But for `operator&`, there was an additional free function for
  `swapped_t + integer`, which was redundant with the member function.
  This caused a GCC warning saying "ISO C++ says that these are
  ambiguous".
2023-08-25 19:22:31 -04:00
.ci Merge pull request #11042 from lat9nq/wayland-appimage 2023-07-22 11:17:48 -04:00
.github verify: Remove dependence on chocolatey 2023-07-07 14:08:18 -04:00
.reuse android: Various fixes for CI. 2023-06-03 00:06:05 -07:00
CMakeModules Add macos moltenvk bundle, Add copy moltevk dylib script 2023-08-22 10:22:28 +08:00
dist Update translations (2023-08-01) (#11198) 2023-08-01 13:24:57 +02:00
externals Warnings cleanup for GCC 13 and Clang 16 2023-08-25 19:22:31 -04:00
hooks chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
LICENSES android: Various fixes for CI. 2023-06-03 00:06:05 -07:00
src Warnings cleanup for GCC 13 and Clang 16 2023-08-25 19:22:31 -04:00
.codespellrc codespellrc: Ignore canonicalizations 2023-07-21 10:56:55 -04:00
.gitattributes chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
.gitignore android: Initialize defaults for each orientations 2023-06-14 16:35:58 -04:00
.gitmodules cmake: allow using system VMA library 2023-07-12 04:51:45 +02:00
CMakeLists.txt Add macos moltenvk bundle, Add copy moltevk dylib script 2023-08-22 10:22:28 +08:00
CONTRIBUTING.md chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
Doxyfile chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
LICENSE.txt chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
README.md 📝 Update README.md 2023-08-04 17:58:49 +02:00
vcpkg.json externals: Update vcpkg to 2023.06.17 2023-06-17 21:46:09 -04:00


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 | Support | License

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

Download

You can download the latest releases automatically via the installer on our downloads page.

Support

If you enjoy the project and want to support us financially, check out our Patreon!

Any donations received will go towards things like:

  • Switch consoles to explore and reverse-engineer the hardware
  • Switch games for testing, reverse-engineering, and implementing new features
  • Web hosting and infrastructure setup
  • Software licenses (e.g. Visual Studio, IDA Pro, etc.)
  • Additional hardware (e.g. GPUs as-needed to improve rendering support, other peripherals to add support for, etc.)

If you wish to support us a different way, please join our Discord and talk to bunnei. You may also contact: donations@yuzu-emu.org.

License

yuzu is licensed under the GPLv3 (or any later version). Refer to the LICENSE.txt file.