31c6ba7ecd
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() |
||
---|---|---|
.ci | ||
.github | ||
CMakeModules | ||
dist | ||
externals | ||
hooks | ||
src | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.lgtm.yml | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
Doxyfile | ||
license.txt | ||
README.md |
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.
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
- Windows: Windows Build
- Linux: Linux Build
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