Giter Site home page Giter Site logo

moehammered / switch-remote-play Goto Github PK

View Code? Open in Web Editor NEW
299.0 299.0 13.0 46.93 MB

Let the switch remotely play PC games (similar to steam link or remote play)

License: GNU General Public License v3.0

Makefile 1.05% C++ 82.85% C 15.89% Rich Text Format 0.20%

switch-remote-play's People

Contributors

moehammered avatar theosirian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

switch-remote-play's Issues

Black Screen Flicker (On Map Screen)

Not sure what to classify this, as it may be game specific.

Game: Horizon Zero Dawn
Video: Attached.
Config:

Click to expand!

use_manual_mode=yes;
broadcast_address=10.10.0.255;
manual_ip=10.10.0.253;
desired_framerate=60;
desktop_resolution=2560x1440;
switch_resolution=1280x720;
bitrate_kb=8192;
vsync_mode=variable frame rate;
encoder_preset=medium;
quality_control_factor=5;
video_codec=h264_nvenc;
hwaccel_mode=auto;
controller_mode=x360;
controller_map=invert xyab;
mouse_on_connect=no;
mouse_sensitivity=8;
decoder_flags1=low delay;
decoder_flags2=fast;
decoder_hwaccelflags=experimental,ignore level;
decoder_skip_loop_filter=discard all;
decoder_thread_type=thread slice;
decoder_thread_count=4;
mouse_left_click=R;
mouse_right_click=ZR;

Game runs fine, in game has no flicke

IMG_1472.mp4

ring, but when you go to map screen, there is intensive flicker.. Resolution does not affect the issue at all.

Trying to compile

I am learning how to compile on Switch. I can't find detailed instructions on how to compile the .nro

Just install devkitpro here I opened MSys2 installed by DevKitPRO, I went to the folder "switch-remote-play\switch-project" and run Make -i.

These are the results:


marlo@DESKTOP-S9BOJ7I MSYS ~/switch-remote-play/switch-project
$ make -dependencia
make: invalid option -- c
make: invalid option -- a
Usage: make [options] [target] ...
Options:
  -b, -m                      Ignored for compatibility.
  -B, --always-make           Unconditionally make all targets.
  -C DIRECTORY, --directory=DIRECTORY
                              Change to DIRECTORY before doing anything.
  -d                          Print lots of debugging information.
  --debug[=FLAGS]             Print various types of debugging information.
  -e, --environment-overrides
                              Environment variables override makefiles.
  -E STRING, --eval=STRING    Evaluate STRING as a makefile statement.
  -f FILE, --file=FILE, --makefile=FILE
                              Read FILE as a makefile.
  -h, --help                  Print this message and exit.
  -i, --ignore-errors         Ignore errors from recipes.
  -I DIRECTORY, --include-dir=DIRECTORY
                              Search DIRECTORY for included makefiles.
  -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no arg.
  -k, --keep-going            Keep going when some targets can't be made.
  -l [N], --load-average[=N], --max-load[=N]
                              Don't start multiple jobs unless load is below N.
  -L, --check-symlink-times   Use the latest mtime between symlinks and target.
  -n, --just-print, --dry-run, --recon
                              Don't actually run any recipe; just print them.
  -o FILE, --old-file=FILE, --assume-old=FILE
                              Consider FILE to be very old and don't remake it.
  -O[TYPE], --output-sync[=TYPE]
                              Synchronize output of parallel jobs by TYPE.
  -p, --print-data-base       Print make's internal database.
  -q, --question              Run no recipe; exit status says if up to date.
  -r, --no-builtin-rules      Disable the built-in implicit rules.
  -R, --no-builtin-variables  Disable the built-in variable settings.
  -s, --silent, --quiet       Don't echo recipes.
  --no-silent                 Echo recipes (disable --silent mode).
  -S, --no-keep-going, --stop
                              Turns off -k.
  -t, --touch                 Touch targets instead of remaking them.
  --trace                     Print tracing information.
  -v, --version               Print the version number of make and exit.
  -w, --print-directory       Print the current directory.
  --no-print-directory        Turn off -w, even if it was turned on implicitly.
  -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
                              Consider FILE to be infinitely new.
  --warn-undefined-variables  Warn when an undefined variable is referenced.

This program built for x86_64-pc-msys
Report bugs to <[email protected]>
# GNU Make 4.3
# Built for x86_64-pc-msys
# Copyright (C) 1988-2020 Free Software Foundation, Inc.
# License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
# This is free software: you are free to change and redistribute it.
# There is NO WARRANTY, to the extent permitted by law.

# Make data base, printed on Wed Oct  6 11:41:13 2021

# Variables

