Homebrew RELEASE Switch Remote Play - Stream your PC to your Switch

Moehammered

Well-Known Member
OP
Newcomer
Joined
May 21, 2019
Messages
77
Trophies
0
Age
29
Location
Shiga, Japan
XP
265
Country
Japan
Welcome to Switch Remote Play.

YN6Hls5.jpeg


Yet another PC streaming application for the Switch.

I'd like to immediately start off saying thanks to jakibaki for In-Home-Switching and DevL0rd for SkyNX.

The main goal of this project came about from the small inconveniences of the predecessors. I didn't like having to get up to configure the PC application as some games I'd need to drop the settings to get smoother images, etc. I also didn't like that if the Switch ever slept, I'd need to inject the payload again. So, I made this to try and move all the configuration to the Switch's side and have it be as convenient as possible.

Download:

Features:
  • Configure stream settings directly from the Switch
  • No system crashing when going to sleep (stream will disconnect though and application is closeable)
  • Use ffmpeg to stream video and audio to the Switch
  • Stream input from the switch to remote connection
  • Allow manual configuration of Switch to PC connection
  • Automatically connect Switch and PC stream applications
  • Automatically mute PC when audio is streaming to the Switch
  • Disconnect / Reconnect stream at will
  • Toggle Input Mode to Mouse
  • Toggle Input Mode to DS4(PS4) controller
  • Toggle Input Mode to Xbox controller
  • Rich configuration options for h264 CPU encoder
  • Rich configuration options for h264 AMF encoder (AMD hardware encoder)
  • Multiple Controllers (up to 4, including individual JoyCons)
  • Touch Screen Support

Changeset
Version 1.0.0
  • Multiple Controller Support (up to 4 players)
  • Touch Screen support (as PC touch input, or a simulated trackpad)
  • Simulated keyboard bindings
  • Mouse scrolling and middle-click
  • Configurable 'home/guide' button assignment
  • Monitor selection
  • Improved configuration experience using built in Switch Software Keyboard
  • For full details, see the release page
Version 0.9.0
  • Invert Controller Analog Axis for left and right sticks
  • Delete deprecated Switch HID input API usage
  • UI Refactored to be easier to add configuration parameters
  • Configuration file refactored into multiple configuration files
  • Encoder configuration overhauled
  • H264 AMF (AMD GPU) encoder support added
Version 0.8.3
  • Instructions have been updated to include more troubleshooting steps related to automatic network discovery
  • Fixed some bugs related to the switch gamepad data being read partially from the PC application
  • Fixed the Xbox 360 controller mode's 'minus' mapping to be 'back' instead of 'guide'
  • Fixed a potential overflow issue with the virtual controller analog sticks
  • Added diagnostic info to the PC application to help when users report issues and to display basic networking information
  • Added Manual IP Mode Enabled to the switch application's config file. Now you can configure Manual IP Mode once, enable it, and you'll never need to touch it again! (Unless your PC's IP changes of course...)
  • Added broadcast address to the switch application's config file. This is to allow those who wish to use the network discovery feature. The PC application will display instructions on how to configure this. Please follow the instructions for it.
  • Now you can pretty much control the PC doing simple tasks with just the left or right joy-con alone!
Version 0.8.1
  • Instructions have been updated to include troubleshooting steps related to automatic network discovery
  • Added extra options to the Controller Configuration menu
    • Left and Right mouse buttons can now be mapped to any of the Switch shoulder buttons
  • Now you can pretty much control the PC doing simple tasks with just the left or right joy-con alone!
Version 0.8.0 (Major Improvements)
  • Re-wrote how the menu system works to make it less of a hassle to add more configuration screens
  • Added Decoder Configuration Menu
    • Available decoder options that can modify how the Switch decodes the ffmpeg stream are available
    • Offers some good performance options to allow for better quality streams to come through
  • Added Controller Configuration Options
    • Moved mouse sensitivity to the Controller Configuration screen
    • Added option to toggle if Mouse is default input mode on stream connect
    • Added Controller type option to choose between X360 or DS4 controller
    • Added button inversion options for XYAB
  • Added X360 Controller support to the PC application (thanks theosirian)
Version 0.7.4
  • Added Mouse Sensitivity as a configuration option
  • Configuration settings are now saved upon starting a stream
  • Last saved configuration settings are loaded on application start
Version 0.7.3
  • More control over ffmpeg's arguments to control stream quality
  • Fixed hbloader crash
  • Increased input poll rate
  • Fixed d-pad diagonal control mapping issue with diagonals being accidentally flipped
  • Made UI more concise
  • Updated icon!

Stream Encoder Settings Examples
Considering a lot of people seem to skip or miss the encoder configuration screen entirely, or they just don't know what to do with the settings, I've put a simple suggestion on what configuration to choose for certain quality targets:
  • Common Settings
    • Desktop Resolution: 1280 x 720
    • Switch Resolution: 1280 x 720
    • Vsync Mode: variable frame rate
    • Hardware Accel Mode: auto
    • Video Codec: h264
  • Perfect Image Quality
    • Bitrate: 5120
    • Quality Control Factor: 0
    • Encoder Preset: very slow
  • Low Latency quality
    • Bitrate: 5120
    • Quality Control Factor: 20(or higher)
    • Encoder Preset: ultra fast
  • Balanced quality
    • Bitrate: 8192
    • Quality Control Factor: 8 ~ 15
    • Encoder Preset: medium or fast
These all depend on your CPU's performance and what you're running at the time. If you're having trouble, please make sure to include your machine's specs in your post. (CPU, RAM, GPU at minimum please)

Thanks

Enjoy everyone! :)
 
