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

IBNobody

I try to keep myself amused.
Member
Joined
Nov 16, 2006
Messages
1,145
Trophies
0
Location
Texas, Hang 'Em High
Website
Visit site
XP
925
Country
United States
I'm running into an issue with attempting to stream monitor 1. Monitor 0 streams just fine, but I do not want to stream my main ultra-wide monitor. Changing the Switch settings to Monitor 1 causes the stream to begin to start on Monitor 1 (screen resize), but the Switch fails to connect.

I'm using the recommended versions:
  • Screen Capture Recorder to Video Windows free v0.12.11
  • ViGEm Bus v1.16.116

My Switch specs:
  • Mariko Switch
  • FW 13.1.0
  • Atmosphere 1.2.6
  • Switch-Remote-Play 1.0.0 with default settings except for the recommended network config and changing monitor 0 to monitor 1.
My PC specs:
  • i9-11900k
  • RTX-3090
  • Monitor 0 = MSI Ultra-wide
  • Monitor 1 = LG Ultragear - This is the BIOS detected monitor
  • Monitor 2 = Dell - connected to the CPU's UHD Graphics 750 output

Here's the log from SRPH...

Code:
Switch Remote Play Host \(^.^)/ (PC Application version - 1.0.0)


---- Monitor ----
Printing active display devices found...

Generic PnP Monitor (\\.\DISPLAY1\Monitor0)
    Number: 0    Primary: Yes
    -- Location --
        (x,y): 0, 0
    -- Resolution --
        (width x height): 2560 x 1080
    Monitor ID: MONITOR\MSI3CC5\{4d36e96e-e325-11ce-bfc1-08002be10318}\0024
    Monitor Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0024
    Monitor System Name: \\.\DISPLAY1

    Display Adapter Info
        Adapter: NVIDIA GeForce RTX 3090
        Adapter Key: \Registry\Machine\System\CurrentControlSet\Control\Video\{37AF90C5-6037-11EC-AAD0-1C99571BE74C}\0000


Generic PnP Monitor (\\.\DISPLAY2\Monitor0)
    Number: 1    Primary: No
    -- Location --
        (x,y): 18446744073709549696, 0
    -- Resolution --
        (width x height): 1920 x 1080
    Monitor ID: MONITOR\TCL0000\{4d36e96e-e325-11ce-bfc1-08002be10318}\0019
    Monitor Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0019
    Monitor System Name: \\.\DISPLAY2

    Display Adapter Info
        Adapter: NVIDIA GeForce RTX 3090
        Adapter Key: \Registry\Machine\System\CurrentControlSet\Control\Video\{37AF90C5-6037-11EC-AAD0-1C99571BE74C}\0001


Dell P2211H (Digital) (\\.\DISPLAY5\Monitor0)
    Number: 2    Primary: No
    -- Location --
        (x,y): 2560, 18446744073709551211
    -- Resolution --
        (width x height): 1080 x 1920
    Monitor ID: MONITOR\DEL4061\{4d36e96e-e325-11ce-bfc1-08002be10318}\0016
    Monitor Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0016
    Monitor System Name: \\.\DISPLAY5

    Display Adapter Info
        Adapter: Intel(R) UHD Graphics 750
        Adapter Key: \Registry\Machine\System\CurrentControlSet\Control\Video\{6D7465E6-56E9-11EC-AACB-806E6F6E6963}\0000


---- Network ----
Looking for active network interfaces...

Ethernet - Main {BCDF305F-3BA5-4943-9B60-A59DB78BA70C}
    Intel(R) Ethernet Controller (3) I225-V
    Connection type:                Ethernet interface adapter
    Status:                         Active
    Max Transmission Speed:         1000 megabits/sec | 119 megabytes/sec
    Max Receive Speed:              1000 megabits/sec | 119 megabytes/sec

    IP Address:  192.168.194.100
    Gateway:     192.168.194.1
    Subnet Mask: 255.255.255.0
    Broadcast:   192.168.194.255

Broadcast address for network discovery is: 192.168.194.255

