streetpea / chiaki-ng

Next-Generation of Chiaki (the open-source remote play client for PlayStation)
https://streetpea.github.io/chiaki-ng/
GNU Affero General Public License v3.0
1.18k stars 75 forks source link

chiaki4deck for modded Nintendo Switch (homebrew) #355

Open weakvar opened 5 months ago

weakvar commented 5 months ago

It would be really cool if chiaki4deck comes to Nintendo Switch. Nintendo Switch with custom firmware has Homebrew apps. The original version of chiaki has such app (.nro file). Is there any way to port (or compile) chiaki4deck for Switch?

streetpea commented 5 months ago

Theoretically if someone was willing to do so. As it stands I don’t have a modded switch to test it out on.

weakvar commented 5 months ago

Theoretically if someone was willing to do so. As it stands I don’t have a modded switch to test it out on.

I have one. I think I can help with testing. But in theory, since I have experience in development (mobile), I can do it myself. Gonna try to find out about Homebrew Apps for Switch.

Calabor-Hoc commented 1 month ago

I need it, too! Current Nintendo switch port of Chiaki lacks many features and hasn't been updated for more than 1 year. Among all of the needed feature is to avoid crack when your ps account has login pin code.

felixsrg commented 3 weeks ago

If this becomes a thing, I would also gladly help with testing, both PS4 and PS5, sadly I can't contribute a lot with coding but this project looks awesome and would be perfect on Switch.

zcah1 commented 2 weeks ago

Nintendo switch support please, the switch version is outdated,

streetpea commented 2 weeks ago

I would love to update the switch port but don’t have a modded switch so can’t. Of course, I would be more than happy to merge changes from someone that does.

xlanor commented 1 week ago

I have a modded switch. what needs to be done to compile a .nro?

I'm also just coming into the codebase so @streetpea - do you have a checklist of things you'd like done and/or tested? I am happy to assist, I can write C but am not very familiar with homebrew development.

streetpea commented 1 week ago

@xlanor the build script for chiaki for switch is here https://github.com/streetpea/chiaki-ng/blob/main/.builds/common.yml

xlanor commented 1 week ago

@xlanor the build script for chiaki for switch is here https://github.com/streetpea/chiaki-ng/blob/main/.builds/common.yml

Looking at the source, I see it pointing to chiaki and not chiaki-ng. I assume you are going through a different build process?

I will fiddle with it and let you know how it goes. Possibly over the weekend.

streetpea commented 1 week ago

The things I can think of off the top of my head are:

All of these things are already updated in the chiaki-ng lib they just need to be updated in the cpp code. The c code should already work I think. The switch code is just for chiaki because chiaki-ng doesn’t have a switch port but it should be the same but in this case would just be chiaki-ng. The CmakeLists.txt for chiaki-ng is already updated for chiaki with the necessary dependencies, though the GUI based dependencies wouldn’t be needed for the switch version as it’s using its own GUI (borealis).

xlanor commented 1 week ago

The things I can think of off the top of my head are:

  • mic support
  • Remote connection via psn
  • Haptics and adaptive triggers setup for dualsense in menu
  • Rumble emulation for haptics
  • add screen for when using non-available device
  • Add gyro reset when requested from lib

All of these things are already updated in the chiaki-ng lib they just need to be updated in the cpp code. The c code should already work I think. The switch code is just for chiaki because chiaki-ng doesn’t have a switch port but it should be the same but in this case would just be chiaki-ng. The CmakeLists.txt for chiaki-ng is already updated for chiaki with the necessary dependencies, though the GUI based dependencies wouldn’t be needed for the switch version as it’s using its own GUI (borealis).

I'll try and build it first. the build stuff is a little outdated, I'm just going to tackle it bit by bit. Will keep you posted.

xlanor commented 5 days ago

Just an update, the curl changes that was introduced with PSN remote play in lib/CmakeList.txt is not playing well with the custom compiled curl that is supplied by devkitpro for switch homebrew

Trying to recompile it with switch specific settings but running into some issues on that end.

streetpea commented 5 days ago

@xlanor basically just need a curl with websockets support, whether that’s available via the system or using a custom build for remote connection via psn. Websocket support just graduated from experimental to stable (enabled by default) in the latest curl release.

xlanor commented 5 days ago

@xlanor basically just need a curl with websockets support, whether that’s available via the system or using a custom build for remote connection via psn. Websocket support just graduated from experimental to stable (enabled by default) in the latest curl release.

Just editing comments to provide updates here.

So far, I have had to do the following

Now fixing

None of this seems to have been backported to the CPP code yet, still fixing the C imports.