# environment
SYSTEMDRIVE = C:
# environment
USERPROFILE = C:\Users\marlo
# environment
ProgramW6432 = C:\Program Files
# environment
LOCALAPPDATA = C:\Users\marlo\AppData\Local
# environment
SYSTEMROOT = C:\WINDOWS
# environment
PROCESSOR_LEVEL = 16
# environment
GOPATH = C:\Users\marlo\go
# environment
ORIGINAL_TEMP = /home/marlo/AppData/Local/Temp
# default
.VARIABLES :=
# environment
PWD = /home/marlo/switch-remote-play/switch-project
# environment
HOSTNAME = DESKTOP-S9BOJ7I
# environment
PS1 = \[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[35m\]$MSYSTEM\[\e[0m\] \[\e[33m\]\w\[\e[0m\]\n\$
# environment
OLDPWD = /home/marlo/switch-remote-play
# default
.LOADED :=
# environment
TMP = /tmp
# environment
ChocolateyInstall = C:\ProgramData\chocolatey
# environment
MSYSCON = mintty.exe
# environment
PKG_CONFIG_PATH = /usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig
# environment
DEVKITARM = /opt/devkitpro/devkitARM
# environment
MSYSTEM_CARCH = x86_64
# environment
PROGRAMFILES = C:\Program Files
# default
.SHELLFLAGS := -c
# environment
!C: = c:\devkitPro\msys2
# environment
PSModulePath = C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
# environment
tmp = C:\Users\marlo\AppData\Local\Temp
# environment
IDF_TOOLS_PATH = C:\Users\marlo\.espressif
# environment
ProgramFiles(x86) = C:\Program Files (x86)
# environment
DEVKITPPC = /opt/devkitpro/devkitPPC
# environment
OneDriveConsumer = C:\Users\marlo\OneDrive
# environment
MANPATH = /usr/local/man:/usr/share/man:/usr/man:/share/man
# environment
OneDrive = C:\Users\marlo\OneDrive
# environment
INFOPATH = /usr/local/info:/usr/share/info:/usr/info:/share/info
# environment
SHELL = /usr/bin/bash
# environment
ORIGINAL_PATH = /c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/
# environment
HOMEPATH = \Users\marlo
# environment
SHLVL = 1
# environment
COMSPEC = C:\WINDOWS\system32\cmd.exe
# environment
WINDIR = C:\WINDOWS
# environment
PATH = /usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
# environment
COMPUTERNAME = DESKTOP-S9BOJ7I
# environment
CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files
# environment
PROMPT = $P$G
# environment
TZ = America/Bogota
# environment
LOGONSERVER = \\DESKTOP-S9BOJ7I
# environment
CONTITLE = MSYS2 MSYS
# environment
USERNAME = marlo
# environment
TERM_PROGRAM = mintty
# environment
COMMONPROGRAMFILES = C:\Program Files\Common Files
# environment
PRINTER = Microsoft Print to PDF
# environment
DEVKITPRO = /opt/devkitpro
# environment
ChocolateyLastPathUpdate = 132774102706317532
# environment
MSYSTEM_CHOST = x86_64-pc-msys
# environment
PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW
# environment
ChocolateyToolsLocation = C:\tools
# environment
CONFIG_SITE = /etc/config.site
# environment
USERDOMAIN = DESKTOP-S9BOJ7I
# environment
GNUMAKEFLAGS :=
# environment
OS = Windows_NT
# environment
MSYSTEM_PREFIX = /usr
# environment
USER = marlo
# environment
USERDOMAIN_ROAMINGPROFILE = DESKTOP-S9BOJ7I
# environment
NUMBER_OF_PROCESSORS = 3
# environment
PUBLIC = C:\Users\Public
# environment
ProgramData = C:\ProgramData
# environment
_ = /usr/bin/make
# environment
APPDATA = C:\Users\marlo\AppData\Roaming
# environment
HOMEDRIVE = C:
# environment
LC_CTYPE = es_MX.UTF-8
# environment
PROCESSOR_ARCHITECTURE = AMD64
# environment
!:: = ::\
# environment
DriverData = C:\Windows\System32\Drivers\DriverData
# environment
MSYSTEM = MSYS
# environment
HOME = /home/marlo
# environment
temp = C:\Users\marlo\AppData\Local\Temp
# environment
CommonProgramW6432 = C:\Program Files\Common Files
# environment
TERM = xterm
# environment
TEMP = /tmp
# default
.RECIPEPREFIX :=
# environment
ORIGINAL_TMP = /home/marlo/AppData/Local/Temp
# environment
WD = C:\devkitPro\msys2\usr\bin\
# environment
ALLUSERSPROFILE = C:\ProgramData
# environment
SESSIONNAME = Console
# default
.FEATURES := target-specific order-only second-expansion else-if shortest-stem undefine oneshell nocomment grouped-target extra-prereqs archives jobserver output-sync check-symlink load
# environment
PROCESSOR_REVISION = 0502
# environment
TERM_PROGRAM_VERSION = 3.5.1
# environment
PROCESSOR_IDENTIFIER = AMD64 Family 16 Model 5 Stepping 2, AuthenticAMD
# variable set hash-table stats:
# Load=86/1024=8%, Rehash=0, Collisions=5/88=6%

# Pattern-specific Variable Values

# No pattern-specific variable values.

# Directories


# No files, no impossibilities in 0 directories.

# Implicit Rules

# No implicit rules.

# Files

# files hash-table stats:
# Load=0/1024=0%, Rehash=0, Collisions=0/0=0%
# VPATH Search Paths

# No 'vpath' search paths.

# No general ('VPATH' variable) search path.

# No strcache buffers

# Finished Make data base on Wed Oct  6 11:41:13 2021


marlo@DESKTOP-S9BOJ7I MSYS ~/switch-remote-play/switch-project
$ make -i
MainScreen.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/MainScreen.h:6,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/MainScreen.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: MainScreen.o] Error 1 (ignored)
ScreenRenderer.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ScreenRenderer.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ScreenRenderer.h:4:10: fatal error: SDL2/SDL.h: No such file or directory
    4 | #include <SDL2/SDL.h>
      |          ^~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: ScreenRenderer.o] Error 1 (ignored)
main.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/main.cpp:11:
C:/Users/marlo/switch-remote-play/switch-project/source/ScreenRenderer.h:4:10: fatal error: SDL2/SDL.h: No such file or directory
    4 | #include <SDL2/SDL.h>
      |          ^~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: main.o] Error 1 (ignored)
Broadcast.cpp
CommandSender.cpp
Connection.cpp
NetworkConfiguration.cpp
NetworkDiscovery.cpp
ControllerMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/ControllerMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/ControllerMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: ControllerMenu.o] Error 1 (ignored)
DecoderAccelMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/DecoderAccelMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/DecoderAccelMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: DecoderAccelMenu.o] Error 1 (ignored)
DecoderDiscardMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/DecoderDiscardMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/DecoderDiscardMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: DecoderDiscardMenu.o] Error 1 (ignored)
DecoderFlag1Menu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/DecoderFlag1Menu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/DecoderFlag1Menu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: DecoderFlag1Menu.o] Error 1 (ignored)
DecoderFlag2Menu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/DecoderFlag2Menu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/DecoderFlag2Menu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: DecoderFlag2Menu.o] Error 1 (ignored)
DecoderMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/DecoderMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/DecoderMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: DecoderMenu.o] Error 1 (ignored)
DecoderThreadMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/DecoderThreadMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/DecoderThreadMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: DecoderThreadMenu.o] Error 1 (ignored)
EncoderMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/EncoderMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/EncoderMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: EncoderMenu.o] Error 1 (ignored)
GenericCodecMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/GenericCodecMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/GenericCodecMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: GenericCodecMenu.o] Error 1 (ignored)
H264AmfMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/H264AmfMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/H264AmfMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: H264AmfMenu.o] Error 1 (ignored)
H264Menu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/H264Menu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/H264Menu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: H264Menu.o] Error 1 (ignored)
HelpMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/HelpMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/HelpMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: HelpMenu.o] Error 1 (ignored)
Menu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: Menu.o] Error 1 (ignored)
MouseMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/MouseMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/MouseMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: MouseMenu.o] Error 1 (ignored)
NetworkMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/NetworkMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/NetworkMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: NetworkMenu.o] Error 1 (ignored)
SimulatedTouchMouseMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/SimulatedTouchMouseMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/SimulatedTouchMouseMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: SimulatedTouchMouseMenu.o] Error 1 (ignored)
Text.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/Text.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Text.h:4:10: fatal error: SDL2/SDL.h: No such file or directory
    4 | #include <SDL2/SDL.h>
      |          ^~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: Text.o] Error 1 (ignored)
TouchMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/TouchMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/TouchMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: TouchMenu.o] Error 1 (ignored)
VirtualTouchMenu.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/ui/VirtualTouchMenu.h:4,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/ui/VirtualTouchMenu.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/ui/Menu.h:6:10: fatal error: SDL2/SDL_render.h: No such file or directory
    6 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: VirtualTouchMenu.o] Error 1 (ignored)
FileOperations.cpp
SoftwareKeyboard.cpp
SystemSetup.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/system/SystemSetup.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/system/SystemSetup.h:4:10: fatal error: SDL2/SDL_render.h: No such file or directory
    4 | #include <SDL2/SDL_render.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: SystemSetup.o] Error 1 (ignored)
AudioPlayback.cpp
C:/Users/marlo/switch-remote-play/switch-project/source/stream/AudioPlayback.cpp: In member function 'int32_t AudioPlayback::ReadPackets(const int32_t&)':
C:/Users/marlo/switch-remote-play/switch-project/source/stream/AudioPlayback.cpp:80:24: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
   80 |     } while (totalRead < packetsPerFrame && udpSocket > 0);
      |              ~~~~~~~~~~^~~~~~~~~~~~~~~~~
PcmStream.cpp
StreamDecoder.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/stream/StreamDecoder.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/stream/StreamDecoder.h:6:14: fatal error: libavformat/avformat.h: No such file or directory
    6 |     #include <libavformat/avformat.h>
      |              ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: StreamDecoder.o] Error 1 (ignored)
