ryujinx-mirror / ryujinx

Hard-fork of the Ryujinx project
MIT License
2.12k stars 535 forks source link

[Feature Request] Incorporate Wip Features from Isaac Marovitz repos #72

Open CeruleanSky opened 1 month ago

CeruleanSky commented 1 month ago

Overview

Isaac Marovitz a former Ryujjinx Dev put on the internet archive some work in progress features, some of which seem to be referred to in the last tweets by the Ryujinx twitter account.

https://x.com/isaacmarovitz/status/1841847860599345185

They are located here: https://archive.org/details/ryujinx_20241001_2158

Plain Ryujinx.git.zip 1: The latest master repository of the project.

LibRyujinx.git.zip: A work-in-progress repository containing features such as iOS, Android, Ryujinx-as-a-library, and a SwiftUI frontend.

ryujinx-ldn.tar.gz: Contains the RyuLDN server and the website which was hosted at ldn.ryujinx.org, see the included readme, dockerfile and nix flake for details. This does not contain the Ryujinx-LDN builds which are necessary to use the RyuLDN implementation.

Ryujinx-NxLdn.tar.gz: An early experiment with native LDN implementation, allowing Ryujinx to connect to unmodified switches. The developer uploaded this video showcasing it: https://www.youtube.com/watch?v=Nz6k7wURlPo

Includes a readme and wiki with notes on intended implementation.

Ryujinx.wiki.tar.gz: The Ryujinx wiki page, containing various information on building and using the emulator. Please refer to this for compilation instructions.

Ryujinx-macos1.zip: The initial MacOS build released when support for the OS was added. Includes LDN functionality.

Please note the Lib and LDN repositories are not ready for use and will have many problems.

ryujinx-1.0.43.zip: A compiled APK file of the experimental Android build.

ryujinx-1.0.43t.zip: Also the android build, with additional experimental features.

Smaller details

Create branches or create repos and merge anything useful

Nature of request

Take the WIP material and if anything is useful incorporate it, or at least spread the word to other devs who might have use for it.

Why would this feature be useful?

Seems like a lot of efforts previously made to have the emulator work better on mobile platforms and with LDN might be useful.

extherian commented 1 month ago

Vudjun is hard at work migrating the LDN features upstream and coming up with an original backend server implementation to go with it, his pull request is here. We are aware of the leak of the original server backend code but unfortunately it wasn't clearly licenced, which makes it problematic to work with.

As far as the android port goes, this is well beyond our ability as we would need an experienced graphics developer and expert in mobile device drivers to finish it, the same goes for the iOS build.

The Ryujinx wiki is something we might have use for, we are already planning to build a guide to Ryujinx at the ryujinx.dev address, so I will speak to regginator and ask him if we can use this.

goldmastersims commented 1 month ago

Isaac was also working on native Metal renderer, which was very close to completion when the original Ryujinx was taken down. I know people who have the source for Ryujinx Metal.

extherian commented 1 month ago

Isaac is still around, I have spoken to him about the metal backend but he is unwilling to continue work on it. We also have access to the source for his work, but we need a volunteer with experience in Mac graphics development to step up and finish it.

Spidy123222 commented 1 month ago

the same goes for the iOS build.

I've been working on the ios stuff with a friend. Idk about expert but I do iOS development stuff, never on c#. However the codebase for the branch is multiple months old and is newer than the bionic branch (Android) and needs work to get it back up to snuff. It does not contain any metal backend whatsoever so it's solely reliant on moltenvk which shouldn't be a problem since macOS is using it and the ryu team did workarounds to get it working properly on macOS.

I've been slowly merging changes with ios-headless branch to the libryu ios branch which has somewhat a ui as doing one big commit seems to make it stop making a dylib. Will take a bit.

Is there a discord we could possibly discuss this stuff?

extherian commented 1 month ago

@Spidy123222 there are former Ryujinx developers over on the Greem fork's discord, including people who have made great progress getting the old LDN build's features upstreamed, if anyone can help you, it would be them. Here is the invite link: https://discord.com/invite/dHPrkBkkyA