torzu is a fork of yuzu, the world's most popular, open-source, Nintendo Switch emulator.
Find a file
mateomaui 93c9c33b9f revert changes introduced in EA3835 to audio sink auto-select, fixing stuttering in Diablo 3, etc (#3)
Reverts most of this commit (but not all, some parts are still needed, or were reverted already in later EAs): 39c8ddcda2 or 39c8ddcda2

Above commit to the audio sink was first included in EA-3835, changing the way an audio engine is auto-selected by lowest latency... but still doesn't work very well, often using cubeb when it should use SDL.

A side effect of this was that microstuttering was introduced in a few titles. In Diablo 3, the main player character appears to teleport forward a few steps, every couple of steps. It's a consistent, constant stutter when simply walking forward. Occurs for both SDL and cubeb, with cubeb noticeably worse.

3834 and 3833 didn't have this issue with SDL, and the commit above was the bulk of the changes for 3835. Reverting those changes back to the 3833 version has fixed the stutter (for me at least) in D3 as long as SDL is selected (cubeb still stutters). The only observed negative is the audio engine may need to be manually selected in global settings instead of using auto.

Also seems to have fixed intermittent microstutters in TOTK and RDR. Unaware of other titles this may fix, or possibly create a problem for (though creating issues probably is not likely.)
2024-07-06 20:38:09 +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 revert changes introduced in EA3835 to audio sink auto-select, fixing stuttering in Diablo 3, etc (#3) 2024-07-06 20:38:09 +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 Note added to README about DEFINITELY incoming DMCA takedown 2024-07-06 22:31:49 +02: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

!!! PENDING GITHUB MIRROR TAKEDOWN !!!

I have received a takedown notice from GitHub!

Hi litucks,

GitHub Trust & Safety is contacting you because we've received a DMCA takedown notice regarding the following content:

https://github.com/litucks/torzu

You can see the DMCA takedown notice that we received here, which includes the complainant's requested changes to your repository:

https://enterprise.githubsupport.com/attachments/token/IRkbmN2s4Pu7U7fwBNZ2hXYoP/?name=2024-07-05-nintendo.rtf

We want to make clear that it is never our desire or goal to take down open source projects, but instead to help developers address DMCA concerns with their projects. To that end, you have some options:

1. If you choose to make changes in response to this takedown notice, you'll have 1 business day to make the requested changes. Once you've made the changes, please reply to this message and let us know. If you don't tell us that you've made changes within the next 1 business day, we'll need to disable the entire repository according to our GitHub DMCA Takedown Policy - https://docs.github.com/en/github/site-policy/dmca-takedown-policy

If you need to remove specific content from your repository, simply making the repository private or deleting it via a commit won't resolve the alleged infringement. Instead, you must follow these instructions to remove the content from your repository's history, even if you don't think it's sensitive - https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/removing-sensitive-data-from-a-repository

2. If you believe your content on GitHub was mistakenly identified by a DMCA takedown request, you have the right to contest the takedown by submitting a counter notice, as described in our DMCA Takedown Policy - https://docs.github.com/en/github/site-policy/dmca-takedown-policy

We want to help ensure you can make informed decisions when responding to this takedown request. To help, we have partnered with leading legal providers who can help you evaluate the takedown request and determine how to respond at no cost to you. If you are interested in receiving legal support through this program (https://github.blog/2021-07-27-github-developer-rights-fellowship-stanford-law-school/), reply to this message to let us know that.

It is important that you reply to this message within 1 business day regardless of which option you choose. If you do not, the repository will be disabled.

Please let us know if you have any questions or need any help removing the content.

Regards,
GitHub Trust & Safety

The next mirror repository is going to be at: https://codeberg.org/litucks/torzu (repo privatized until then) unless anything comes in the way. Otherwise you can use the button in the "About" menu of the emulator to get to the current mirror repository or simply check out the main repository.

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 GitHub mirror repository:

git clone https://github.com/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 GitHub 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.

Building

License

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