VideoStream.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/stream/VideoStream.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/stream/VideoStream.h:6:14: fatal error: libavcodec/avcodec.h: No such file or directory
    6 |     #include <libavcodec/avcodec.h>
      |              ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: VideoStream.o] Error 1 (ignored)
HWAccel.cpp
Resolution.cpp
VideoCodec.cpp
VsyncMode.cpp
WordDelimiter.cpp
H264Codec.cpp
H264Configuration.cpp
H264Options.cpp
H264AmfCodec.cpp
H264AmfConfiguration.cpp
h264amfEnums.cpp
h264amfOptions.cpp
GenericCodec.cpp
GenericCodecConfiguration.cpp
GenericOptions.cpp
Configuration.cpp
FlagMapUtils.cpp
JoyConUtility.cpp
PadUtility.cpp
DecoderAccel.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/decoder/DecoderAccel.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/decoder/DecoderAccel.h:10:14: fatal error: libavcodec/avcodec.h: No such file or directory
   10 |     #include <libavcodec/avcodec.h>
      |              ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: DecoderAccel.o] Error 1 (ignored)
DecoderConfiguration.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/decoder/DecoderConfiguration.h:6,
                 from C:/Users/marlo/switch-remote-play/switch-project/source/decoder/DecoderConfiguration.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/decoder/DecoderOptions.h:10:14: fatal error: libavcodec/avcodec.h: No such file or directory
   10 |     #include <libavcodec/avcodec.h>
      |              ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: DecoderConfiguration.o] Error 1 (ignored)
DecoderFlag.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/decoder/DecoderFlag.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/decoder/DecoderFlag.h:9:14: fatal error: libavcodec/avcodec.h: No such file or directory
    9 |     #include <libavcodec/avcodec.h>
      |              ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: DecoderFlag.o] Error 1 (ignored)
DecoderOptions.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/decoder/DecoderOptions.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/decoder/DecoderOptions.h:10:14: fatal error: libavcodec/avcodec.h: No such file or directory
   10 |     #include <libavcodec/avcodec.h>
      |              ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: DecoderOptions.o] Error 1 (ignored)
DiscardType.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/decoder/DiscardType.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/decoder/DiscardType.h:9:14: fatal error: libavcodec/avcodec.h: No such file or directory
    9 |     #include <libavcodec/avcodec.h>
      |              ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: DiscardType.o] Error 1 (ignored)
ThreadType.cpp
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/decoder/ThreadType.cpp:1:
C:/Users/marlo/switch-remote-play/switch-project/source/decoder/ThreadType.h:9:14: fatal error: libavcodec/avcodec.h: No such file or directory
    9 |     #include <libavcodec/avcodec.h>
      |              ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:14: ThreadType.o] Error 1 (ignored)
ControllerAnalogMap.cpp
ControllerButtonMap.cpp
ControllerConfiguration.cpp
ControllerMode.cpp
ControllerOptions.cpp
C:/Users/marlo/switch-remote-play/switch-project/source/controller/ControllerOptions.cpp: In function 'const std::unordered_map<controller::Parameters, std::__cxx11::basic_string<char> > controller::ControllerParamsToStr(controller::ControllerConfig)':
C:/Users/marlo/switch-remote-play/switch-project/source/controller/ControllerOptions.cpp:9:14: warning: variable 'boolToStr' set but not used [-Wunused-but-set-variable]
    9 |         auto boolToStr = [](bool val)
      |              ^~~~~~~~~
SwitchButtons.cpp
MouseConfiguration.cpp
MouseOptions.cpp
SimulatedMouseConfiguration.cpp
SimulatedMouseOptions.cpp
TouchConfiguration.cpp
TouchOptions.cpp
VirtualTouchConfiguration.cpp
VirtualTouchOptions.cpp
SDL_FontCache.c
In file included from C:/Users/marlo/switch-remote-play/switch-project/source/SDL_FontCache.c:8:
C:/Users/marlo/switch-remote-play/switch-project/source/SDL_FontCache.h:36:10: fatal error: SDL2/SDL.h: No such file or directory
   36 | #include <SDL2/SDL.h>
      |          ^~~~~~~~~~~~