Last edited by Moehammered,

severhead

Active Member
Newcomer
Joined
May 25, 2020
Messages
34
Trophies
0
Age
23
XP
238
Country
Ireland
I just tried it, I wish there would be some mouse sensitivity option because the normal speed is just too stuttery and slow, the quality of the video is good but there's only 720p, I tried every option on it but I can't get more than like 35FPS from the stream and I'm on fiber internet with 5GHz, it's still better than SkyNX but the audio is unusable for me, it sounds so grainy and distorted exactly like SkyNX was for me
 

Moehammered

Well-Known Member
OP
Newcomer
Joined
May 21, 2019
Messages
77
Trophies
0
Age
29
Location
Shiga, Japan
XP
265
Country
Japan
I just tried it, I wish there would be some mouse sensitivity option because the normal speed is just too stuttery and slow, the quality of the video is good but there's only 720p, I tried every option on it but I can't get more than like 35FPS from the stream and I'm on fiber internet with 5GHz, it's still better than SkyNX but the audio is unusable for me, it sounds so grainy and distorted exactly like SkyNX was for me

Mouse sensitivity is planned. Look forward to it in the later updates.

The video quality setting for the switch is clamped to 720p for now because I mostly used it in handheld mode and 1080p would only be usable when it's docked so I focused on 720p initially. To render a 1080p stream I need to modify the rendering step. It's in consideration though :)

Sorry to hear that the mouse is stuttering. That means you might be having packet drops or connection interference. Internet connection is not important, just the router and WiFi network.

If the stream wont go higher than 35fps then it could be due to the CPU.

Could you please tell me:
  • Your PC Specs (CPU, GPU, RAM)
  • The game you're streaming
  • How many devices are usually connected to your home network?
The audio issue occurs when the network speed isn't fast enough or when there's too much interference from a busy network. Usually when I restarted my PC the audio issue went away.
 

Reploid

Well-Known Member
Member
Joined
Jan 20, 2010
Messages
2,245
Trophies
1
Website
Visit site
XP
4,230
Country
Serbia, Republic of
Just played some tekken with it. And I think it's kidna good. Not perfect of course, but still.
No problem with sound, latency is alright, picture have disticnt compression artifacts, but what's you gonna do? Maybe add some GPU support with x265 codec, but it's much easier said, then done.
UI is pretty handy, not that flashy, but that super optional.
Anyway, I hope this project won't stuck in any limbo.
 

Moehammered

Well-Known Member
OP
Newcomer
Joined
May 21, 2019
Messages
77
Trophies
0
Age
29
Location
Shiga, Japan
XP
265
Country
Japan
Just played some tekken with it. And I think it's kidna good. Not perfect of course, but still.
No problem with sound, latency is alright, picture have disticnt compression artifacts, but what's you gonna do? Maybe add some GPU support with x265 codec, but it's much easier said, then done.
UI is pretty handy, not that flashy, but that super optional.
Anyway, I hope this project won't stuck in any limbo.

Hey there, I've updated 0.7.3 with some extra options to help give more fine tune control over the stream quality. Please feel free to check it out! I tested it playing Tekken on my PC and thanks to that I found a D-Pad bug which is fixed in 0.7.3 too.

I hope this version helps make Tekken a bit more enjoyable :)

--------------------- MERGED ---------------------------

Good work, thanks. If the computer end is using ffmpeg I wonder if it can be adapted to work on Mac...

It could, someone would just need to mimic or modify the windows-project to work on Mac. I don't have a Mac so it is not a priority for me at the moment. However if Mac can work through a VM then maybe after I am done getting the main features completed I will setup a Mac OS VM and try porting it over. Or I might port the desktop app to .Net Core and then it might be easier to port to Mac. But at the moment, sorry I don't have any immediate plans to port the windows-project to mac just yet.
 
Last edited by Moehammered,

Moehammered

Well-Known Member
OP
Newcomer
Joined
May 21, 2019
Messages
77
Trophies
0
Age
29
Location
Shiga, Japan
XP
265
Country
Japan
does not work on lite

Sorry to hear that. Are you running Atmosphere on your Switch or SX OS?

If you're running Atmosphere CFW can you please tell me the Atmosphere version, system firmware version, and what is not working?