Please add the line below to the switch application's config file if you wish to use the network discovery feature:
Broadcast Address=192.168.194.255; <-- Do not forget the semi-colon! (;)

The switch configuration file is located at 'switch/switch-remote-play/network.ini'. If it doesn't exist, create it.

---- Virtual Controller ----
Testing for correct Virtual Controller driver installation...

    Client allocation successful.
    Successfully created, connected, and plugged in a virtual PS4 controller. Cleaning up now...

    Virtual Controller driver seems to be installed correctly.

waiting to receive a broadcast...
---- Connection ----
Ready for the Switch to connect...

Expected size of command payload: 264 bytes
Reading command...
Start stream with last received config from switch...

FFMPEG Configuration:
Monitor Number: 1
Video Capture Size(x,y): 1280, 720
Stream Scale Size(x,y): 1280, 720

Chosen Codec: h264
Vsync Mode: 2 (variable frame rate)
Target Framerate: 60 fps
Target Stream Bitrate: 5120 kb/s


2022.02.11_15-51-35
Waiting for gamepad thread to shutdown...
 

Moehammered

Well-Known Member
OP
Newcomer
Joined
May 21, 2019
Messages
85
Trophies
0
Age
29
Location
Shiga, Japan
XP
282
Country
Japan
I'm running into an issue with attempting to stream monitor 1. Monitor 0 streams just fine, but I do not want to stream my main ultra-wide monitor. Changing the Switch settings to Monitor 1 causes the stream to begin to start on Monitor 1 (screen resize), but the Switch fails to connect.

I'm using the recommended versions:
  • Screen Capture Recorder to Video Windows free v0.12.11
  • ViGEm Bus v1.16.116

My Switch specs:
  • Mariko Switch
  • FW 13.1.0
  • Atmosphere 1.2.6
  • Switch-Remote-Play 1.0.0 with default settings except for the recommended network config and changing monitor 0 to monitor 1.
My PC specs:
  • i9-11900k
  • RTX-3090
  • Monitor 0 = MSI Ultra-wide
  • Monitor 1 = LG Ultragear - This is the BIOS detected monitor
  • Monitor 2 = Dell - connected to the CPU's UHD Graphics 750 output

Here's the log from SRPH...

Code:
Switch Remote Play Host \(^.^)/ (PC Application version - 1.0.0)

---- Monitor ----
Printing active display devices found...

Generic PnP Monitor (\\.\DISPLAY1\Monitor0)
    Number: 0    Primary: Yes
    -- Location --
        (x,y): 0, 0
    -- Resolution --
        (width x height): 2560 x 1080
    Monitor ID: MONITOR\MSI3CC5\{4d36e96e-e325-11ce-bfc1-08002be10318}\0024
    Monitor Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0024
    Monitor System Name: \\.\DISPLAY1

    Display Adapter Info
        Adapter: NVIDIA GeForce RTX 3090
        Adapter Key: \Registry\Machine\System\CurrentControlSet\Control\Video\{37AF90C5-6037-11EC-AAD0-1C99571BE74C}\0000


Generic PnP Monitor (\\.\DISPLAY2\Monitor0)
    Number: 1    Primary: No
    -- Location --
        (x,y): 18446744073709549696, 0
    -- Resolution --
        (width x height): 1920 x 1080
    Monitor ID: MONITOR\TCL0000\{4d36e96e-e325-11ce-bfc1-08002be10318}\0019
    Monitor Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0019
    Monitor System Name: \\.\DISPLAY2

    Display Adapter Info
        Adapter: NVIDIA GeForce RTX 3090
        Adapter Key: \Registry\Machine\System\CurrentControlSet\Control\Video\{37AF90C5-6037-11EC-AAD0-1C99571BE74C}\0001


Dell P2211H (Digital) (\\.\DISPLAY5\Monitor0)
    Number: 2    Primary: No
    -- Location --
        (x,y): 2560, 18446744073709551211
    -- Resolution --
        (width x height): 1080 x 1920
    Monitor ID: MONITOR\DEL4061\{4d36e96e-e325-11ce-bfc1-08002be10318}\0016
    Monitor Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0016
    Monitor System Name: \\.\DISPLAY5

    Display Adapter Info
        Adapter: Intel(R) UHD Graphics 750
        Adapter Key: \Registry\Machine\System\CurrentControlSet\Control\Video\{6D7465E6-56E9-11EC-AACB-806E6F6E6963}\0000