compilation terminated.
make[1]: [/opt/devkitpro/devkitA64/base_rules:19: SDL_FontCache.o] Error 1 (ignored)
linking switch-remote-play.elf
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find MainScreen.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find ScreenRenderer.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find main.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find ControllerMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find DecoderAccelMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find DecoderDiscardMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find DecoderFlag1Menu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find DecoderFlag2Menu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find DecoderMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find DecoderThreadMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find EncoderMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find GenericCodecMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find H264AmfMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find H264Menu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find HelpMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find Menu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find MouseMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find NetworkMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find SimulatedTouchMouseMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find Text.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find TouchMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find VirtualTouchMenu.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find SystemSetup.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find StreamDecoder.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find VideoStream.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find DecoderAccel.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find DecoderConfiguration.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find DecoderFlag.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find DecoderOptions.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find DiscardType.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find ThreadType.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find SDL_FontCache.o: No such file or directory
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lSDL2_ttf
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lSDL2
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lSDL2_mixer
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lSDL2_image
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lEGL
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lglapi
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -ldrm_nouveau
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lavformat
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lavcodec
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lavutil
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lswresample
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lswscale
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lvpx
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lbz2
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lopus
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lfreetype
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lpng
c:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/ld.exe: cannot find -lz
collect2.exe: error: ld returned 1 exit status
make[1]: [/opt/devkitpro/libnx/switch_rules:80: /home/marlo/switch-remote-play/switch-project/switch-remote-play.elf] Error 1 (ignored)
c:\devkitpro\devkita64\bin\../lib/gcc/aarch64-none-elf/11.1.0/../../../../aarch64-none-elf/bin/nm.exe: 'C:/Users/marlo/switch-remote-play/switch-project/switch-remote-play.elf': No such file
make[1]: [/opt/devkitpro/libnx/switch_rules:81: /home/marlo/switch-remote-play/switch-project/switch-remote-play.elf] Error 1 (ignored)
built ... switch-remote-play.nacp
Failed to open input!
make[1]: [/opt/devkitpro/libnx/switch_rules:69: /home/marlo/switch-remote-play/switch-project/switch-remote-play.nro] Error 1 (ignored)
built ... switch-remote-play.nro

marlo@DESKTOP-S9BOJ7I MSYS ~/switch-remote-play/switch-project
$

Virtual Touch - Resolution Mismatch/Touch

Hey,

Just compiled the latest commits you did to test out the Virtual Touch..

If you don't want me reporting any testing/bugs let me know but.

Virtual Touch -- and Touch Mouse Input

Desktop Resolution: 1440p
Switch Resolution: 720p

Touch will only do part of the screen (i.e 720p - from origin 0:0) there's no calculation for touch input from switch to desktop resolution.

Don't work :(

After connection and pressing R i see PC display on my Switch for only 1 sec. Then it back to main menu...

I have an error in console : Failed to connect bus for virtual controller with error code: 0xe0000001

[feature request] absolute position touch support

SkyNX have this feature but the actual stream quality is very bad (not able to sustain 60 fps)

This feature is needed to make this aplication actualy able to emulate the WiiU gamepad with Cemu emulator (need a second monitor anyway for it to work)

Apparently, I can't use this app...

Because this error occurred after my moniter breifly turned black, then reappeared and the command prompt gave me this error message.

C:\Users\Joseph Goldsmith\Downloads\switch-remote-play-host\ffmpeg.exe -probesize 32 -hwaccel auto -y -f gdigrab -framerate 60 -vsync vfr -video_size 1280x720 -i desktop -f h264 -vcodec h264 -vf "scale=1280x720" -preset ultrafast -crf 16 -tune zerolatency -pix_fmt yuv420p -x264-params "nal-hrd=vbr:opencl=true" -b:v 8192k -minrate 8192k -maxrate 8192k -bufsize 8192k tcp://10.0.0.110:20003
Failed to start process. CreateProcess error code: 193
Argument line passed to cmd:

C:\Users\Joseph Goldsmith\Downloads\switch-remote-play-host\ffmpeg.exe -probesize 32 -hwaccel auto -y -f gdigrab -framerate 60 -vsync vfr -video_size 1280x720 -i desktop -f h264 -vcodec h264 -vf "scale=1280x720" -preset ultrafast -crf 16 -tune zerolatency -pix_fmt yuv420p -x264-params "nal-hrd=vbr:opencl=true" -b:v 8192k -minrate 8192k -maxrate 8192k -bufsize 8192k tcp://10.0.0.110:20003
Failed to start process. CreateProcess error code: 193
Argument line passed to cmd:

C:\Users\Joseph Goldsmith\Downloads\switch-remote-play-host\ffmpeg.exe -y -f dshow -i audio="virtual-audio-capturer" -f s16le -ar 48000 -ac 2 -c:a pcm_s16le udp://10.0.0.110:20004
waiting for gamepad thread to shutdown...
making sure to kill stream...
terminating the FFMPEG process
Resetting resolution
Restoring audio mute state
Ready to receive a connection from the switch...

