Git Product home page Git Product logo

nvstreamer1080's Introduction

NVStreamer1080

Utility to automatically detect NVidia GameStream activity and set a fitting resolution or switch to a second screen.

Written for personal use, so don't expect too much, it basically:

  1. Either changes resolution or
  2. Switches to the external display

when it detects GameStream activity, then afterwards depending on mode

  1. Returns to the original resolution
  2. Returns to the internal display

It automatically hides itself on launch, if you want to get to the settings, look for an ugly icon in your systray. Oh, and it automatically registers to autostart on first run. If you want to update just close it in the Systray and paste the new EXE from the release page over the previous one.

What it doesn't do: Anything clever really. In second-screen-mode it really just switches to external then back to internal. So if you (for example) have three screens, it probably won't do what you want.

nvstreamer1080's People

Contributors

hansschmucker avatar

Stargazers

 avatar Fan Zhang avatar Li Xiao Yu avatar Junhan Wang avatar Tsung Chieh avatar Ivan Shukshin avatar  avatar  avatar  avatar NEO avatar Artem Avetian avatar  avatar Byeon Seongun avatar 稻草 avatar Pang Hao avatar  avatar Cheng Tang avatar  avatar  avatar  avatar Marcin Kieś avatar David Idol avatar Tristan Cuvelier avatar Sun Chenxing avatar  avatar  avatar Will Fantom avatar  avatar  avatar loseheaven avatar  avatar Regen avatar Trrrrw avatar Ivaylo Yordanov avatar iS_lANDER avatar Yanis Liu avatar  avatar Mr.Ice avatar  avatar  avatar  avatar  avatar  avatar Hextail avatar allan avatar  avatar  avatar Daniel Phan avatar  avatar Patrick avatar luis avatar  avatar Daniel Vitor de Azevedo Trugilo avatar Sean Renaud avatar  avatar ACKMOX avatar bwbear avatar Marc Tucker avatar Will Turner avatar Wobbuffet Millwood avatar  avatar Krystian Charubin avatar Jonathan Cremin avatar Nisarg Vora avatar Eduardo Portet avatar  avatar Timothé Focone avatar Jordan Piepkow avatar  avatar  avatar  avatar Glen Stampoultzis avatar August Masquelier avatar  avatar Joshua Fuller avatar akoyaki ayagi avatar David Kubeša avatar Aaron avatar  avatar Manvir Singh avatar  avatar  avatar  avatar Galileo avatar Simon Hengchen avatar SHAYDED avatar Kaizonaro avatar  avatar  avatar RW21 avatar Cameron Spear avatar Michel Didier avatar  avatar  avatar Petar Obradovic avatar Element40 avatar Nengzhuo Cai avatar  avatar  avatar Luke Hoggatt avatar

Watchers

 avatar James Cloos avatar  avatar Joshua Fuller avatar  avatar  avatar

nvstreamer1080's Issues

resolution has not changed

Hi,
Great idea for a program.

I'm connecting from mac to windows using moonlight. On pc I'm using hdmi dummy plug.

Are there any specific things I should do for the program to work?

Przechwytywanie

Feature request: Drop down resolution selector

Hi! I recently ended up with a few devices with non-standard resolutions and find myself switching the number in NVStreamer1080. It would be super helpful if I could save my frequent settings and select them from a drop down menu. Thanks for the work you did on this!

Not returning resolution

Im switching between from 25601440 to 1280800 perfectly, but its not changing back. I have a single monitor. Its logging that the session is ended and its attempting to reset, but no change.

Possible to add "Invert Primary/Secondary" display option?

I've got a uniqueish situation: trying to use an HDMI dummy, but anything plugged into the HDMI port comes up as monitor 1 while the 2 DVI ports and the display port each give me monitor 2.

I appreciate the DisplaySwitch.exe hack, but just need an option to switch to primary screen while streaming and secondary while not.

Was going to try out https://sourceforge.net/projects/monitorswitcher/ combined with your on connect/disconnect actions (I'm still using gamestream here), but would love it to be native. Thoughts?

Error when launching the program

Hi, I have this error when trying to launch your program :
image

Full error log :

Consultez la fin de ce message pour plus de détails sur l'appel du débogage
juste-à-temps (JIT) à la place de cette boîte de dialogue.