@IBNobody hey mate. Sorry to see the program is giving you grief when trying to use it on your secondary monitor.
Thank you very, very much for the console output. It helps heaps as I can immediately see a set of numbers that don't make sense to be coming from the program. Notice how the --Location-- values have extremely large values? I guess the code I wrote doesn't work well for some particular reason in your hardware configuration.

As for why it is failing to start, it'd be because of those numbers. I use them to tell ffmpeg where to capture and as you can imagine trying to capture from the location (x,y): 2560, 18446744073709551211 doesn't seem correct.

Questions I have for now:
  • Under windows desktop/monitor settings, do you have your monitors in a layout that isn't grid like?
    • (As in they are spaced apart or above each other in the layout)
  • Is your resolution scaling for the monitors set to something other than 100%?
  • Could you set the log importance threshold to Verbose in the config.ini settings for the PC application?
  • Could you set the 'Show Encoder Output=no;' to 'Show Encoder Output=yes;' in 'ffmpeg-output-options.ini' and then attempt connecting?
    • When you connect, ffmpeg's errors should show up then in the console window. Please provide the ffmpeg error output if there is any.
I'll need to investigate the Windows libraries to see if any functions I've used have odd interactions with UltraWide resolutions or devices. When I have more information I'll make an updated debug version that will help us troubleshoot the issue to get a fix.

I'm currently swamped house hunting and have been studying for a tech interview for the past month or so. I'll have some free time after the first week of March to resume working on the project. But I'll do my best to check the forum every so often during the week.

Thank you for your patience and help with diagnosing this. :)
 

IBNobody

I try to keep myself amused.
Member
Joined
Nov 16, 2006
Messages
1,145
Trophies
0
Location
Texas, Hang 'Em High
Website
Visit site
XP
925
Country
United States
@IBNobody hey mate. Sorry to see the program is giving you grief when trying to use it on your secondary monitor.
Thank you very, very much for the console output. It helps heaps as I can immediately see a set of numbers that don't make sense to be coming from the program. Notice how the --Location-- values have extremely large values? I guess the code I wrote doesn't work well for some particular reason in your hardware configuration.

As for why it is failing to start, it'd be because of those numbers. I use them to tell ffmpeg where to capture and as you can imagine trying to capture from the location (x,y): 2560, 18446744073709551211 doesn't seem correct.

Questions I have for now:
  • Under windows desktop/monitor settings, do you have your monitors in a layout that isn't grid like?
    • (As in they are spaced apart or above each other in the layout)
  • Is your resolution scaling for the monitors set to something other than 100%?
  • Could you set the log importance threshold to Verbose in the config.ini settings for the PC application?
  • Could you set the 'Show Encoder Output=no;' to 'Show Encoder Output=yes;' in 'ffmpeg-output-options.ini' and then attempt connecting?
    • When you connect, ffmpeg's errors should show up then in the console window. Please provide the ffmpeg error output if there is any.
I'll need to investigate the Windows libraries to see if any functions I've used have odd interactions with UltraWide resolutions or devices. When I have more information I'll make an updated debug version that will help us troubleshoot the issue to get a fix.

I'm currently swamped house hunting and have been studying for a tech interview for the past month or so. I'll have some free time after the first week of March to resume working on the project. But I'll do my best to check the forum every so often during the week.

Thank you for your patience and help with diagnosing this. :)
First, there's no rush on this. Life comes first. In fact, you've given me enough tools to help debug this issue on my own, and I plan on diving into the source code later today.

I do have a good lead already.

After looking at the location data for the monitors, it looks like somehow you're having a signed to unsigned integer conversion issue. I'm not sure if that's being passed to ffmpeg or not but it's definitely a bug in your host program text output.