waiting for connection to server...

Any help would be appreciated.
And yes, i did meet all the prerequisites.

Audio doesn't stream to switch

Everything else works just fine, but when I connect to switch audio on plays on desktop (after unmuting). I've installed and reinstalled the required drivers multiple times and restarted as well. I am also using bootcamp, Windows 10 Home.
edit: i figured it out not three minutes later, It seems my switch app wasnt the same version as my windows app, probably because i dowloaded through the homebrew browser

4K Support

Could this be updated to support 4K monitors sometime? 1440p leaves out a significant portion of my screen.

.

.

Monitor select

Not really an issue, just so you do not forget like you suggested on GBATemp :)
Ability to stream only specific monitor or even better specific app.

Where is switch-remote-play-host.exe?

"Make sure the ffmpeg.exe program is located in the same folder as the switch-remote-play-host.exe"
So, where is witch-remote-play-host.exe file?

Capture area extends outside window area desktop: I/O error

There seems to be a bug where the program is reading the framerate, video capture size, and stream scale size from the wrong values. This is what the console shows when the config is set to 30 FPS, desktop resolution: 1280x720, and switch resolution: 1280x720.

Expected size of command payload: 72 bytes
Reading command...
Start stream with last received config from switch...
FFMPEG Configuration:
Vsync Mode: 2 (variable frame rate)
Target Framerate: 720 fps
Video Capture Size(x,y): 60, 1280
Stream Scale Size(x,y): 720, 1280
Preset: ultrafast
CRF: 0

Which gives an error: Capture area (0,0),(60,1280) extends outside window area (0,0),(3840,1080)desktop: I/O error

Unable to connect

I am unable to connect my pc to the switch through remote play. My firewall is disabled and my ports are fine but I get this error everytime:
Output #0, h264, to 'tcp://192.168.0.56:20003':
Metadata:
encoder : Lavf58.45.100
Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720, q=-1--1, 5632 kb/s, 30 fps, 30 tbn, 30 tbc
Metadata:
encoder : Lavc58.91.100 libx264
Side data:
cpb: bitrate max/min/avg: 5632000/0/5632000 buffer size: 5632000 vbv_delay: N/A
Failed to connect bus for virtual controller with error code: 0xe0000001

I have tried lowering the setting but it had not worked. What should I do?

[Refactor] Software Keyboard Input

Currently, there are a lot of settings the users can configure on the Switch. Some of these settings are numbers that have a large range (the AMD codec has quantisation settings that range from -1 to 61 for example).

To mitigate this issue (and future issues for configuration settings), input by the user will be taken via the software keyboard to improve convenience.

User stories

  • When the user presses 'A' on a number value setting, the software keyboard will open the numpad and let the user enter a number.
    • When the user puts a number that is not within range, the keyboard will re-open to let the user enter a number again
    • When the user cancels the keyboard, a default value will be used instead
  • When the user presses 'A' on a string value setting, the software will open the normal or QWERTY keyboard and let the user enter a string
    • When the user puts a string that is not applicable, the keyboard will re-open to let the user enter a string again
    • When the user cancels the keyboard, a default value will be used instead

Settings to be moved over to software keyboard input

  • All number entry settings (except bitrate, framerate, and resolution)
    • Desktop resolution may be considered but this could lead to user issues being reported about failed desktop resolution change issues or even streams failing to connect or start.
    • Framerate may be considered.
  • IP network configuration settings

Everything else will maintain usage of the circulators in use already when A or B are pressed.

Controls drop out

Frequently, while playing, the controls become completely unresponsive. This happens both with joycons connected or wireless, but controllers wired into the PC work during this time.

The joycons become responsive again usually within twenty seconds or so.

Can confirm it's not an issue with the joycons themselves. Don't believe it's a problem with my system itself but have not ruled that out, but I don't ever have problems with remote play with Oculus Quest 2, which leads me to believe it's the software.

change resolution back when stream stops

change resolution back when stream stops without closing the window app.
so you can always have app running in the background.

ps: many thanks to you, Moehammered, such a nice app

Can't get it to work on 12.1 black screen on switch

I tried 0.9 and 1.0. I copied the files to the root of the sd card that includes the switch folder so that it goes to the proper place. I followed all these instructions

  1. Download and install 'Screen Capture Recorder to Video Windows free' v0.12.11

  2. Download and install 'ViGEM Bus' v1.16.116

  3. Copy the 'switch-remote-play-host' folder from the PC folder to anywhere you like (Downloads, Desktop, Documents, etc...)

  4. Make sure to whitelist it in Windows Security as it will be flagged as a virus and be quarantined

It used to work but now just black screen on the Switch.

Does 1.0 require me to update my switch? I did also do clean install on both PC and Switch but just black screen.

Audio is not streamed

