34ff201a65
Captures the post-v1.1.7 dev state that is validated stable in-game, as a
local return point before starting the DLAA + supersampling chantier.
- DlssIntegration.ApplyModeResolutionScale: snap internal resolution scale to
an integer (MathF.Round) -> mip-aligned render targets -> fixes the random
ErrorDeviceLost in upscaling modes (VUID-04533/04534 out-of-bounds write).
Also: drop VK_EXT_buffer_device_address (conflict), add
VK_KHR_format_feature_flags2 (VK_NV_optical_flow dependency).
- DlssRestart.cs: background watchdog safety net for clean shutdown.
- DlssUpscaler.cs: minor.
- LICENSE.txt / README.md: release-prep (copyright + contact), pending.
Not pushed. master stays at the released v1.1.7 (ebf22fe48).
180 lines
13 KiB
Markdown
180 lines
13 KiB
Markdown
<table align="center">
|
|
<tr>
|
|
<td align="center" width="25%">
|
|
<img src="https://raw.githubusercontent.com/Ryubing/Assets/refs/heads/main/RyujinxApp_1024.png" alt="Ryujinx" >
|
|
</td>
|
|
<td align="center" width="75%">
|
|
|
|
<h1 class="ryu-gradient-text">The Beast Roofer Edition</h1>
|
|
|
|
[](https://update.ryujinx.app/latest/stable)
|
|
[](https://update.ryujinx.app/latest/canary)
|
|
<br>
|
|
<a href="https://discord.gg/PEuzjrFXUA">
|
|
<img src="https://img.shields.io/discord/1294443224030511104?color=5865F2&label=Ryubing&logo=discord&logoColor=white" alt="Discord">
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p align="center">
|
|
Ryujinx is an open-source Nintendo Switch emulator, originally created by gdkchan, written in C#.
|
|
This emulator aims at providing excellent accuracy and performance, a user-friendly interface and consistent builds.
|
|
It was written from scratch and development on the project began in September 2017.
|
|
Ryujinx is available on a self-managed <a class="forgejo-gradient-text" href="https://github.com/Ryubing/forgejo" target="_blank">modified Forgejo</a> instance under the <a href="https://git.ryujinx.app/projects/Ryubing/src/branch/master/LICENSE.txt" target="_blank">MIT license</a>.
|
|
<br />
|
|
</p>
|
|
<p align="center">
|
|
On October 1st 2024, Ryujinx was discontinued as the creator was forced to abandon the project.
|
|
<br>
|
|
This fork is intended to be a QoL uplift for existing Ryujinx users.
|
|
<br>
|
|
This is not a Ryujinx revival project. This is not a Phoenix project.
|
|
<br>
|
|
Guides and documentation can be found on the <a href="https://git.ryujinx.app/projects/Ryubing/wiki/Home">Wiki tab</a>.
|
|
</p>
|
|
|
|
## About this fork
|
|
|
|
**The Beast Roofer Edition** is a personal fork of the Ryujinx / Ryubing project, maintained by **The Roofer Dev**.
|
|
It adds quality-of-life features on top of upstream — HDR output, an optional per-game VRR FPS cap, and fixes for very large (4K) texture packs — while staying fully MIT-licensed and crediting the original Ryujinx Team and contributors.
|
|
|
|
## Disclaimer
|
|
|
|
The Beast Roofer Edition is an open-source emulator based on the Ryujinx / Ryubing project (MIT License).
|
|
It is **not affiliated with, endorsed by, or associated with Nintendo Co., Ltd.** "Nintendo", "Nintendo Switch",
|
|
and all game titles are trademarks of their respective owners.
|
|
|
|
This software contains **no Nintendo code, keys, firmware, or games**. To use it, you must provide your own
|
|
keys, firmware, and game files, **legally obtained and dumped from hardware that you own**.
|
|
This project does not condone or facilitate piracy.
|
|
|
|
<p align="center">
|
|
<img src="https://git.ryujinx.app/projects/Ryubing/raw/branch/master/docs/shell.png" alt="Ryujinx example">
|
|
</p>
|
|
|
|
## Usage
|
|
|
|
To run this emulator, your PC must be equipped with at least:
|
|
- 8GiB of RAM
|
|
- 6 cores
|
|
- A GPU released within the last 10 years.
|
|
- OpenGL 4.6 | Vulkan 1.4
|
|
- Windows 10 version 20H1 | macOS Big Sur (Apple Silicon)
|
|
|
|
Failing to meet these requirements may result in a poor gameplay experience or unexpected crashes.
|
|
|
|
## Latest build
|
|
|
|
Stable builds are made every so often, based on the `master` branch, that then gets put into the releases you know and love.
|
|
These stable builds exist so that the end user can get a more **enjoyable and stable experience**.
|
|
They are released every month or so, to ensure consistent updates, while not being an annoying amount of individual updates to download over the course of that month.
|
|
|
|
You can find the stable releases [here](https://git.ryujinx.app/projects/Ryubing/releases).
|
|
|
|
Canary builds are compiled automatically for each commit on the `master` branch.
|
|
While we strive to ensure optimal stability and performance prior to pushing an update, these builds **may be unstable or completely broken**.
|
|
These canary builds are only recommended for experienced users.
|
|
|
|
You can find the canary releases [here](https://git.ryujinx.app/Ryubing/Canary/releases).
|
|
|
|
## Documentation
|
|
|
|
If you are planning to contribute or just want to learn more about this project please read through our [documentation](https://git.ryujinx.app/projects/Ryubing/src/branch/master/docs/README.md).
|
|
|
|
## Features
|
|
|
|
- **Audio**
|
|
|
|
Audio output is entirely supported, audio input (microphone) isn't supported.
|
|
We use C# wrappers for [OpenAL](https://openal-soft.org/), and [SDL3](https://www.libsdl.org/) & [libsoundio](http://libsound.io/) as fallbacks.
|
|
|
|
- **CPU**
|
|
|
|
The CPU emulator, ARMeilleure, emulates an ARMv8 CPU and currently has support for most 64-bit ARMv8 and some of the ARMv7 (and older) instructions, including partial 32-bit support.
|
|
It translates the ARM code to a custom IR, performs a few optimizations, and turns that into x86 code.
|
|
There are three memory manager options available depending on the user's preference, leveraging both software-based (slower) and host-mapped modes (much faster).
|
|
The fastest option (host, unchecked) is set by default.
|
|
Ryujinx also features an optional Profiled Persistent Translation Cache, which essentially caches translated functions so that they do not need to be translated every time the game loads.
|
|
The net result is a significant reduction in load times (the amount of time between launching a game and arriving at the title screen) for nearly every game.
|
|
NOTE: This feature is enabled by default in the Options menu > System tab.
|
|
You must launch the game at least twice to the title screen or beyond before performance improvements are unlocked on the third launch!
|
|
These improvements are permanent and do not require any extra launches going forward.
|
|
|
|
- **GPU**
|
|
|
|
The GPU emulator emulates the Switch's Maxwell GPU using either the OpenGL (version 4.5 minimum), Vulkan, or Metal (via MoltenVK) APIs through a custom build of OpenTK or Silk.NET respectively.
|
|
There are currently six graphics enhancements available to the end user in Ryujinx: Disk Shader Caching, Resolution Scaling, Anti-Aliasing, Scaling Filters (including FSR), Anisotropic Filtering and Aspect Ratio Adjustment.
|
|
These enhancements can be adjusted or toggled as desired in the GUI.
|
|
|
|
- **Input**
|
|
|
|
We currently have support for keyboard, mouse, touch input, Joy-Con input support, and nearly all controllers.
|
|
Motion controls are natively supported in most cases; for dual-JoyCon motion support, DS4Windows or BetterJoy are currently required.
|
|
In all scenarios, you can set up everything inside the input configuration menu.
|
|
|
|
- **DLC & Modifications**
|
|
|
|
Ryujinx is able to manage add-on content/downloadable content through the GUI.
|
|
Mods (romfs, exefs, and runtime mods such as cheats) are also supported;
|
|
the GUI contains a shortcut to open the respective mods folder for a particular game.
|
|
|
|
- **Configuration**
|
|
|
|
The emulator has settings for enabling or disabling some logging, remapping controllers, and more.
|
|
You can configure all of them through the graphical interface or manually through the config file, `Config.json`, found in the Ryujinx data folder which can be accessed by clicking `Open Ryujinx Folder` under the File menu in the GUI.
|
|
|
|
## Beast Roofer Edition — graphics extras / extras graphiques
|
|
|
|
### 🇬🇧 Native TAA (Temporal Anti-Aliasing)
|
|
Available in **Settings > Graphics > Anti-Aliasing > TAA**. Soft, cinematic, low-flicker image; works on **all GPUs** with no extra files. It looks best at higher internal resolution scales; at low resolution it may flicker a little more.
|
|
|
|
### 🇫🇷 TAA natif (anti-crénelage temporel)
|
|
Disponible dans **Paramètres > Graphismes > Anti-crénelage > TAA**. Rendu doux, cinématographique, peu de scintillement ; fonctionne sur **toutes les cartes graphiques**, aucun fichier à ajouter. Meilleur en haute résolution interne ; peut scintiller un peu plus en basse résolution.
|
|
|
|
### 🇬🇧 NVIDIA DLSS / DLAA (experimental, RTX only, opt-in)
|
|
DLSS/DLAA is **off by default** and **experimental**. No NVIDIA files are bundled (legal reasons). To enable it:
|
|
1. Create a folder named **`dlss`** next to **`Ryujinx.exe`**.
|
|
2. Get the **NVIDIA Streamline** files (MIT-licensed): download the [public Streamline SDK](https://github.com/NVIDIA-RTX/Streamline), open the **`bin/x64/development/`** subfolder, and copy these three files into your `dlss` folder: `sl.interposer.dll`, `sl.common.dll`, `sl.dlss.dll`.
|
|
- ⚠️ **Important:** use the files from **`bin/x64/development/`**, **not** the ones in `bin/x64/` (the *production* build). NVIDIA's production DLSS only runs for signed/approved applications and reports `ErrorFeatureNotSupported` in an emulator — only the *development* build works here (it writes a verbose `sl.log`, which is normal for a debug build).
|
|
3. The DLSS runtime (`nvngx_dlss.dll`) is **located automatically** from your own installed games/driver. If it isn't found, drop your own copy into the same `dlss` folder.
|
|
4. In **Settings > Graphics**, set the **Scaling Filter** to **DLSS**. It engages **only when upscaling** (internal render smaller than the output); at native or high resolution it stays inactive, which is normal. Applies on the next launch (the app restarts).
|
|
|
|
⚠️ Experimental: may be unstable depending on the game/GPU. With no `dlss` folder or no DLSS file present, DLSS simply stays unavailable (no crash). Requires a recent NVIDIA RTX GPU.
|
|
|
|
### 🇫🇷 NVIDIA DLSS / DLAA (expérimental, RTX uniquement, optionnel)
|
|
DLSS/DLAA est **désactivé par défaut** et **expérimental**. Aucun fichier NVIDIA n'est inclus (raisons légales). Pour l'activer :
|
|
1. Crée un dossier nommé **`dlss`** à côté de **`Ryujinx.exe`**.
|
|
2. Récupère les fichiers **NVIDIA Streamline** (sous licence MIT) : télécharge le [SDK Streamline public](https://github.com/NVIDIA-RTX/Streamline), ouvre le sous-dossier **`bin/x64/development/`**, et copie ces trois fichiers dans ton dossier `dlss` : `sl.interposer.dll`, `sl.common.dll`, `sl.dlss.dll`.
|
|
- ⚠️ **Important :** prends bien les fichiers de **`bin/x64/development/`**, **pas** ceux de `bin/x64/` (le build *production*). Le DLSS production de NVIDIA ne s'active que pour les applications signées/approuvées et renvoie `ErrorFeatureNotSupported` dans un émulateur — seul le build *development* fonctionne ici (il écrit un `sl.log` verbeux, ce qui est normal pour un build de débogage).
|
|
3. Le runtime DLSS (`nvngx_dlss.dll`) est **localisé automatiquement** depuis tes propres jeux/pilote installés. S'il n'est pas trouvé, dépose ta propre copie dans le même dossier `dlss`.
|
|
4. Dans **Paramètres > Graphismes**, mets le **Filtre de mise à l'échelle** sur **DLSS**. Il ne s'active **qu'en upscaling** (rendu interne plus petit que la sortie) ; en résolution native ou haute, il reste inactif, c'est normal. S'applique au prochain lancement (l'app redémarre).
|
|
|
|
⚠️ Expérimental : peut être instable selon le jeu/la carte. Sans dossier `dlss` ou sans fichier DLSS, DLSS reste simplement indisponible (pas de plantage). Nécessite une carte NVIDIA RTX récente.
|
|
|
|
## License
|
|
|
|
This software is licensed under the terms of the [MIT license](https://git.ryujinx.app/projects/Ryubing/src/branch/master/LICENSE.txt).
|
|
This project makes use of code authored by the libvpx project, licensed under BSD and the ffmpeg project, licensed under LGPLv3.
|
|
See [LICENSE.txt](https://git.ryujinx.app/projects/Ryubing/src/branch/master/LICENSE.txt) and [THIRDPARTY.md](https://git.ryujinx.app/projects/Ryubing/src/branch/master/distribution/legal/THIRDPARTY.md) for more details.
|
|
|
|
## Credits
|
|
|
|
- [LibHac](https://git.ryujinx.app/projects/LibHac) is used for our file-system.
|
|
- [AmiiboAPI](https://www.amiiboapi.com) is used in our Amiibo emulation.
|
|
- [ldn_mitm](https://github.com/spacemeowx2/ldn_mitm) is used for one of our available multiplayer modes.
|
|
- [ShellLink](https://github.com/securifybv/ShellLink) is used for Windows shortcut generation.
|
|
|
|
### Beast Roofer Edition
|
|
|
|
- **Original code in this fork** by **The Roofer Dev** (© 2026), MIT-licensed: native TAA, clean-room NVIDIA DLSS/DLAA/NIS integration, native scRGB HDR, per-game VRR cap. *Code/integration only — DLSS, DLAA and NIS technologies belong to NVIDIA.*
|
|
- **🇫🇷 Code original de ce fork** par **The Roofer Dev** (© 2026), sous licence MIT : intégration du TAA natif, intégration clean-room de NVIDIA DLSS/DLAA/NIS, HDR scRGB natif, cap VRR par jeu. *Code/intégration uniquement — les technologies DLSS, DLAA et NIS appartiennent à NVIDIA.*
|
|
- This fork bundles **no proprietary NVIDIA files**. [NVIDIA Streamline](https://github.com/NVIDIA-RTX/Streamline) and NVIDIA Image Scaling (NIS) are MIT-licensed (© NVIDIA). The DLSS runtime (`nvngx`) is proprietary and **never bundled** — it is located on the user's own machine.
|
|
- NVIDIA, DLSS, DLAA and NIS are trademarks of NVIDIA Corporation. This is an independent project, **not affiliated with or endorsed by NVIDIA**.
|
|
|
|
## Contact
|
|
|
|
Questions or feedback? You can reach me at **therooferdev@gmail.com**.
|
|
|
|
**🇫🇷 Contact** — Des questions ou un commentaire ? Vous pouvez me joindre à **therooferdev@gmail.com**.
|