The monitors are set up with monitor 1 being on the left of the ultrawide monitor 0. Hence the y value of 0 and the large value for x. x should have been -1920.

Monitor 2 (in portrait mode) has its lower left corner to the right and below monitor 0. Hence the x value of 2560 and the large value for y.

I moved monitor 1 to the right of monitor 0, and I kept the two monitors level. This put x at 2560 and y at 0.

I did not try to reconnect to monitor 1 in this position with SRP, but I will do that later today.




Update: It is indeed a signed/unsigned issue, as uint64 max is 18446744073709551615.

However, unsigned/signed issue was one bug, but it was not the only bug. The bug preventing multiple monitors from working is caused by monitor resizing.

The FFMPEG debug message lists:

[gdigrab @ 0000023e2e7dcc80] Capture area (-1920,0),(-640,720) extends outside window area (-1280,0),(2560,1080)desktop: I/O error

So, what is happening is that SRP reports a capture area of 1280 by 720 starting at the original location of monitor 1's lower left corner of (-1920,0). However, when monitor 0 resizes from 1920 by 1080 to 1280 by 720, that monitor's origin point shifts from (-1920,0) to (-640,0).

You probably didn't run into this issue during your development because if you had multiple monitors, you probably had monitor 0 on the left at (0,0) and monitor 1 on the right at (1920, 0) or whatever your monitor 0 horizontal resolution was. Reducing monitor 1 from 1920 by 1080 to 1280 by 720 would keep the monitor 1 origin at (1920, 0) but reduce its overall size.

To confirm all of this I did 2 additional experiments:

I moved monitor 1 to the right of monitor 0. SRP streamed to monitor 1 correctly.

I kept monitor 1 to the left of monitor 0 AND RESIZED IT MANUALLY TO 1280 by 720. SRP streamed to monitor 1 correctly.

I think you need to retool the host code to grab the monitor origin location AFTER the host utility resizes the monitor being streamed (or do maths to adjust the origin).
 
Last edited by IBNobody,

Scres

New Member
Newbie
Joined
Feb 19, 2022
Messages
2
Trophies
0
Age
24
Location
Spain
XP
5
Country
Germany
Hey, I was wondering if you would be able to help me with this error. Whenever I try to connect, it gets stuck on "Waiting for gamepad thread to shutdown..."

Switch Remote Play Host \(^.^)/ (PC Application version - 1.0.0)


---- Monitor ----
Printing active display devices found...

Generic PnP Monitor (\\.\DISPLAY1\Monitor0)
Number: 0 Primary: Yes
-- Location --
(x,y): 0, 0
-- Resolution --
(width x height): 1920 x 1080
Monitor ID: MONITOR\SAM100A\{4d36e96e-e325-11ce-bfc1-08002be10318}\0003
Monitor Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0003
Monitor System Name: \\.\DISPLAY1

Display Adapter Info
Adapter: NVIDIA GeForce RTX 2060
Adapter Key: \Registry\Machine\System\CurrentControlSet\Control\Video\{9B6D30ED-76C2-11EC-9EEF-DF3A63340337}\0000


Generic PnP Monitor (\\.\DISPLAY2\Monitor0)
Number: 1 Primary: No
-- Location --
(x,y): 1920, 78
-- Resolution --
(width x height): 1920 x 1080
Monitor ID: MONITOR\MSI3FA6\{4d36e96e-e325-11ce-bfc1-08002be10318}\0004
Monitor Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0004
Monitor System Name: \\.\DISPLAY2

Display Adapter Info
Adapter: NVIDIA GeForce RTX 2060
Adapter Key: \Registry\Machine\System\CurrentControlSet\Control\Video\{9B6D30ED-76C2-11EC-9EEF-DF3A63340337}\0001


---- Network ----
Looking for active network interfaces...

Ethernet {151F8F00-C81F-4314-AE87-095301483DAA}
Realtek PCIe GbE Family Controller
Connection type: Ethernet interface adapter
Status: Active
Max Transmission Speed: 1000 megabits/sec | 119 megabytes/sec
Max Receive Speed: 1000 megabits/sec | 119 megabytes/sec