I tried to install screen capture and vigem bus. The audio is still not streamed. I just saw that 2 ffmpeg.exe are opened by switch remote play, I think it might be the problem.

Encoder thread count?

On the PC side, how many threads is the host application telling ffmpeg to use? I have a 16c/32t Ryzen 3950x, and while the stream is running I've noticed it's barely being pegged, and the stream framerate is low (26 @ 1440p desktop/48 @ 720p desktop). It doesn't matter what quality settings I use, framerate and CPU usage stays the same.

Oh yeah, my router is a Wireless-AC router, my PC is connected through ethernet and my Switch is connected to the 5GHz

[Feature Request] Tray icon/option to hide window

Heya! This app works fantastic and I use it quite frequently now. Thank you for all your hard work.

I was wondering if it would be possible to have a "minimize to tray"-type of option. I intend to run the server 24/7 and an option to hide the window (with a way to bring it back, ideally!) would be much appreciated. I'd add it myself, but my C++ is rusty at best, sorry!

Thanks again for your work, and have a great day! ๐Ÿ‘

switch-remote-play-host deleted by windows defender - fix documentation

The current docs don't work because switch-remote-play-host is automatically deleted when extracted, both from 7zip and zip. There is no option in windows defender to allow this program before or after it's run.

To resolve this you must

  • copy the folder over
  • do not view properties, open, or do anything with switch-remote-play-host
  • Open windows defender
  • Virus & threat protection
  • quick scan
  • select the switch-remote-play-host folder
  • there will be a virus detected message: Trojan:Win32/Wacatac.D6!ml,
    • Verify that switch-remote-play doesn't include malware. I have no idea whether it does! Please check for yourself, it is a good security practice. Note, a quick review appears that this often is the result of unsigned binaries. Perhaps a separate issue should be created to sign your releases?
    • you must select "allow on system"
  • if the file was deleted, you must extract once more
  • all set!

Controls are messed up and unconfigurable at all

Hi Moehammered! Thank you for your great work!

Unfortunately, all is good for me except the gamepad controls and it's buttons, it just all messed up โ€” i. e. pressing any buttons are causing phantom, for example A = pressing Y, B is = C, moving left stick = pressing all buttons in random order, etc.

I tried both the Xbox 360 preset and DualShock 4 profile, none of them are works for me.

And I cannot configure it via the Hardware Gamepad manager in Windows, too.

My PC configuration is:

Windows 7 with installed KB3033929-x64.msu, Setup.Screen.Capturer.Recorder.v0.12.11.exe, ViGEmBus_Setup_1.16.116.exe and Xbox360_64Eng.exe.

Network: Wifi 5Ghz
CPU: Intel 3770
RAM: 24GB 1600 Mhz
GPU: AMD R9 Fury
SSD: 128 GB

My Switch configuration is:

CPU, RAM: no overclock
CFW: Atmosphere M.17.1
System FW: 11.0.1
CFW on NAND (not emummc)

