Nintendo Switch Emulator

Overview


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: [email protected].

License

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

The Skyline-Emulator Team is exempt from GPLv2 for the contributions from all these contributors FernandoS27, lioncash, bunnei, ReinUsesLisp, Morph1984, ogniK5377, german77, ameerj, Kelebek1 and lat9nq. They may only use the code from these contributors under Mozilla Public License, version 2.0.

Issues
  • Fails to start on Gentoo (SegFault)

    Fails to start on Gentoo (SegFault)

    Be it Gentoo, Arch, or Debian, random revisions will randomly give me this specific error dynarmic: POSIX SigHandler: Exception was not in registered code blocks (rip 0x007fb288160861) Segmentation fault While others will be fine.

    This is yuzu 1699, but applies to multiple versions. Using GDB I get this output

    Thread 1 "yuzu" received signal SIGSEGV, Segmentation fault. 0x00007ffff518d861 in ?? () from /lib64/libc.so.6

    This will also occur in the latest mainline build.

    System: Host: Mels-PC Kernel: 5.10.27-gentoo-x86_64 x86_64 bits: 64 compiler: N/A Desktop: KDE Plasma 5.20.5 tk: Qt 5.15.2 wm: kwin_x11 dm: SDDM Distro: Gentoo Base System release 2.7 CPU: Info: Quad Core model: Intel Core i7-7700 bits: 64 type: MT MCP arch: Kaby Lake rev: 9 L2 cache: 8192 KiB flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 57616 Speed: 4186 MHz min/max: 800/4200 MHz Core speeds (MHz): 1: 4186 2: 4186 3: 4188 4: 4051 5: 4052 6: 4097 7: 4139 8: 4124 Graphics: Device-1: Intel HD Graphics 630 vendor: Micro-Star MSI driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:5912 Device-2: NVIDIA GP104 [GeForce GTX 1080] vendor: eVga.com. driver: nvidia v: 460.67 bus ID: 01:00.0 chip ID: 10de:1b80 Display: x11 server: X.org 1.20.11 compositor: kwin_x11 driver: intel,nvidia unloaded: fbdev,modesetting,nouveau,vesa alternate: nv resolution: OpenGL: renderer: GeForce GTX 1080/PCIe/SSE2 v: 4.6.0 NVIDIA 460.67 direct render: Yes

    opened by Melechtna 81
  • Project Mjölnir: Part 3 - Controller Profiles and Vibration Rework

    Project Mjölnir: Part 3 - Controller Profiles and Vibration Rework

    Project Mjölnir: Part 3 - Controller Profiles and Vibration Rework

    This is the final part of a multipart rewrite to yuzu's HID (Human Interface Device) frontend and backend implementations.

    Wrapping this up, we bring you the final part of Project Mjölnir with 2 big features - Controller Profiles and Vibration Rework, both requiring many other miscellaneous improvements to all aspects of HID in the frontend and backend.

    Controller Profiles

    The placeholder since Part 1 of the input rewrite is no more! Controller Profiles are finally here!

    profile

    Due to the way input is handled in yuzu, we had to create a profile system that adapts the existing system to ensure maximum compatibility. As a result, controller profiles are formatted similarly to the [Controls] section of the qt-config.ini file.

    Controller Profiles currently save the following data:

    • Emulated Controller (Only Left and Right Joycons)
    • Real Input Device used (engine/guid/port)
    • All buttons
    • All axes
    • All vibration devices (auto-generated by yuzu)
    • All motion devices (via the Motion 0 and 1 buttons)

    Everything else, such as the docked/undocked state, vibration and motion enabled, per player vibration (enabled and strength modifier), player connection status are NOT saved the input profile.

    Controller profiles are saved under config/input in the yuzu AppData directory or user directory for portable installations.

    Profiles are loaded by clicking on the dropdown/combobox and selecting the desired profile as shown below.

    load_profile

    Vibration Rework

    After the initial work on rumble done by german77, there were a few games where rumble didn't work, and the implementation was incomplete, not supporting vibrations beyond the first connected player.

    The Nintendo Switch has the capability to 1. Distinguish between left and right vibration devices or motors and 2. Vibrate them independently of one another. This poses a challenge for libraries like SDL, which do not expose these capabilities. Furthermore, sending these vibrations in quick succession would result into performance issues for some controllers, as evidenced by the various reports using the Xbox controllers.

    In order to solve these issues, we had to look into how HID encodes the vibration device handle - a unique handle used to distinguish between different controllers.

    After decoding the device handle, it consists of the following:

    A u8 npad_type, a u8 npad_id, and finally, a u8 device_index

    These are all the information needed to vibrate a vibration device/motor at the correct location.

    Armed with this knowledge, we can implement more vibration related HID commands such as InitializeVibrationDevice, GetVibrationDeviceInfo and IsVibrationDeviceMounted, and properly implement commands such as SendVibrationValue, SendVibrationValues and GetVibrationValue.

    By implementing these commands, we have fixed all the games that previously had issues with rumble or exhibit no rumble at all, such as Hollow Knight, Fire Emblem Three Houses, 1-2 Switch, Xenoblade Chronicles and many more.

    This has also allowed us to implement per player vibrations - allowing for vibrations to be separated per player and per vibration device. This means that if you have single joycons connected via programs such as BetterJoy, you can select the "Any" input device, map both joycons to the left and right buttons/analogs/motions respectively, and both joycons will be able to vibrate! The process of "mapping" a vibration device is done automatically so there is no setup required!

    We have also allowed for enabling/disabling vibrations per player, and controlling the vibration strengths for each, allowing for fine tuning of rumble to meet your needs.

    Performance issues are also resolved by adding a few heuristics to reduce vibration state changes, and a toggle to enable/disable accurate vibrations, This toggle reduces the effective vibration rate - the rate at which vibrations are sent. By default this is set to disabled.

    configure_vibration

    Controllers that do not support vibration are automatically detected and will have their rumble capabilities disabled in the backend. Resulting in no vibrations sent to SDL/GCAdapter.

    Keep in mind that all these changes to vibration required a significant overhaul to the rumble system. In order for vibrations to work, you must open the Configure window and click on Ok once to allow the vibration devices to be "mapped" properly.

    Misc. changes

    There are many other improvements that streamlines the user experience, some of which are detailed below:

    • Cleaned up many UI element sizes between all three themes - now button/combobox/spinbox sizes and spacing are more consistent
    • The controller applet now auto-accepts a valid singleplayer configuration. Multiplayer configurations will still have to be manually accepted.
    • Mouse clicks now register (only if touch is disabled under Controls -> Advanced)
    • The Player 1 controller is automatically connected on boot if none are connected
    • Testing period for motion is reduced to 5 seconds from 8
    • Input devices no longer revert to "Any" and selecting an input device would properly block inputs from other input devices
    • The "Defaults" button now restores the automapped bindings for the selected input device
    • Rewrite and correct all input parameters in all HID service commands
    • Per game configs are moved to config/custom
    • Return of "Map Analog Stick" for manual mapping - fixes analog stick mapping for controllers without SDL_GameController bindings
    • The input config in the controller applet is replaced by a button to create input profiles - this will be used in a future PR

    This fixes #3743, fixes #4738, fixes #4800, fixes #4818 and fixes #4928

    early-access-merge 
    opened by Morph1984 43
  • Pokemon Legends Arceus 0 FPS issue (AMD CPU With Multicore Enabled)

    Pokemon Legends Arceus 0 FPS issue (AMD CPU With Multicore Enabled)

    When playing Pokemons Legends Arceus after some time (not much) running the game smootly and stable the FPS goes down to 0 (sound keeps playing) and keep in this state forever. This happens in Windows 11 and Ubuntu Linux too. This happens in both OpenGL and Vulkan. My PC Specs: Ryzen 7 2700, AMD Radeon RX 5700, 20GB RAM

    Screenshot of the issue image

    opened by ZantsuRocks 41
  • input_common: First implementation of controller rumble

    input_common: First implementation of controller rumble

    This is an approach to implement a basic controller rumble. It enables vibrations on Pro Controllers that can use sdl_haptics. The first button of player settings is used as a reference to know which controller corresponds to which player.

    From testing and debugging I found that controller_ids should be splitted into 4 bytes. The second rightmost byte always contains the player number.

    Most of the code added should be changed with a better method. I'm looking to fix it until everyone it's happy with the code.

    Closes #3894

    early-access-merge 
    opened by german77 40
  • Shader Decompiler Rewrite

    Shader Decompiler Rewrite

    Shader Decompiler Rewrite

    This new Pull Request introduces yuzu’s new shader decompiler! The shader decompiler is the module which takes care of transforming the native Maxwell 2nd Gen Assembly shaders from the switch into different shading languages such as GLSL, SPIR-V and GLASM.

    Motivation

    The current shader decompilation pipeline was designed early on to mainly support GLSL code emission, with incorrect assumptions regarding hardware behavior. As new games began to make better use of the hardware, maintaining the decompiler became more challenging. Thus we wanted to redesign the decompiler to be more decoupled from the backends, and allow for easier integration with the backends and more accurate code emission.

    There have also been massive improvements to RE and behavior verification tools. The accuracy of the new decoder was constantly unit tested using the nxgpucatch homebrew.

    Design

    The new shader decompiler has multiple steps: Decoding, Transforming to IR, Reconstructing Control Flow, Optimizations and, finally, transformation to desired high level language.

    Decoding and IR

    The design of the new decoder and IR were heavily inspired by our sister project: Dynarmic.

    Dynarmic is an extremely fast ARMv8/ARMv6k/ARMv7 to x86-64 just in time recompiler, which is used in yuzu for CPU emulation. For the purposes of the shader decompiler, dynarmic’s code for the decoder and IR were fully repurposed for GPU shader decompilation.

    Reconstructing the Control Flow

    For the elimination of branches and converting the code into structured code we use: “AM Erosa, LJ Hendren’s Goto Elimination Technique”. The technique works by representing all the branches as conditional gotos and use movement operations and enclosures to eliminate gotos. It uses 3 kinds of movements: Outward, Lifting, and Inward movements. This technique is guaranteed to eliminate all Gotos.

    Optimizations Passes

    The new shader decompiler uses the same optimization passes dynarmic uses on the IR plus some unique ones adapted to the particular shader type. The base ones from dynamic: Deadcode pass, SSA transformation (not really an optimization itself, but a language in SSA form is easier to optimize) and Constant propagation. We also added some passes to transform from FP16 to FP32 instructions when the GPU itself doesn’t support FP16 or has a faulty implementation, and similarly with Int64 to Int32 pass.

    Credits

    Main development: @ReinusesLisp @ameerj and @FernandoS27 Linux porting/testing @lat9nq Dynarmic, all contributors, especially @Merrymage and @Lioncash. Testing: Yuzu Team(@BSoDGaming, @gidoly, @GoldenX86, @kelebek1 @Morph1984, @MysticExile, @its-Rei, @ToxaGaming)

    fixes #6530, fixes #6336, fixes #6391, fixes #6290, fixes #6151, fixes #6001, fixes #5996, fixes #5926, fixes #5910 fixes #5913, fixes #5811, fixes #5791, fixes #5767, fixes #5763 fixes #5749, fixes #5748, fixes #5307, fixes #4994, fixes #4992, fixes #4844 fixes #4864, fixes #4813, fixes #4749, fixes #4748, fixes #4747, fixes #4707, fixes #4551, fixes #4387, fixes #4339, fixes #4252, fixes #4253, fixes #4077, fixes #4038, fixes #330

    gpu-new gpu-fix gpu early-access-merge 
    opened by ameerj 38
  • Linux build guide for master/mainline doesn't work since vulkan merge

    Linux build guide for master/mainline doesn't work since vulkan merge

    Until yesterday (feb 2nd) I was able to build yuzu-mainline from source. I saw that vulkan was merged today, and now I'm unable to build. I tried Qt 5.12 and Qt 5.14 and both gives the same errors:

    yuzu-mainline/src/yuzu/configuration/configure_graphics.cpp:8:10: fatal error: QVulkanInstance: No such file or directory
     #include <QVulkanInstance>
              ^~~~~~~~~~~~~~~~~
    compilation terminated.
    src/yuzu/CMakeFiles/yuzu.dir/build.make:374: recipe for target 'src/yuzu/CMakeFiles/yuzu.dir/configuration/configure_graphics.cpp.o' failed
    make[2]: *** [src/yuzu/CMakeFiles/yuzu.dir/configuration/configure_graphics.cpp.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    
    yuzu-mainline/src/yuzu/bootmanager.cpp:18:10: fatal error: QVulkanWindow: No such file or directory
     #include <QVulkanWindow>
              ^~~~~~~~~~~~~~~
    compilation terminated.
    src/yuzu/CMakeFiles/yuzu.dir/build.make:182: recipe for target 'src/yuzu/CMakeFiles/yuzu.dir/bootmanager.cpp.o' failed
    make[2]: *** [src/yuzu/CMakeFiles/yuzu.dir/bootmanager.cpp.o] Error 1
    

    I'm running Linux Mint 19.3 based on Ubuntu 18.04. To access newer versions of Qt I installed in a different path, I use the following commands to build:

    LD_LIBRARY_PATH="/opt/qt514/libH" cmake .. -DCMAKE_BUILD_TYPE=Release
    
    LD_LIBRARY_PATH="/opt/qt514/lib:$LD_LIBRARY_PATH" make -j16
    

    Do I need to install anything else not in the documentation for it to build?

    My computer specs: AMD Ryzen 1800X, 32GB of RAM, Nvidia GTX 1070, Driver: 440.48.02

    Thanks!

    opened by Gustav0ar 37
  • SEGFAULT when opening configuration on linux distros shipping OpenSSL

    SEGFAULT when opening configuration on linux distros shipping OpenSSL

    Hello! Whenever I try to open the configuration window, yuzu segfaults.

    • yuzu-linux-20191007-08340e999
    • Arch Linux (5.3.4-zen)
    • backtrace: https://gist.github.com/FaithLV/4ebc5309edf512a931329c989ba38e1e
    • yuzu_log.txt is empty

    First when launching yuzu I had an issue of missing libsndio.so.6.1, so I symlinked to libsndio.so.7.0.

    regression 
    opened by valters-tomsons 30
  • video_core: Reimplement the buffer cache

    video_core: Reimplement the buffer cache

    Reimplement the buffer cache using cached bindings and page level granularity for modification tracking. This also drops the usage of shared pointers and virtual functions from the cache.

    • Bindings are cached, allowing to skip work when the game changes few bits between draws.
    • OpenGL Assembly shaders no longer copy when a region has been modified from the GPU to emulate constant buffers, instead GL_EXT_memory_object is used to alias sub-buffers within the same allocation.
    • OpenGL Assembly shaders stream constant buffer data using glProgramBufferParametersIuivNV, from NV_parameter_buffer_object. In theory this should save one hash table resolve inside the driver compared to glBufferSubData.
    • A new OpenGL stream buffer is implemented based on fences for drivers that are not Nvidia's proprietary, due to their low performance on partial glBufferSubData calls synchronized with 3D rendering (that some games use a lot).
    • Most optimizations are shared between APIs now, allowing Vulkan to cache more bindings than before, skipping unnecessary work.

    This commit adds the necessary infrastructure to use Vulkan object from OpenGL. Overall, it improves performance and fixes some bugs present on the old cache. There are still some edge cases hit by some games that harm performance on some vendors, this are planned to be fixed in later commits.

    Regression tracking:

    • [x] Fire Emblem: Three Houses crashing before showing anything on Vulkan.
    • [x] Xenoblade Vulkan won't load fonts.
    • [x] Fire Emblem Warriors black screen at boot.
    • [x] Animal Crossing: New Horizons black screen.
    • [x] Fire Emblem: Three Houses crashes on OpenGL assembly shaders.
    • [x] Age of Calamity doesn't render on GLSL.
    • [x] Bravely Default 2 Demo black screen.
    • [x] Bravely Default 2 crashes on Vulkan.
    • [x] Final Fantasy X crashes at boot on Vulkan.
    • [x] Dragonball Fighters Z doesn't render on GLSL.
    • [x] Hollow Knight has pixelated fog on GLSL.
    • [x] Hollow Knight crashes on Vulkan.
    • [x] Link's Awakening boot screen doesn't render on GLSL.
    • [x] Oninaki vertex explosions.
    • [x] Shin Megami Tensei 3 has broken graphics on GLSL.
    • [x] ~~Mario and Rabbids has graphical issues.~~ Happens on mainline Vulkan
    • [x] Several games softlock on Vulkan.
    • [x] Astral Chain can crash/softlock on some cutscenes.
    • [x] ~~Final Fantasy Maxima crashes on Vulkan.~~ Unrelated to this PR, fixed in #5796.
    • [ ] Crash Nitro Fueled no longer boots with high accuracy on Intel.
    • [x] Pokémon Let's go Eevee is slower on Intel.
    • [x] Astral Chain crashes on Vulkan when trying to use a null descriptor as index buffer.
    • [ ] Link's Awakening has animation issues with chain chomps on Pascal and older generations on Vulkan with high GPU accuracy.
    performance gpu early-access-merge 
    opened by ReinUsesLisp 29
  • Project Kraken: Input rewrite

    Project Kraken: Input rewrite

    Project kraken is a full input rewrite that will open the path to many requested features while reducing issues related to input.

    Please report any issue with the input because there isn't a single file that is untouched by this PR. This includes controller configuration, applets, controller support and in game actions. Many workarounds were removed since they aren't needed anymore as emulation is more accurate.

    This PR doesn't bring many changes noticeable by users but the code is like the difference between day and night. As an example here is the amount of effort you need to read controller data:

        auto* controller = system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
        controller->Connect();
        const auto buttons = controller->GetNpadButtons();
        if (buttons.a || buttons.b) {
            // Do something
        }
        if (buttons.x || buttons.y) {
            // Do something
        }
    

    TODO:

    • [x] Finish documenting the code
    • [x] Cleanup Core::HID
    • [x] Rewrite TAS Update method
    • [x] Fix wrong axis direction on some controllers
    • [x] Fix no vibration on some games

    Goals:

    • Separate input subsystem from other projects
    • Make input drivers scalable
    • Make input event-based
    • Aim for more accurate behavior on emulation
    • Access controller data with minimal effort
    • Create an emulated controller instead of accessing drivers directly
    • Remove redundant code
    • Simplify code
    • Document the input side to make easier for new developers to implement a new input driver
    • Make my life easier later after suffering with kraken now
    • Make users surrender to the kraken

    User changes:

    • Fixed dual joycon changing to any after opening the config window again
    • Faulty analogs will not trigger when mapping
    • All controllers now share the same config parameters
    • Controller battery is now visible for controllers that support it
    • Pressing a button will reconnect the first player automatically
    • GC controller now supports real analog triggers with buttons. No more faking input.
    • UDP controllers can be mapped as a proper input device

    Input changes

    Input common should only provide raw input data and not alter the values in any way.

    • Input Engine: Core of every input driver. Stores and handles input events
    • Input Poller: Parses config strings and pulls data from the input engine
    • Input Mapping: Receives any kind of input event and creates a config string
    • Helpers: Help translating inputs into something easier to manage. Like a joystick from 5 buttons.
    • Drivers: Contain specific code to interact with a real controller
    • Main: Registers drivers and acts as a middle man for providing data from controllers
    • Only keyboard, mouse and touch drivers can be accessed directly to provide an easy way to register Qt or SDL GUI input

    UI changes:

    • Removes specific controller data
    • Removes access directly to drivers
    • All config data need to be requested to the emulated controller
    • All changes are applied to the emulated controller

    Core changes:

    HID services

    - Removes access to input config
    - Obtain data only from the emulated controller
    - Use a LIFO buffer ring
    - Removes some hardcoded values
    - Fixes a few differences in the shared memory
    - Fully emulates native keyboard
    - Fully emulates native mouse
    

    HID Emulated controller:

    - Reads config data
    - Receives all driver events through an input poller
    - Ensure that all data is correct at all times
    - Stores two kinds of data. One with extra info from the config, Another with only the needed data for services
    - Stores and alters controller config
    

    Emulated console:

    Same as emulated controller but contains only console data like touch or console motion
    

    Emulated devices

    Same as emulated controller but contains data from external usb devices like mouse or keyboard
    

    Input converter

    - Transforms raw values into the desired input type
    - Converts any input type into another type like an analog to button or button to motion
    - Returns only valid input data
    - Doesn't store any data
    - Applies any special config parameter like
          - Scaling data
          - Inverting values
          - Clamping values
          - Adds an offset
    
    

    HID core Manages emulated controllers, provides simple data like connected controllers or supported controller types. Allows for easy access to controller data from any place of the project

    closes #6872 closes #6915 closes #6750

    hle-fix core-new core-fix early-access-merge input 
    opened by german77 28
  • [WIP] [Not Yet For Review] MacOS support through MoltenVK

    [WIP] [Not Yet For Review] MacOS support through MoltenVK

    This branch is based off Rodrigo's WIP vulkan-hpp removal, vulkan 1.0 support, and my macOS specific tweaks. This is still suuuuper experimental.

    This uses the vulkan renderer with moltenVK and its kinda hacked together atm. I doubt this even builds on anyone elses machine without massaging it to get it running, but if someone wants to pick this up, I figure its best to get this out in the open. This needs a lot of work before its ready for use, but I'll upload a WIP .app of the build here whenever I get a chance. USE AT YOUR OWN RISK. Also its self signed, so it's going to be annoying to get it to run on your mac i bet.

    Still needs a lot of work before its ready, so don't bother reviewing yet until the needed PRs are merged.

    Build link: yuzu.app.zip

    Screenshots:

    https://i.imgur.com/MmsLfn9.jpg

    https://i.imgur.com/Uy5hJPt.jpg

    https://i.imgur.com/C7VLzdx.jpg

    build-system-new do-not-merge vulkan 
    opened by jroweboy 28
  • The Binding of Isaac Afterbirth plus go in game but freeze with all possible errors

    The Binding of Isaac Afterbirth plus go in game but freeze with all possible errors

    Hardware :

    • Nvidia GeForce GTX 960
    • AMD FX-6300
    • 8 GB Of Ram

    Issues :

    The Binding of Isaac Afterbirth Plus now go in game but freeze directly with an infinite list of unmapped Read32 errors and Write64 errors and nvidia not implemented errors too. I think this will help you a lot.

    a part of the Log :

    Click Here I can't put you all the log because the log do about 286939 lines.

    opened by greggameplayer 24
  • Data Streaming Issue in Kirby and The Forgotten Land, SMO.

    Data Streaming Issue in Kirby and The Forgotten Land, SMO.

    Issue Description

    Hello There, There is a weird issue with yuzu EA when testing either SMO, Kirby and the Forgotten land that wasn't there before simply, when you put the accuracy on High and move, the performance tanks (that is in case of Kirby and the Forgotten Land) but for SMO, the game simply takes a while to stabilize or sth then reaches 60 again.

    Issue Demonstration

    https://user-images.githubusercontent.com/73315805/176977439-6ffbfa50-5c2e-4f17-b780-c864fb696da3.mp4

    LOGS

    Kirby: yuzu_log.txt.old.txt Super Mario Odyssey: yuzu_log.txt

    System Specs

    • RTX 2070 SUPER.
    • R7 3700X.
    • 16GB RAM.
    • Tested on EA 2811

    Edit: Kirby and The Forgotten Land crashes when making a new savefile. Log: yuzu_log.txt.old.txt

    opened by INFINITY99K 0
  • EVE ghost enemies - Won't Boot - Yuzu 1070

    EVE ghost enemies - Won't Boot - Yuzu 1070

    Description

    It freezes on the boot screen and does not proceed.

    Spec

    Yuzu: Mainline 1070 / Early Access 2810

    OS: Windows 10 21H2 (19044.1766)

    CPU: Ryzen 5 3600 GPU: NVIDIA GeForce GTX 1660 Ti RAM: 16GB

    Log

    Critical errors (Both Mainline and Early Access)

    [  20.364303] Debug.Emulated <Critical> core\hle\kernel\svc.cpp:Break:569: Signalling debugger, PANIC! info1=0x0000001112CEBBA0, info2=0x0000000000000004
    [  20.364305] Debug.Emulated <Critical> core\hle\kernel\svc.cpp:operator ():550: debug_buffer_err_code=5299
    [  20.364317] Debug.Emulated <Critical> core\hle\kernel\svc.cpp:Break:620: Emulated program broke execution! reason=0x0000000000000000, info1=0x0000001112CEBBA0, info2=0x0000000000000004
    [  20.364319] Core.ARM <Error> core\arm\arm_interface.cpp:LogBacktrace:81: Backtrace, sp=0000001112CEB9E0, pc=00000000C565BF04
    [  20.364321] Core.ARM <Error> core\arm\arm_interface.cpp:LogBacktrace:83: Module Name         Address             Original Address    Offset              Symbol
    [  20.364322] Core.ARM <Error> core\arm\arm_interface.cpp:LogBacktrace:84: 
    [  20.449819] Core.ARM <Error> core\arm\arm_interface.cpp:LogBacktrace:89: sdk                 000000710016CF78    00000000C53FBF78    000000000016CF78    _ZN2nn4diag6detail5AbortEPKNS_6ResultE
    [  20.449824] Core.ARM <Error> core\arm\arm_interface.cpp:LogBacktrace:89: sdk                 000000710016B724    00000000C53FA724    000000000016B724    _ZN2nn4diag6detail10VAbortImplEPKcS3_S3_iPKNS_6ResultEPKNS_2os17UserExceptionInfoES3_RSt9__va_list
    [  20.449825] Core.ARM <Error> core\arm\arm_interface.cpp:LogBacktrace:89: sdk                 000000710016B7E8    00000000C53FA7E8    000000000016B7E8    _ZN2nn4diag6detail9AbortImplEPKcS3_S3_iPKNS_6ResultES3_z
    [  20.449827] Core.ARM <Error> core\arm\arm_interface.cpp:LogBacktrace:89: main                000000710007642C    000000000807A42C    000000000007642C    _ZN7SndDemo19SoundThreadFuncImplEv
    [  20.449828] Core.ARM <Error> core\arm\arm_interface.cpp:LogBacktrace:89: main                000000710007647C    000000000807A47C    000000000007647C    _ZN7SndDemo15SoundThreadFuncEPv
    [  20.449829] Core.ARM <Error> core\arm\arm_interface.cpp:LogBacktrace:89: sdk                 00000071003779B4    00000000C56069B4    00000000003779B4    
    [  20.449830] Core.ARM <Error> core\arm\arm_interface.cpp:LogBacktrace:89: sdk                 000000710037DFD0    00000000C560CFD0    000000000037DFD0    
    [  20.449831] Core.ARM <Error> core\arm\arm_interface.cpp:LogBacktrace:89: sdk                 000000703AD70FFC    FFFFFFFFFFFFFFFC    FFFFFFFF3AD70FFC    
    [  49.962693] Debug <Critical> core/hle/kernel/k_auto_object.h:operator ():164: Assertion Failed!
    

    01007BE0160D6000_yuzu_log_mainline_1070.txt

    01007BE0160D6000_yuzu_log_earlyaccess_2810.txt

    audio-issue 
    opened by vojo915 0
  • externals/SDL: Update to prerelease-2.23.1

    externals/SDL: Update to prerelease-2.23.1

    This includes a fix needed for building with MSYS2/MinGW -- specifically libsdl-org/[email protected] prerelease-2.23.1 is the oldest tag that includes this commit from what I could tell.

    Closes #8524

    opened by lat9nq 1
  • MinGW compilation, patch required in SDL

    MinGW compilation, patch required in SDL

    The following patch is required to compile yuzu on mingw:

    +++ /yuzu/externals/SDL/src/joystick/windows/SDL_windows_gaming_input.c
    @@ -34,6 +34,11 @@
     #include <cfgmgr32.h>
     #include <roapi.h>
     
    +#ifdef __MINGW32__
    +#define __FIReference_1_int __FIReference_1_INT32
    +#define __FIReference_1_int_get_Value __FIReference_1_INT32_get_Value
    +#define __FIReference_1_int_Release __FIReference_1_INT32_Release
    +#endif
    
    struct joystick_hwdata
     {
    

    This can be fixed by updating the SDL repo past https://github.com/libsdl-org/SDL/commit/d2c4d74dd0302369251dce9375b49f394e54f76a

    opened by psfree 2
  • settings: Consolidate RangedSetting's with regular ones

    settings: Consolidate RangedSetting's with regular ones

    The latest git version of GCC has issues with my diamond inheritance shenanigans. Since that's now two compilers that don't like it I thought it'd be best to just axe all of it and just have the two templates like before.

    This rolls the features of BasicRangedSetting into BasicSetting, and likewise RangedSetting into Setting. It also renames them from BasicSetting and Setting to Setting and SwitchableSetting respectively. Now longer name corresponds to more complex thing.

    opened by lat9nq 0
Moonlight port for Nintendo Switch

Moonlight-Switch Moonlight-Switch is a port of Moonlight Game Streaming Project for Nintendo Switch. Thanks a lot to Rock88 and his Moonlight-NX, lots

Vinogradov Daniil 218 Jun 27, 2022
Gamepad firmware for RP2040 microcontrollers supporting Nintendo Switch, XInput and DirectInput

GP2040 Firmware GP2040 is a gamepad firmware for the RP2040 microcontroller that provides high performance and a rich feature set across multiple plat

null 200 Jun 30, 2022
Tesla cheat trainers for Grand Theft Auto: The Trilogy - The Definitive Edition for the Nintendo Switch.

nxGTA-Trainers This is a set of tools for cheating in Grand Theft Auto: The Trilogy - The Definitive Edition for the Nintendo Switch. While I will try

null 25 May 11, 2022
English Translation Mod for Air Nintendo Switch version

AIR-ENX English translation mod for Nintendo Switch version of "Air" 1.0.1 Current status: Alpha Chapters translation status: Dream 100% Summer 100% A

MasaGratoR 4 May 22, 2022
Read Books On Your Nintendo Switch

eBookReaderSwitch Features: Saves last page number Reads PDF, EPUB, CBZ, and XPS files Dark and light mode Landscape reading view Portrait reading vie

null 47 Jun 13, 2022
Use Nintendo Switch JoyCons as a virtual Xbox 360 controller in Windows

XJoy XJoy allows you to use a pair of Nintendo Joy-Cons as a virtual Xbox 360 controller on Windows. XJoy is made possible by ViGEm and hidapi. Suppor

DuroSoft 323 Jul 2, 2022
A decompilation of the Nintendo Switch version of Captain Toad: Treasure Tracker [v1.3.0].

cttt-decomp A decompilation of the Nintendo Switch version of Captain Toad: Treasure Tracker [v1.3.0]. Build Instructions Obtain a clean copy of a mai

shibbs 13 May 22, 2022
Play Nintendo Switch using an original N64 controller via an Arduino Uno!

N64 -> Arduino Uno -> Nintendo Switch Description By connecting an original N64 controller to an Arduino UNO R3 running this code, and plugging the US

null 17 Mar 15, 2022
Open source Splatoon 2 save editor for the Nintendo Switch (NX) built on top of the effective-spoon project

Open source Splatoon 2 save editor for the Nintendo Switch (NX) built on top of the effective-spoon project

Crusty ★ 5 Mar 25, 2022
Nintellivision - an Intellivision Emulator for the Nintendo DS/DSi

NINTV-DS NINTV-DS is an Intellivision console emulator running on the DS/DSi. Install : To make this work, place NINTV-DS.NDS on your flashcart or SD

null 18 Jun 7, 2022
Emulator collection for Nintendo® Game & Watch™

Emulator collection for Nintendo® Game & Watch™ This is a port of the retro-go emulator collection that runs on the Nintendo® Game & Watch™: Super Mar

Konrad Beckmann 299 Jun 25, 2022
Block Cipher Reverse Engineering: A Challenge by Nintendo European Research & Development

My algorithm cracks NERD HireMe for any output within 1 Second without Brute-Force! Read more if you want to find out how this was accomplished or execute this algorithm yourself on Wandbox - Online C++ Compiler

Alexander Töpfer 58 Nov 15, 2021
Mario Kart 7 semi-primary exploit for the Nintendo 3DS.

kartdlphax kartdlphax is a semiprimary exploit for the download play mode of Mario Kart 7. It can be used to run an userland payload in an unmodified

PabloMK7 36 Feb 14, 2022
A presentation about Nintendo 64 development, given at Inércia 2021

Reflective Regret This repository contains a lot of stuff regarding the "Reflective Regret: Adventures in N64 Homebrew Development" presentation I gav

Buu342 9 Apr 11, 2022
A port of Commander Keen "Commander Keen in Goodbye Galaxy!" to the Nintendo 64. :gun:

Omnispeak64 A port of Commander Keen "Commander Keen in Goodbye Galaxy!" to the Nintendo 64. Controls Jump - A Fire - Z or R Pogo - B Main Menu - Star

null 16 Apr 7, 2022
Tool to convert ELF (S)hared (O)bject to Nintendo (R)elocatable (S)hared (O)bject

elf2rso Tool to convert ELF (S)hared (O)bject to Nintendo (R)elocatable (S)hared (O)bject Command Line Options -i or --input - It's the ELF File to be

Wesley Moret 7 Mar 13, 2022
Minimal tool for measuring cost of mode switch

CPU mode switch statistics The mode-switch-stat tool measures the cost of CPU mode switch, the round trip between user and kernel mode. At present, th

Steven Cheng 12 Feb 22, 2022
STM32 firmware for a physical switch to set the GRUB boot selection

STM32 firmware for a physical switch to set the GRUB boot selection

Stephen Holdaway 307 Jun 14, 2022
Home automation light switch controller

Home Automation Light Switch Controller Copyright 2019-2021 SuperHouse Automation Pty Ltd www.superhouse.tv A modular Light Switch Controller for DIY

SuperHouse Automation 11 Mar 27, 2022