If you're using SX OS then I'm sorry but SX OS has major compatibility issues with the latest LibNX libraries. I also do not have access to SX OS to test, so it will be incompatible with SX OS until their homebrew compatibility is fixed.
 

cucholix

Banners guy
Member
Joined
Jan 17, 2017
Messages
2,928
Trophies
1
Age
41
XP
3,939
Country
Chile
@Moehammered it would be possible invoke virtual Switch keyboard for inputs?

Also I use this app mainly to remotely manage my PC instead gaming with it, it would be possible map ZL as right click and ZR as left click?
 

Moehammered

Well-Known Member
OP
Newcomer
Joined
May 21, 2019
Messages
77
Trophies
0
Age
29
Location
Shiga, Japan
XP
265
Country
Japan
@Moehammered it would be possible invoke virtual Switch keyboard for inputs?

Also I use this app mainly to remotely manage my PC instead gaming with it, it would be possible map ZL as right click and ZR as left click?

Invoking the virtual keyboard is one of the planned features. I tested in the prototype phase and had some issues with it but I shelved it to be revisited later. I'll be looking into it don't worry. :)

As for the mouse click buttons, as thanks for the lovely icon I'll add it first thing tomorrow. I would've done it now but I'm about to go to bed for work tomorrow. Consider it done by 24 hours :)
 
  • Like
Reactions: cucholix

LinkFan16

I link them all
Member
Joined
Mar 15, 2009
Messages
418
Trophies
0
XP
1,118
Country
Germany
Hey, first and foremost thanks for creating such a great app. With the well written instructions I got it working in no time at all. Streaming Videos and Games from my PC works great with little to no delay most of the time.

But is there any way to improve the audio streaming? Because for me PC audio will play only sometimes. 3 to 5 seconds later it cuts out entirely, returning in random intervals.

Edit: I just tried reconnecting a couple of times and now streaming audio works constantly... Maybe my connections wasn't good enough before
 
Last edited by LinkFan16,

Moehammered

Well-Known Member
OP
Newcomer
Joined
May 21, 2019
Messages
77
Trophies
0
Age
29
Location
Shiga, Japan
XP
265
Country
Japan
Hey, first and foremost thanks for creating such a great app. With the well written instructions I got it working in no time at all. Streaming Videos and Games from my PC works great with little to no delay most of the time.

But is there any way to improve the audio streaming? Because for me PC audio will play only sometimes. 3 to 5 seconds later it cuts out entirely, returning in random intervals.

Edit: I just tried reconnecting a couple of times and now streaming audio works constantly... Maybe my connections wasn't good enough before

Thank you for the kind words. Yeah audio streaming is one of the next things on my revisit list. The audio connection is done via UDP so any network issues results in audio interference. I will be investigating it soon.
When the audio refuses to stream well I find restarting my PC works out. I've only had to do that once so far.
Until I can determine the reason, the only solution I have is attempt restarting to see if the problem resolves. Sorry for any inconvenience.
 
  • Like
Reactions: LinkFan16

ucupetuks

Well-Known Member
Member
Joined
Nov 4, 2020
Messages
209
Trophies
0
Age
31
XP
349
Country
Indonesia
Sorry to hear that. Are you running Atmosphere on your Switch or SX OS?

If you're running Atmosphere CFW can you please tell me the Atmosphere version, system firmware version, and what is not working?

If you're using SX OS then I'm sorry but SX OS has major compatibility issues with the latest LibNX libraries. I also do not have access to SX OS to test, so it will be incompatible with SX OS until their homebrew compatibility is fixed.
SX OS, dang i think i need to switch gpu then, to use moonlight, skynx a bit lag on amd cards
 

dgibb

Active Member
Newcomer
Joined
Mar 14, 2009
Messages
25
Trophies
0
XP
262
Country
Love this, any chance you could include a Wake On Lan ping for the client?
There was some work done on this previously, Zedjones did a WakeOnLan_Switch in github
 
  • Like
Reactions: Moehammered

Moehammered

Well-Known Member
OP
Newcomer
Joined
May 21, 2019
Messages
77
Trophies
0
Age
29
Location
Shiga, Japan
XP
265
Country
Japan
Love this, any chance you could include a Wake On Lan ping for the client?
There was some work done on this previously, Zedjones did a WakeOnLan_Switch in github

Thanks! I hope it becomes the most convenient way to remotely use a PC :)
I definitely will be adding Wake On Lan. The end goal I have for the application is to be able to have users assign the PC application as a startup app and never need to touch their PC to use it from the Switch. It's low priority until some other things are done but it will be added don't you worry. Thank you for the github link, that is perfect! Saves me heaps of time later.

@cucholix Hey mate, v0.8.1 is out for you (and everyone else haha). I'm a little bit late on 24 hrs but close enough Never mind, just made it :P
Hope it works well for you and let's you manage your PC more comfortably :)
 
Last edited by Moehammered,
  • Like
Reactions: cucholix
General chit-chat
Help Users
    A @ Argimor: Anyone got any secret knowledge on Monster Hunter Rise Switch saves? Managed to pull the saves...