IP Address: 192.168.1.100
Gateway: 192.168.1.1
Subnet Mask: 255.255.255.0
Broadcast: 192.168.1.255

Broadcast address for network discovery is: 192.168.1.255

Please add the line below to the switch application's config file if you wish to use the network discovery feature:
Broadcast Address=192.168.1.255; <-- Do not forget the semi-colon! (;)

The switch configuration file is located at 'switch/switch-remote-play/network.ini'. If it doesn't exist, create it.

---- Virtual Controller ----
Testing for correct Virtual Controller driver installation...

Client allocation successful.
Successfully created, connected, and plugged in a virtual PS4 controller. Cleaning up now...

Virtual Controller driver seems to be installed correctly.

waiting to receive a broadcast...
---- Connection ----
Ready for the Switch to connect...

Expected size of command payload: 264 bytes
Reading command...
Start stream with last received config from switch...

FFMPEG Configuration:
Monitor Number: 1
Video Capture Size(x,y): 1920, 1080
Stream Scale Size(x,y): 1280, 720

Chosen Codec: h264
Vsync Mode: 2 (variable frame rate)
Target Framerate: 60 fps
Target Stream Bitrate: 5120 kb/s


2022.02.19_03-35-30
Waiting for gamepad thread to shutdown...
 

Scres

New Member
Newbie
Joined
Feb 19, 2022
Messages
2
Trophies
0
Age
24
Location
Spain
XP
5
Country
Germany
Hey, I was wondering if you would be able to help me with this error. Whenever I try to connect, it gets stuck on "Waiting for gamepad thread to shutdown..."

Switch Remote Play Host \(^.^)/ (PC Application version - 1.0.0)


---- Monitor ----
Printing active display devices found...

Generic PnP Monitor (\\.\DISPLAY1\Monitor0)
Number: 0 Primary: Yes
-- Location --
(x,y): 0, 0
-- Resolution --
(width x height): 1920 x 1080
Monitor ID: MONITOR\SAM100A\{4d36e96e-e325-11ce-bfc1-08002be10318}\0003
Monitor Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0003
Monitor System Name: \\.\DISPLAY1

Display Adapter Info
Adapter: NVIDIA GeForce RTX 2060
Adapter Key: \Registry\Machine\System\CurrentControlSet\Control\Video\{9B6D30ED-76C2-11EC-9EEF-DF3A63340337}\0000


Generic PnP Monitor (\\.\DISPLAY2\Monitor0)
Number: 1 Primary: No
-- Location --
(x,y): 1920, 78
-- Resolution --
(width x height): 1920 x 1080
Monitor ID: MONITOR\MSI3FA6\{4d36e96e-e325-11ce-bfc1-08002be10318}\0004
Monitor Key: \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0004
Monitor System Name: \\.\DISPLAY2

Display Adapter Info
Adapter: NVIDIA GeForce RTX 2060
Adapter Key: \Registry\Machine\System\CurrentControlSet\Control\Video\{9B6D30ED-76C2-11EC-9EEF-DF3A63340337}\0001


---- Network ----
Looking for active network interfaces...

Ethernet {151F8F00-C81F-4314-AE87-095301483DAA}
Realtek PCIe GbE Family Controller
Connection type: Ethernet interface adapter
Status: Active
Max Transmission Speed: 1000 megabits/sec | 119 megabytes/sec
Max Receive Speed: 1000 megabits/sec | 119 megabytes/sec

IP Address: 192.168.1.100
Gateway: 192.168.1.1
Subnet Mask: 255.255.255.0
Broadcast: 192.168.1.255

Broadcast address for network discovery is: 192.168.1.255

Please add the line below to the switch application's config file if you wish to use the network discovery feature:
Broadcast Address=192.168.1.255; <-- Do not forget the semi-colon! (;)

The switch configuration file is located at 'switch/switch-remote-play/network.ini'. If it doesn't exist, create it.

---- Virtual Controller ----
Testing for correct Virtual Controller driver installation...

Client allocation successful.
Successfully created, connected, and plugged in a virtual PS4 controller. Cleaning up now...

