suyu is a Nintendo Switch emulator in c++ aiming to help developers understand the console better and advocate legal emulation
Find a file
Kyle Kienapfel 31c6ba7ecd tweak API usage in qt_web_browser.cpp
In testing future versions of Qt I forgot to compile with `YUZU_USE_QT_WEB_ENGINE`, so with that flag enabled there are two issues that cropped up.

1. yuzu currently uses setRequestInterceptor, added in Qt 5.6, deprecated in 5.13 with this explaination at https://doc.qt.io/qt-5/qwebengineprofile-obsolete.html
Interceptors installed with this method will call QWebEngineUrlRequestInterceptor::interceptRequest on the I/O thread. Therefore the user has to provide thread-safe interaction with the other user classes. For a duration of this call ui thread is blocked. Use setUrlRequestInterceptor instead.

2. QWebEngineSettings::globalSettings() pointer no longer exists in later versions of Qt

From what I can tell, QtNXWebEngineView doesn't need to set these globally,
when we make changes to settings(), QtWebEngineView::page() creates the page
object if it doesn't exist yet. I don't see the page object being destroyed
or otherwise replaced, except via destroying the QtNXWebEngineView object.

The globalSettings() make sense if Pages or Views objects are being
created outside of yuzu's control.

To test this I've compared what BrowseNX and Odyssey's Action guide do in mainline 1049 and this PR.

For now we're going to go up the chain to QWebEngineProfile::defaultProfile()->settings()
2022-06-21 17:48:17 -07:00
.ci ci: Update build generator to VS 2022 2022-04-24 23:36:59 -04:00
.github .ci: Use Github Actions to update translation source files 2021-10-15 15:12:14 +02:00
CMakeModules Allow overriding SCM version info 2021-12-20 19:13:07 -05:00
dist Merge pull request #8405 from Docteh/dock_undock 2022-06-10 23:11:29 -04:00
externals video_core: Support new VkResult 2022-05-17 17:37:10 +02:00
hooks pre-commit: Change comment from citra to yuzu 2018-03-26 21:34:19 +02:00
src tweak API usage in qt_web_browser.cpp 2022-06-21 17:48:17 -07:00
.gitattributes Meta: Add gitattributes file 2018-09-22 23:31:44 +02:00
.gitignore Port #3702 from Citra 2018-07-26 15:35:24 +02:00
.gitmodules audio_core: remove time stretcher 2022-04-01 19:54:58 +02:00
.lgtm.yml Remove bad and useless packages from LGTM build 2020-09-11 17:32:22 +03:00
CMakeLists.txt core/debugger: Improved stepping mechanism and misc fixes 2022-06-01 02:15:15 -04:00
CONTRIBUTING.md Update CONTRIBUTING.md 2019-11-12 21:42:43 -05:00
Doxyfile Minor cleanup 2018-01-13 23:56:18 +00:00
license.txt Update project license to GPL v3. 2022-03-24 18:51:23 -07:00
README.md Clarify the Skyline Emulator license exception 2022-04-18 10:59:35 +02: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 and Linux.

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 support, 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.

The Skyline-Emulator Team may choose to use the code from these contributors under the GPL-3.0-or-later OR MPL-2.0: FernandoS27, lioncash, bunnei, ReinUsesLisp, Morph1984, ogniK5377, german77, ameerj, Kelebek1 and lat9nq