************** Texte de l'exception **************
System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
à NVStreamer1080.NVStreamerMainUI.get_DesiredWidth()
à NVStreamer1080.NVStreamerMainUI.NVStreamerMainUI_Load(Object sender, EventArgs e)
à System.Windows.Forms.Form.OnLoad(EventArgs e)
à System.Windows.Forms.Form.OnCreateControl()
à System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
à System.Windows.Forms.Control.CreateControl()
à System.Windows.Forms.Control.WmShowWindow(Message& m)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.Form.WmShowWindow(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Assemblys chargés **************
mscorlib
Version de l'assembly : 4.0.0.0
Version Win32 : 4.8.4515.0 built by: NET48REL1LAST_C
CodeBase : file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

NVStreamer1080
Version de l'assembly : 1.0.0.0
Version Win32 : 1.0.0.0
CodeBase : file:///D:/02.T%C3%A9l%C3%A9chargements/Firefox/NVStreamer1080.exe

System.Windows.Forms
Version de l'assembly : 4.0.0.0
Version Win32 : 4.8.4515.0 built by: NET48REL1LAST_C
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System
Version de l'assembly : 4.0.0.0
Version Win32 : 4.8.4536.0 built by: NET48REL1LAST_C
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing
Version de l'assembly : 4.0.0.0
Version Win32 : 4.8.4395.0 built by: NET48REL1LAST_B
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Configuration
Version de l'assembly : 4.0.0.0
Version Win32 : 4.8.4341.0 built by: NET48REL1LAST_C
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Core
Version de l'assembly : 4.0.0.0
Version Win32 : 4.8.4536.0 built by: NET48REL1LAST_C
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml
Version de l'assembly : 4.0.0.0
Version Win32 : 4.8.4161.0 built by: NET48REL1
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

mscorlib.resources
Version de l'assembly : 4.0.0.0
Version Win32 : 4.8.4161.0 built by: NET48REL1
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/mscorlib.resources.dll

System.Windows.Forms.resources
Version de l'assembly : 4.0.0.0
Version Win32 : 4.8.4161.0 built by: NET48REL1
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll

************** Débogage JIT **************
Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
application ou cet ordinateur (machine.config) doit avoir la valeur
jitDebugging définie dans la section system.windows.forms.
L'application doit également être compilée avec le débogage
activé.

Par exemple :

Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
seront envoyées au débogueur JIT inscrit sur l'ordinateur
plutôt que d'être gérées par cette boîte de dialogue.

Add target scaling level

Hi,

Having a way to change the scaling level to say 150-300% would be a very big help. I am currently using a Samsung Galaxy Tab S8+, and setting the host resolution to 4K makes the text too small for the tablet. A scaling level of 150-300% would be ideal for my use case.

Hopefully, you could add this feature to future iterations.

Thank you so much for this very helpful app!

Won't start on boot

Hey there, love the tool! Thanks for making it!

I initially started with an older version - the one previous to the one that supports Sunshine. I updated and re-installed multiple times but it will not run on startup. Can you please let me know if there's anything in the AppData folder that I need to remove to do a fresh re-install so it's loads on startup, or if there's something else I need to do?

I'm also unable to find any way to uninstall the program from the control panel outside of just deleting it from the folder even though it installs with an installer. Is there a way to do this?

Thanks for your time and again for the tool,
Electronic

Sunshine Streamer support

With Nvidia pulling the plug on its game-streaming support in February I think it would be important to support its Open source alternative, Sunshine.

https://github.com/loki-47-6F-64/sunshine

I am not associated with the project, just a fan with an ultrawide that happens to use both because its highly convenient.

Windows 11 22H2 broke the screen switch feature

In W11 22H2, displayswitch..exe doesn't seem to accept arguments.
I don't know if you use this exe, but your application triggers the projector selection interface without using it.

A fix I found if to use an old displayswitch.exe file, from either an old W11 or even a W10 installation.
Maybe you could either embed this old version, or ask the user a path to the exe to use ?

Can't type password in login screen.

First of all I would like to say it's a great tool!
Here's my situation:

  • I've got PC A and PC B(a rog ally)
  • sunshine is set up in PC A and I have installed moonlight in PC B
  • PC A is configured with WOL enable
  • PC A is configured with a Virtual Monitor (used by ROG as it has lower resolution and refresh rate)
  • I wrote a very simple BAT script to launch NVStreamer1080.exe, and added it to startup list(which I found the only way to luanch NVStreamer1080(with GUI) before login into system
  • with all above, I could wake up my PC A from PC B via moonlight, and start streaming(of course with Virtual Monitor On and physical monitor off), then I got stuck... I could see the login screen, but once I tried to type password, the screen became freeze(yes, 0 fps) and nothing I can do until I typed password with PC A's keyboard and login into the system.

I tried many times and found that the only case moonlight gets freeze is when the login screen password inputbox came out(even after logining, if I use WIN+L to lock screen again, PC B moonlight will be freeeze again when I tried to enter password)

I believe that this is because that sunshine is not running at a high level, I compare the two way of launch Sunshine, only the way via service won't freeze password input screen(not sure if it's because the operator user is SYSTEM in this way). So is it possible in NVStreamer1080 we can "start sunshine service" rather thant "start sunshine.exe"?

Auto kill game/background processes after stream ends

Basically a configurable kill list is what I am proposing in order to auto terminate the game or other background processes when nvstream exits, this is so that when you are streaming over the internet, if nvstream crashes or the host PC is in a bad state(could be network or whatever) and you can no longer reconnect to it for some reason, your game wouldn't just stay running on your PC the whole time.

Not switching resolution for Sunshine

When I try and get NVStreamer1080 to switch my resolution when a Sunshine stream starts, it says it is changing the resolution, but doesn't actually do anything.
When I run it through GameStream, it still works as intended. I was running it as Admin, so not sure what else I would need to do.
Is this something I have to fix on my end? Or something that's wrong with the program?

Win 11 - Doesn't change Monitor

Thank you for nice little tool!
Sadly it doesn't work for me on Windows 11 when it should switch the monitor. It opens up the menu for switching the Monitor (Windows + P) but doesn't select the other Monitor. I guess that's a Windows 11 thing.
Is there a way to fix that?
PXL_20230309_081245624

Disconnect detection

Right now we only track session "end" by looking for nvstreamer.exe

It would be highly desirable to also detect "session active but nobody's connected".
Netstat sadly returns nothing with user rights, so down the road we probably have to implement authentication à la moonlight.

This issue is for tracking progress on that.

Auto hibernate/sleep/shutdown after session ends

It would be useful to have a configurable timer to auto hibernate/sleep/shutdown after a stream ends.
Stop the timer if the user starts another stream(switched to another game) or moves the cursor(user is back on the computer).

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.