Virtual Controller driver seems to be installed correctly.

waiting to receive a broadcast...
---- Connection ----
Ready for the Switch to connect...

Expected size of command payload: 264 bytes
Reading command...
Start stream with last received config from switch...

FFMPEG Configuration:
Monitor Number: 1
Video Capture Size(x,y): 1920, 1080
Stream Scale Size(x,y): 1280, 720

Chosen Codec: h264
Vsync Mode: 2 (variable frame rate)
Target Framerate: 60 fps
Target Stream Bitrate: 5120 kb/s


2022.02.19_03-35-30
Waiting for gamepad thread to shutdown...
 

ShardPerson

New Member
Newbie
Joined
Mar 24, 2022
Messages
2
Trophies
0
Age
21
Location
MAdrid
XP
23
Country
Spain
Hi, I've been messing around with your software and it's pretty nice so far, just yesterday I got to get the audio working (turns out it doesn't like to have Voicemeeter open) and the streaming has functionally no delay at 60fps, could play Elden Ring on my couch with no problem

I do have one issue though, and I'm not sure what the cause is. I use a software called Playnite as an all-in-one game library, it's better than Steam Big Picture for this kind of stuff, but it only supports XInput controllers, is this software not translating the controller to XInput?
 

MadManMcGee

New Member
Newbie
Joined
Mar 28, 2022
Messages
1
Trophies
0
Age
33
Location
Manchester
XP
6
Country
United Kingdom
Hi Moehammered!
Amazing work on this. I just discovered it and it works a charm.
I hope docked audio can be sorted eventually, but it's great handheld!

Just one request/suggestion: would it be a possibility to auto-launch a program when Switch connects? For example, Steam Big Picture? Like maybe give a "launch this on stream start:" box and we give a path to whatever we want? Similar to how it sets resolution on connecting. Not having to awkwardly click steam then launch big picture, but having it just launch on connecting would be amazing!
 

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
8,189
Trophies
1
XP
13,118
Country
United Kingdom
Just got around to setting this up on my Windows partition. It's working great with AMD streaming, seems really responsive/better latency than other streaming I've tried in the past. Thanks!

I had trouble with one game, Recursed - I don't think it's this app's fault, just something weird about the game, as I remember having the same issue in the past when I tried to stream it by another method. When the game starts, the stream display on the Switch is stuck on a white screen, while the game is running normally on the computer. I found that alt-tabbing between apps, each time I switched back to the game it would correctly display the current game frame on the Switch, but then that frame would again get stuck. This game was the only thing having this problem out of the handful of stuff I tried today. Just wondered if anyone had experienced anything similar and maybe found a solution? Cheers!
 

Moehammered

Well-Known Member
OP
Newcomer
Joined
May 21, 2019
Messages
85
Trophies
0
Age
29
Location
Shiga, Japan
XP
282
Country
Japan
Hi, I've been messing around with your software and it's pretty nice so far, just yesterday I got to get the audio working (turns out it doesn't like to have Voicemeeter open) and the streaming has functionally no delay at 60fps, could play Elden Ring on my couch with no problem

I do have one issue though, and I'm not sure what the cause is. I use a software called Playnite as an all-in-one game library, it's better than Steam Big Picture for this kind of stuff, but it only supports XInput controllers, is this software not translating the controller to XInput?

Hey there @ShardPerson, I'm aware of Playnite and use it on my GPD and Aya Neo. Can I ask were you using the stream using Dualshock 4 Controller mode or Xbox 360 Controller mode? Please try using Xbox 360 Controller mode and let me know.

Hi Moehammered!
Amazing work on this. I just discovered it and it works a charm.
I hope docked audio can be sorted eventually, but it's great handheld!

Just one request/suggestion: would it be a possibility to auto-launch a program when Switch connects? For example, Steam Big Picture? Like maybe give a "launch this on stream start:" box and we give a path to whatever we want? Similar to how it sets resolution on connecting. Not having to awkwardly click steam then launch big picture, but having it just launch on connecting would be amazing!

Hey @MadManMcGee that's definitely a great idea! I have plans to include a hotkey to launch steam big picture as well as allow a way to bind the switch buttons to PC commands. I like your idea, it flows along the lines of what I had in mind. :)

Just got around to setting this up on my Windows partition. It's working great with AMD streaming, seems really responsive/better latency than other streaming I've tried in the past. Thanks!

I had trouble with one game, Recursed - I don't think it's this app's fault, just something weird about the game, as I remember having the same issue in the past when I tried to stream it by another method. When the game starts, the stream display on the Switch is stuck on a white screen, while the game is running normally on the computer. I found that alt-tabbing between apps, each time I switched back to the game it would correctly display the current game frame on the Switch, but then that frame would again get stuck. This game was the only thing having this problem out of the handful of stuff I tried today. Just wondered if anyone had experienced anything similar and maybe found a solution? Cheers!

Hi @hippy dave thank you for the kind words! That seems like the program is using exclusive fullscreen. This is a shared issue with ffmpeg programs. Does Recursed have the ability to work in bordereless fullscreen mode? If it is in fullscreen mode then the video will 'freeze'. Please try launching Recursed in borderless fullscreen or in windowed mode. If it doesn't have borderless fullscreen please try using the 'Borderless Gaming' application.

Sorry everyone for a long silence but I'm currently in the middle of life stuff. Development is on hold until I've gotten everything all sorted. I'll make a post once I've resumed development.

Thanks for being patient. :)
 

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
8,189
Trophies
1
XP
13,118
Country
United Kingdom
Hi @hippy dave thank you for the kind words! That seems like the program is using exclusive fullscreen. This is a shared issue with ffmpeg programs. Does Recursed have the ability to work in bordereless fullscreen mode? If it is in fullscreen mode then the video will 'freeze'. Please try launching Recursed in borderless fullscreen or in windowed mode. If it doesn't have borderless fullscreen please try using the 'Borderless Gaming' application.
Thank you, really helpful answer - will check it out later.
Good luck with the life stuff, hope things get easier.
 
  • Like
Reactions: Moehammered

Moehammered

Well-Known Member
OP
Newcomer
Joined
May 21, 2019
Messages
85
Trophies
0
Age
29
Location
Shiga, Japan
XP
282
Country
Japan
Thank you, really helpful answer - will check it out later.
Good luck with the life stuff, hope things get easier.
Thanks! Luckily the stuff I'm going through at the moment isn't anything bad. Actually very positive! Just has consumed my schedule a lot for the past 3 months. Anticipating things to become less busy within the next 2 months. Hopefully the solution I offered you helps. If not, feel free to post a reply and I'll keep an eye out for it to continue helping if need be. :)
 
  • Love
Reactions: hippy dave

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
8,189
Trophies
1
XP
13,118
Country
United Kingdom
Thanks! Luckily the stuff I'm going through at the moment isn't anything bad. Actually very positive! Just has consumed my schedule a lot for the past 3 months. Anticipating things to become less busy within the next 2 months. Hopefully the solution I offered you helps. If not, feel free to post a reply and I'll keep an eye out for it to continue helping if need be. :)
That's great to hear!
I tried out that Borderless Gaming app, and fiddled with the various choices - even in fullscreen windowed the streamed game image was still frozen, but I got it almost full screen - maximised the window with its button and then hid the menu bar and the Windows task bar - the game took up the full screen except for a gap of wallpaper at the bottom where the task bar should be. Close enough, and played great. Thanks again for the suggestion!
 

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
8,189
Trophies
1
XP
13,118
Country
United Kingdom
Well I got a better solution, set the window size manually in Borderless Gaming to 1280x719 (height of 720 will still give frozen image) - near enough to be perfect.

My only problem now is that I'm not getting audio streamed to the Switch, even tho I did yesterday :blink: I've restarted, I've checked that there are two ffmpeg processes running, both sending out network data, I'm not sure what else to do.
E: oh yeah and the computer audio doesn't un-mute when it closes, I think it did before.

ee: uninstalling the screen capture utility then reinstalling it fixes this audio not streaming problem, so I'm just keeping that installer on hand.
 
Last edited by hippy dave,

ShardPerson

New Member
Newbie
Joined
Mar 24, 2022
Messages
2
Trophies
0
Age
21
Location
MAdrid
XP
23
Country
Spain
I'm aware of Playnite and use it on my GPD and Aya Neo. Can I ask were you using the stream using Dualshock 4 Controller mode or Xbox 360 Controller mode? Please try using Xbox 360 Controller mode and let me know
That's weird, I made sure it was in X360 mode and I tested in games, it worked on everything I could think of except for Playnite, which is why I was wondering if maybe it didn't use XInput. I'll have to mess around more and see if I can figure out why Playnite just doesn't react to the controller inputs through SRP
 

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
8,189
Trophies
1
XP
13,118
Country
United Kingdom
What would you think about adding a feature to the Switch client to send a wakeup packet over the network, to wake the computer if it's in sleep mode?
 

SkyDark719

Member
Newcomer
Joined
Apr 25, 2020
Messages
16
Trophies
0
XP
350
Country
Spain
This app is really convenient for me due the feature of choosing what monitor do you want to display. I'm using this mainly to use as Wii U Gamepad with Cemu and bottom screen with Citra. I simply need to run Spacedesk (virtual second monitor) on my smartphone in background, and run switch-remote-play selecting monitor 1. Thanks for your tool, it's so useful!
 

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
8,189
Trophies
1
XP
13,118
Country
United Kingdom
I just wish I could get the audio streaming working consistently, then everything would be perfect. It would sometimes work if I uninstalled and reinstalled the Screen Capture utility, and/or restarted windows, but not every time, and I'm having less luck with it recently. If I enable the ffmpeg output for audio, it shows capture from the virtual-something device and shows data being transferred. If anyone has any ideas to help me get audio working every time I'd really appreciate it.
 

Moehammered

Well-Known Member
OP
Newcomer
Joined
May 21, 2019
Messages
85
Trophies
0
Age
29
Location
Shiga, Japan
XP
282
Country
Japan
What would you think about adding a feature to the Switch client to send a wakeup packet over the network, to wake the computer if it's in sleep mode?

@hippy dave someone's suggested that earlier on in the development of this project. I plan to do it, but at the moment I can't due to not having a convenient LAN network setup where I'm currently living. I'm in the process of moving so hopefully at the new place I can setup a proper LAN network and get to creating this feature. :)

