suyu is a Nintendo Switch emulator in c++ aiming to help developers understand the console better and advocate legal emulation
Find a file
David d129905a66 Extra nvdrv support (#162)
* FinishInitalize needed for 3.0.1+ games

* nvdrv:s and nvdrv:t both use NVDRV

* Most settings return 0 on hardware, disabled NV_MEMORY_PROFILER for now.

NVN_THROUGH_OPENGL & NVRM_GPU_PREVENT_USE are a few interesting settings to look at. Carefully choosing settings can help with drawing graphics later on

* Initial /dev/nvhost-gpu support

* ZCullBind

* Stubbed SetErrorNotifier

* Fixed SetErrorNotifier log, Added SetChannelPriority

* Allocate GPFIFO Ex2, Allocate Obj Ctx, Submit GPFIFO

* oops

* Fixed up naming/structs/enums. Used vector instead of array for "gpfifo_entry"

* Added missing fixes

* /dev/nvhost-ctrl-gpu

* unneeded struct

* Forgot u32 in enum class

* Automatic descriptor swapping for ioctls, fixed nvgpu_gpu_get_tpc_masks_args being incorrect size

* nvdrv#QueryEvent

* Renamed logs for nvdrv

* Refactor ioctl so nv_result isn't needed

* /dev/nvhost-as-gpu

* Fixed Log service naming, CtxObjects now u32, renamed all structs, added static_asserts to structs, used INSERT_PADDING_WORDS instead of u32s

* nvdevices now uses "Ioctl" union,

* IoctlGpfifoEntry now uses bit field

* final changes
2018-02-05 18:19:31 -08:00
.github Minor cleanup 2018-01-13 23:56:18 +00:00
.travis travis: Remove CMAKE_OSX_ARCHITECTURES argument 2018-01-27 15:36:38 +00:00
CMakeModules Fix build on macOS and linux 2018-01-13 22:38:52 +00:00
dist Implement "About" dialog 2018-01-14 19:15:45 +01:00
externals externals: Update catch to v2.1.1 2018-01-27 15:42:56 -05:00
hooks hook: remove clang-format check 2017-02-17 13:52:23 +02:00
src Extra nvdrv support (#162) 2018-02-05 18:19:31 -08:00
.gitignore Add the .vs folder and the CMakeSettings.json file from Visual Studio to gitignore. 2017-09-30 11:07:57 -05:00
.gitmodules Build: Add unicorn as a submodule and build it if needed 2018-01-16 01:15:52 -07:00
.travis.yml Added webhook notifications to TravisCI build. 2018-01-27 02:53:25 +00:00
appveyor.yml Build: Add missing dlls to msvc release 2018-01-18 10:25:37 -07:00
CMakeLists.txt Merge pull request #144 from KAMiKAZOW/patch-1 2018-01-26 18:33:51 -05:00
CONTRIBUTING.md CMake: Update contributing guide with the new clang format info 2018-01-20 16:44:23 -07:00
Doxyfile Minor cleanup 2018-01-13 23:56:18 +00:00
license.txt added license txt file 2014-04-08 19:03:00 -04:00
README.md Update README.md to include AppVeyor build status. 2018-01-16 12:24:15 -05:00

yuzu emulator

Travis CI Build Status AppVeyor CI Build Status

yuzu is an experimental open-source emulator for the Nintendo Switch from the creators of Citra.

It is written in C++ with portability in mind, with builds actively maintained for Windows, Linux and macOS. The emulator is currently only useful for homebrew development and research purposes.

yuzu only emulates a subset of Switch hardware and therefore is generally only useful for running/debugging homebrew applications. At this time, yuzu does not run any commercial Switch games. yuzu can boot some games, to varying degrees of success, but does not implement any of the necessary GPU features to render 3D graphics.

yuzu is licensed under the GPLv2 (or any later version). Refer to the license.txt file included.

Check out our website!

For development discussion, please join us on Discord.

Development

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

If you want to contribute please take a look at the Contributor's Guide and Developer Information. You should as well contact any of the developers on Discord in order to know about the current state of the emulator.

Building

Support

We happily accept monetary donations or donated games and hardware. Please see our donations page for more information on how you can contribute to yuzu. 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.)

We also more than gladly accept used Switch consoles, preferably ones with firmware 3.0.0 or lower! If you would like to give yours away, don't hesitate to join our Discord and talk to bunnei. You may also contact: donations@yuzu-emu.org.