torzu is a fork of yuzu, the world's most popular, open-source, Nintendo Switch emulator.
Find a file
echosys 7e27e6476d Add option to only optimize SPIRV during load (#13)
Adds a new option "On Load" to the "Optimize SPIRV output" option that turns on optimizations during the loading of the shader cache from disk, but turns it off after that.
The previous checkbox states have been named "Never" for unchecked and "Always" for checked.

The idea is that once the shader cache has most of the shaders in a game cached they can be optimized during initial game startup (where a performance hit matters less) and the few shaders that get compiled during runtime are not optimized to reduce performance hits.

Most of the commit is adding the setting to the Android app, the main logic is in the `gl_shader_cache.cpp` and `vk_pipeline_cache.cpp` files.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/13
Co-authored-by: echosys <echosys@noreply.localhost>
Co-committed-by: echosys <echosys@noreply.localhost>
2024-07-19 19:14:19 +00:00
.github/ISSUE_TEMPLATE Deleted contact links from issue templates 2024-04-05 01:58:28 +02:00
.reuse android: Provide debug.keystore for debug and relWithDebInfo builds 2024-01-21 22:08:07 -05:00
blog Created first blog entry 2024-06-02 11:01:28 +00:00
CMakeModules Replace URLs for precompiled windows binaries 2024-06-11 08:13:25 -07:00
dist Updated onion site links 2024-06-10 19:41:41 +02:00
externals Revert "Removed web service reminiscents" in preparation to fix multiplayer lobby list 2024-06-30 16:54:56 +02:00
hooks chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
LICENSES general: fix trailing whitespace 2024-01-08 09:34:32 -05:00
public_pgp Uploaded my PGP public key 2024-06-01 14:05:11 +00:00
src Add option to only optimize SPIRV during load (#13) 2024-07-19 19:14:19 +00:00
tools Removed telemetry and anonymized SCM (git) strings 2024-04-05 01:58:30 +02:00
.codespellrc core: refactor emulated cpu core activation 2023-12-04 10:37:16 -05:00
.git-blame-ignore-revs Skip git blame 2023-11-04 18:26:49 +00: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 Revert "Removed web service reminiscents" in preparation to fix multiplayer lobby list 2024-06-30 16:54:56 +02:00
CMakeLists.txt Revert "Removed web service reminiscents" in preparation to fix multiplayer lobby list 2024-06-30 16:54:56 +02: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
FAQ.md Added FAQ document 2024-05-08 23:35:57 +02:00
LICENSE.txt chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
README.md Added note about fake websites to README 2024-07-11 22:26:03 +00:00
vcpkg.json android: add oboe audio sink 2023-12-17 01:42:59 -05:00


torzu
torzu

torzu is a fork of yuzu, an open-source Nintendo Switch emulator.
It is written in C++ with portability in mind and runs on Linux and Windows

Fake websites

A lot of fake Torzu websites have popped up. These are not mine. This project will not have a clearnet website for the foreseeable future! I highly advice against downloading anything from these websites, specially if their intention is clearly to make money through advertisements.

Limited public development

I feel like working publicly on this has taken away the fun. You may not understand, but it's quite stressful to have the public eye on a project. Keep in mind, this is just a hobby project. I feel like I always have to keep updating so I don't disappoint you. It's just not a good situation for a hobby project to be in. Turns out: running an open source project takes a lot more time than I have. And then stupid and unnecessary issues like Windows Defender flagging the emulator as malware ruin the rest. I am grateful for all your bug reports, help and support, but all that has distracted me from taking the project into the direction I would've liked.

Today I've accidentally locked myself out of the Tor site out of pure stupidity and one of the things I didn't make a backup of for was the key required to get the same Tor site set back up.

For these reasons, I have decided to limit public development. It is not all over though. My plan is to:

  • continue the blog
  • move the blog into a seperate repository
  • keep this repository updated just enough so it stays compilable on Linux and Windows
  • keep the externals updated
  • push some bigger updates from my private upstream whenever I feel like (no promises)
  • NOT publish releases. If someone feels like publishing builds they should feel free to do that
  • NOT offer support in any way
    • feel free to open issues on the main repository though if you feel like an issue REALLY needs my attention
  • accept pull requests as long as they are of reasonable quality

Again, thanks to everyone who has supported my efforts so far in any way (even by creating bug reports), I really appreciate it.

Compatibility

The emulator is capable of running most commercial games at full speed, provided you meet the necessary hardware requirements.

It runs most Nintendo Switch games released until the date of the Yuzu takedown.

Goals

The first and foremost goal is long-term maintenance. Even if I stop commiting new features I will always do my best to keep the emulator functional and third party dependencies updated. This also means most of the changes made will eventually be bug fixes. Essentially, the main goal is that you can still use this emulator on modern systems in 20 years. It is very important to me that this project is going to be a good base to fork once grass has grown over the whole legal dilemma and people are willing to do real work on this emulator non-anonymously.

A secondary goal is the improvement of usability on low-end systems. This includes both improving the performance of the emulator as well as making games more playable below 100% speed whenever possible (the sync CPU to render speed limit option already helps with that in few cases).

Android support is low priority but would be a nice bonus.

Development

Most of the development happens on Dark Git. It's also where our central repository is hosted.

To clone this git repository, you can use these commands given tor is installed and running:

git -c http.proxy=socks5h://127.0.0.1:9050 clone http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu.git
cd torzu
git submodule update --init --depth 1 --recursive

Alternatively, you can clone from the Codeberg mirror repository:

git clone https://codeberg.org/litucks/torzu.git --depth 1 --recursive

Note that above repository may be taken down any time. Do not rely on its existence in production. In case the Codeberg mirror goes down, another mirror will be most likely be set up on Bitbucket.

This project incorporates several commits from the Suyu and Sudachi forks (but cleaned up due to the typically mediocre code/commit quality from both projects) as well as changes listed in Changes.

GitHub mirror repository

The GitHub mirror repository has been taken down. The new mirror repository is located on Codeberg.

Building

License

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