My joycons don't seem to work. Time for an update?

@SylveonEspeon I'd suggest maybe re-installing the ViGEm driver. Do your joycons work in the menus for changing settings and such? If so then it would most likely be the driver needs re-installing. Please check the console output of the PC program to see if any errors are reported.

This app is really convenient for me due the feature of choosing what monitor do you want to display. I'm using this mainly to use as Wii U Gamepad with Cemu and bottom screen with Citra. I simply need to run Spacedesk (virtual second monitor) on my smartphone in background, and run switch-remote-play selecting monitor 1. Thanks for your tool, it's so useful!

@SkyDark719 Thank you for the kind words! I'm very glad to hear you find it useful :)
That's a clever way to do that! Using a virtual monitor and then streaming it to the switch. Very neat idea.

I just wish I could get the audio streaming working consistently, then everything would be perfect. It would sometimes work if I uninstalled and reinstalled the Screen Capture utility, and/or restarted windows, but not every time, and I'm having less luck with it recently. If I enable the ffmpeg output for audio, it shows capture from the virtual-something device and shows data being transferred. If anyone has any ideas to help me get audio working every time I'd really appreciate it.

@hippy dave sorry the audio isn't consistent. I'm planning a complete re-write of how it works on the Switch program. I'm suspecting it might be a timing issue with how I'm handling the audio packets. But I've never ran into the issue personally. Could you try experimenting with overclocking your Switch? See if that has any effects on the audio issue.

Still finishing up some life things, but free time is on the horizon for me so not long to go. Thanks for being patient :)
 
General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: Although the neighbors will probably be all rapey lol