Help, please. (:

[feature request] Multi controller support

Currently the program supports only one controller to be connected at a time. When a 2nd controller is added, it is disconnected immediately. This means that to play multiplayer you need to connect the second controller (and 3rd, etc.) directly to the pc which somewhat defeats the purpose of this program.

Cannot use app

I configure everything according to your wiki, but as soon as I press โ€œRโ€ on my switch to start streaming, it causes my main monitor on my computer to go black, and then my entire computer locks up, causing me to have to hard reboot it.

[Feature Request] Middle Button/Scroll

I leave it to you to discern what button seems most appropriate for middle click (not a necessity), but for me the most natural implementation for scroll is right stick. It was where my mind went to when looking to perform the action, only to find the action was not implemented with any button combo. Other than that, absolutely stellar work so far!

Controls dropping - creating issue by request

So far the controls have only dropped once, but then most of my time with the app has been spent adjusting network settings, then opening the app and running around in Persona 4 Golden to see if the audio's still popping. Here's the network diagnostic from the windows app;

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

Found an active network connection.

Ethernet {6FACE69C-06D3-4376-8F2A-61AB250B715B}
Intel(R) I211 Gigabit Network Connection
Connection type: Ethernet interface adapter
Status: Active
Max Transmission Speed: 1000 megabits/sec | 119.209 megabytes/sec
Max Receive Speed: 1000 megabits/sec | 119.209 megabytes/sec

IP Address:  192.168.50.86
Gateway:     192.168.50.1
Subnet Mask: 255.255.255.0
Broadcast:   192.168.50.255

Please make sure your Switch is on the same network as this network connection

Broadcast address for network discovery is: 192.168.50.255


My Switch is connected to this same router through 5GHz Wifi. I also tested the 2,4GHz signal with the same results.

Edit: Oh, also, the time the controls cut out, the sound also cut out for the same amount of time. I forget how long the cutout lasted.

[Feature Request] Setting arrows keys

Hi mate! I was wondering if it would be possible to implement the use of the arrows of the controller for matching the arrows of the keyboard when in mouse mode as well as the "A" button for matching the "Enter" key?
Cheers

Host IP is never found

my network uses a 192.168.2.XXX local ips
the switch is constantly "searching..."
PC has the entire firewall turned off.
Switch is on 5ghz about 15 feet away
manual IP would be nice as automatic searching doesn't work

Sound issues with latest release

After testing the new update, I found that the audio quality is both muffled, crackly, and is basically inaudible.
It's like this in both handheld and docked mode.

I'm using both the latest PC and Switch versions, and have double checked I've installed everything correctly.

Linux project

Please, can you provide this application for linux too

[Refactor] Network Configuration Cleanup

Network configuration at the moment doesn't follow the configuration pattern that is implemented for the other menu screens.

The refactor will also clean it up so that the following options are easily configurable by the user:

  • Manual PC IP
  • Broadcast Address
  • Manual Mode
  • Ports (though this will need a warning to tell the user the PC and app must match)

This is tied to the software keyboard refactor going on at the moment. (Issue #40)

Suggestion

Add a bind to swap touch modes while streaming.

bug: Failed to connect bus for virtual controller with error code: 0xe0000001

connection success just one frame(i can see my computer's desktop in switch) then connection breaks.(hold R and it will connect success in another frame and then break)
this is the log information.(run as the administrator)
Switch Remote Play Host (^.^)/ (PC Application version - 0.8.1)

Ready to receive a connection from the switch...

waiting for connection to server...

Expected size of command payload: 64 bytes
Reading command...
Start stream with last received config from switch...
FFMPEG Configuration:
Vsync Mode: 2 (variable frame rate)
Target Framerate: 60 fps
Video Capture Size(x,y): 1280, 720
Stream Scale Size(x,y): 1280, 720
Target Stream Bitrate: 8192 kb/s

C:\Users\11747\Desktop\switch-remote-play-host\ffmpeg.exe -probesize 32 -hwaccel auto -y -f gdigrab -framerate 60 -vsync vfr -video_size 1280x720 -i desktop -f h264 -vcodec h264 -vf "scale=1280x720" -preset ultrafast -crf 16 -tune zerolatency -pix_fmt yuv420p -x264-params "nal-hrd=vbr:opencl=true" -b:v 8192k -minrate 8192k -maxrate 8192k -bufsize 8192k tcp://192.168.31.181:20003
waiting for connection to server...

ffmpeg version 4.3.1-2020-11-19-essentials_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 10.2.0 (Rev5, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
[gdigrab @ 0000027e4700f340] Capturing whole desktop as 1280x720x32 at (0,0)
waiting for gamepad thread to shutdown...
[gdigrab @ 0000027e4700f340] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, gdigrab, from 'desktop':
Duration: N/A, start: 1611824595.388240, bitrate: 1769497 kb/s
Stream #0:0: Video: bmp, bgra, 1280x720, 1769497 kb/s, 60 fps, 1000k tbr, 1000k tbn, 1000k tbc
Stream mapping:
Stream #0:0 -> #0:0 (bmp (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0000027e47013a00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0000027e47013a00] profile Constrained Baseline, level 3.2, 4:2:0, 8-bit
Output #0, h264, to 'tcp://192.168.31.181:20003':
Metadata:
encoder : Lavf58.45.100
Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720, q=-1--1, 8192 kb/s, 60 fps, 60 tbn, 60 tbc
Metadata:
encoder : Lavc58.91.100 libx264
Side data:
cpb: bitrate max/min/avg: 8192000/0/8192000 buffer size: 8192000 vbv_delay: N/A
Failed to connect bus for virtual controller with error code: 0xe0000001
making sure to kill stream...
terminating the FFMPEG process
Resetting resolution
Restoring audio mute state
Ready to receive a connection from the switch...

waiting for connection to server...

Guide Button Request / Mouse Change (Hotkey)

Hey just requesting a few things..

  1. Button Combo (START/SELECT) 3 Seconds for Guide Button (to load steam overlay/big picture)
  2. Button Combo to Enable Mouse Mode without having to go back to main screen.,

NVENC Support

I know in your documentation that you said that this was very low priority. I was looking at the encoder API library and I wanted to see what I might be able to do to help. Unless I have misread the code, I couldn't see where you made any API/encoder calls or where you were storing those functions.

I have a GTX 1070 in my current gaming PC so I would be happy to use it as a test rig and can get a few others to test on. Let me know how I can contribute and I'll happily do what I can.

Audio doesn't stream to switch

I've tried allowing both ffmpeg and the pc host in the firewall, both app and pc are on the same version, tried the latest audio fix patch. still doesn't work. no matter what I do audio will not stream to the switch

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.