lyckantropen / moonlight_hdr_launcher

Launch anything in HDR mode using Moonlight
MIT License
72 stars 5 forks source link

Can't launch steam or GOG galaxy #2

Closed akenbake closed 3 years ago

akenbake commented 3 years ago

I'm using moonlight and trying to launch Steam in big picture mode.

moonlight_hdr_launcher.ini:

[options]
launcher_exe=gamestream_launchpad.exe 3840 2160 gamestream_steam_bp.ini
wait_on_process=1
toggle_hdr = 1

gamestream_steam_bp.ini:

[LAUNCHER]
launcher_path = C:\Program Files (x86)\Steam\steam.exe steam://open/bigpicture Fullscreen
# set it to something other than Steam because gamestream_launchpad can detect multiple windows and will close prematurely
launcher_window_name = NotSteam

[BACKGROUND]
# List as many exe's or bat's as you want here. They will run at the start of the GameStream session and be killed at the end.
# background_exe_1 = C:\Program Files (x86)\JoyToKey\JoyToKey.exe
# background_exe_2 = C:\WINDOWS\system32\mspaint.exe
# background_exe_1 = C:\Program Files\moonlight_hdr_launcher\hdr_toggle.exe

[SETTINGS]
debug = 0
sleep_on_exit = 0
close_watch_method = window

In moonlight, I start the session by clicking the "Steam OS" icon. This successfully starts streaming my desktop in the correct 4k resolution. However, steam is not opening at all. I also tried using gamestream_gog_galaxy.ini and that did not open GOG Galaxy either.

Here is the output from moonlight_hdr_launcher_log.txt:

2020-12-25 23:39:17: argv[0]: MassEffectAndromeda.exe
2020-12-25 23:39:17: Found config file: moonlight_hdr_launcher.ini
lyckantropen commented 3 years ago

Hi, can you see what happens if you run Mass effect andromeda.exe directly?

akenbake commented 3 years ago

Nothing happens when I run MassEffectAndromeda.exe directly on my PC - neither GOG or Steam will open. I do see a new moonlight_hdr_launcher_log.txt generated each time that I run it, but it always contains the same information:

2020-12-27 12:37:50: argv[0]: C:\Program Files\moonlight_hdr_launcher\MassEffectAndromeda.exe
2020-12-27 12:37:50: Found config file: C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini

If I open a CMD prompt, I can get GOG Galaxy and Steam to open by:

gamestream_launchpad.exe 3840 2160 gamestream_steam_bp.ini
gamestream_launchpad.exe 3840 2160 gamestream_gog_galaxy.ini

So there appears to be something wrong with the moonlight_hdr_launcher.ini file. I tried "Taking Ownership" of the moonlight_hdr_launcher folder and files, as well as running exe files as Administrator, but the result is the same

akenbake commented 3 years ago

Ok, I got farther. Apparently lower-case does NOT work for [options] in moonlight_hdr_launcher.ini:

[options]
launcher_exe=gamestream_launchpad.exe 3840 2160 gamestream_steam_bp.ini
wait_on_process=1
toggle_hdr = 1

I must use upper-case for it to work:

[OPTIONS]
launcher_exe=gamestream_launchpad.exe 3840 2160 gamestream_steam_bp.ini
wait_on_process=1
toggle_hdr = 1

Now, the weird thing is that GOG Galaxy is opening when I'm trying to open Steam as seen above. Is there anything hardcoded to look for GOG Galaxy 2.0? I don't understand how GOG Galaxy could be opening with the above moonlight_hdr_launcher.ini file pointing to gamestream_steam_bp.ini

Here is my gamestream_steam_bp.ini file for reference:

[LAUNCHER]
launcher_path = C:\Program Files (x86)\Steam\steam.exe steam://open/bigpicture Fullscreen
# set it to something other than Steam because gamestream_launchpad can detect multiple windows and will close prematurely
launcher_window_name = NotSteam

[BACKGROUND]
# List as many exe's or bat's as you want here. They will run at the start of the GameStream session and be killed at the end.
# background_exe_1 = C:\Program Files (x86)\JoyToKey\JoyToKey.exe
# background_exe_2 = C:\WINDOWS\system32\mspaint.exe
# background_exe_1 = C:\Program Files\moonlight_hdr_launcher\hdr_toggle.exe

[SETTINGS]
debug = 0
sleep_on_exit = 0
close_watch_method = window

Here is my moonlight_hdr_launcher_log.txt

2020-12-27 12:57:12: argv[0]: C:\Program Files\moonlight_hdr_launcher\MassEffectAndromeda.exe
2020-12-27 12:57:12: Found config file: C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini
2020-12-27 12:57:12: Launching 'C:/Program Files (x86)/GOG Galaxy/GalaxyClient.exe' and waiting for it to complete.
akenbake commented 3 years ago

There is something hardcoded to open GOG Galaxy. I modified moonlight_hdr_launcher.ini to point to a non-existent exe and it still results in GOG Galaxy being opened:

[OPTIONS]
launcher_exe = randomgarbage.exe
wait_on_process = 1
toggle_hdr = 1

Not sure how to figure this one out, so I'll wait for your support. Thanks!

akenbake commented 3 years ago

The reason why upper-case OPTIONS worked, is it because it defaulted to working values in main.cpp:

const static std::string default_launcher = "C:/Program Files (x86)/GOG Galaxy/GalaxyClient.exe";
...
std::string launcher_exe = default_launcher;
bool wait_on_process = true;
bool toggle_hdr = false;

The real issue that I don't have an HDR capable monitor, so something was getting hung up when trying to toggle HDR. I now have it working with Steam big picture mode using:

[options]
launcher_exe = gamestream_launchpad.exe 3840 2160 gamestream_steam_bp.ini
wait_on_process = 1
toggle_hdr = 0

However, I am not getting HDR in any games launched from Steam big picture mode. Do you know what tmac666 is doing under the hood to get it working? Admittedly, I haven't tried tmac666's fix because the source code isn't open and he seems to ignore everyones request to see it - seems very shady.

I may end up ordering one of those HDMI HDR dummy plugs so that I can take full advantage of your implementation. Thanks!

lyckantropen commented 3 years ago

Thanks for investigating, I'll look more closely today evening when I come back from Christmas.

niedz., 27 gru 2020, 23:46 użytkownik akenbake notifications@github.com napisał:

The reason why upper-case OPTIONS worked, is it because it defaulted to working values in main.cpp:

const static std::string default_launcher = "C:/Program Files (x86)/GOG Galaxy/GalaxyClient.exe"; ... std::string launcher_exe = default_launcher; bool wait_on_process = true; bool toggle_hdr = false;

The real issue that I don't have an HDR capable monitor, so something was getting hung up when trying to toggle HDR. I now have it working with Steam big picture mode using:

[options] launcher_exe = gamestream_launchpad.exe 3840 2160 gamestream_steam_bp.ini wait_on_process = 1 toggle_hdr = 0

However, I am not getting HDR in any games launched from Steam big picture mode. Do you know what tmac666 is doing under the hood to get it working? Admittedly, I haven't tried tmac666's fix because the source code isn't open and he seems to ignore everyones request to see it - seems very shady.

I may end up ordering one of those HDMI HDR dummy plugs so that I can take full advantage of your implementation. Thanks!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lyckantropen/moonlight_hdr_launcher/issues/2#issuecomment-751524840, or unsubscribe https://github.com/notifications/unsubscribe-auth/AASJWLWQI6BWHQAB32HBXGTSW62NRANCNFSM4VJWOP4A .

Rabusek commented 3 years ago

However, I am not getting HDR in any games launched from Steam big picture mode. Do you know what tmac666 is doing under the hood to get it working? Admittedly, I haven't tried tmac666's fix because the source code isn't open and he seems to ignore everyones request to see it - seems very shady.

Bear in mind this will only work for games that do not have os-level HDR - so ie. CP2077, FFXV will not work.

If you decide to get the dongle, make sure you get one that supports your input (ie. if you plan to play 4k hdr, get one that supports it) - i almost got a 10$ one that did not support my input. I heard LINDY 32115 is pretty good and got that one - will test on Wednesday and can tell you if i got it working on 4k hdr by then.

lyckantropen commented 3 years ago

Hi, please install the latest release (1.0.3) and if problems persist, attach the moonlight_hdr_launcher_install.log file that will be created alongside install.exe as well as moonlight_hdr_launcher_log.txt from C:\Program Files\moonlight_hdr_launcher\.

Bear in mind that installation will overwrite your moonlight_hdr_launcher.ini file, so make a backup.

j9ac9k commented 3 years ago

I believe I'm having the same issue (currently running 1.0.3).

A little information; host has a dummy display port dongle emulating a non-HDR display being attached. Client has an ultra-wide HDR capable monitor

moonlight_hdr_launcher_log.txt

2020-12-28 21:10:20: Working folder read from registry: C:\Program Files\moonlight_hdr_launcher
2020-12-28 21:10:20: argv[0]: MassEffectAndromeda.exe
2020-12-28 21:10:20: Found config file: C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini
2020-12-28 21:10:20: options.launcher_exe=gamestream_launchpad.exe 3840 1600 gamestream_steam_bp.ini
2020-12-28 21:10:20: options.wait_on_process=1
2020-12-28 21:10:20: options.toggle_hdr=1
2020-12-28 21:10:20: Attempting to set HDR mode

moonlight_hdr_launcher.ini

[options]
# command to launch when the launcher is executed  
; launcher_exe = C:\Program Files (x86)\Steam\steam.exe steam://open/bigpicture

# wait for the launcher process to exit or detach immediately
# useful with gamestream_launchpad to close the connection
# and with toggle_hdr=1
; wait_on_process = 0

# enable HDR on all supported monitors for the duration of the launcher
# only works with wait_on_process=1
; toggle_hdr = 0

## Examples
# launch Steam in Big Picture mode
; launcher_exe = C:\Program Files (x86)\Steam\steam.exe steam://open/bigpicture
; wait_on_process = 0

# launch GOG Galaxy using gamestream_launchpad
launcher_exe=gamestream_launchpad.exe 3840 1600 gamestream_steam_bp.ini
wait_on_process=1
toggle_hdr = 1

gamestream_steam_bp.ini

[LAUNCHER]
launcher_path = C:\Games\Steam\steam.exe steam://open/bigpicture Fullscreen
# set it to something other than Steam because gamestream_launchpad can detect multiple windows and will close prematurely
launcher_window_name = NotSteam

[BACKGROUND]
# List as many exe's or bat's as you want here. They will run at the start of the GameStream session and be killed at the end.
# background_exe_1 = C:\Program Files (x86)\JoyToKey\JoyToKey.exe
# background_exe_2 = C:\WINDOWS\system32\mspaint.exe
# background_exe_1 = C:\Program Files\moonlight_hdr_launcher\hdr_toggle.exe

[SETTINGS]
debug = 0
sleep_on_exit = 0
close_watch_method = window

(the non-default location of steam is intentional, that is where the executable is loaded).

First thing to point out is that the resolution is definitely not 3840 x 1600, but something far lower (maybe 720p?). Also steam does not launch (just hangs there on the desktop).

I was running the Mass Effect Andromeda "game" from moonlight on the client.

EDIT: Almost forgot the install log (I had a few attempts before I got it "right").

moonlight_hds_launcher_install.log

12/28/2020 11:09:00 AM:DEBUG:Source folder: C:\Users\ogi\AppData\Local\Temp\_MEI6282
12/28/2020 11:09:00 AM:DEBUG:Destination folder for launcher: C:\Program Files\moonlight_hdr_launcher
12/28/2020 11:09:00 AM:DEBUG:Launcher path: C:\Users\ogi\AppData\Local\Temp\_MEI6282\dist\MassEffectAndromeda.exe
12/28/2020 11:09:00 AM:DEBUG:List of files to put in C:\Program Files\moonlight_hdr_launcher: [WindowsPath('C:/Users/ogi/AppData/Local/Temp/_MEI6282/dist/MassEffectAndromeda.exe'), WindowsPath('C:/Users/ogi/AppData/Local/Temp/_MEI6282/dist/moonlight_hdr_launcher.ini')]
12/28/2020 11:09:00 AM:DEBUG:List of files to put in Streaming folder: [WindowsPath('C:/Users/ogi/AppData/Local/Temp/_MEI6282/dist/mass_effect_andromeda-box-art.png'), WindowsPath('C:/Users/ogi/AppData/Local/Temp/_MEI6282/dist/mass_effect_andromeda-box-art.jpg')]
12/28/2020 11:09:00 AM:INFO:Copied C:\Users\ogi\AppData\Local\Temp\_MEI6282\dist\MassEffectAndromeda.exe to C:\Program Files\moonlight_hdr_launcher\MassEffectAndromeda.exe
12/28/2020 11:09:00 AM:INFO:Copied C:\Users\ogi\AppData\Local\Temp\_MEI6282\dist\moonlight_hdr_launcher.ini to C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini
12/28/2020 11:09:00 AM:DEBUG:Writing destination_folder="C:\Program Files\moonlight_hdr_launcher" to registry at "SOFTWARE\lyckantropen\moonlight_hdr_launcher"
12/28/2020 11:09:00 AM:WARNING:Before continuing, open GeForce Experience and re-scan for games.
12/28/2020 11:09:07 AM:INFO:Found AppData path: C:\Users\ogi\AppData\Local
12/28/2020 11:09:10 AM:ERROR:Unable to find entry for Mass Effect Andromeda. Have you tried scanning for games in GeForce Experience?
12/28/2020 08:49:59 PM:DEBUG:Source folder: C:\Users\ogi\AppData\Local\Temp\_MEI6882
12/28/2020 08:49:59 PM:DEBUG:Destination folder for launcher: C:\Program Files\moonlight_hdr_launcher
12/28/2020 08:49:59 PM:DEBUG:Launcher path: C:\Users\ogi\AppData\Local\Temp\_MEI6882\dist\MassEffectAndromeda.exe
12/28/2020 08:49:59 PM:DEBUG:List of files to put in C:\Program Files\moonlight_hdr_launcher: [WindowsPath('C:/Users/ogi/AppData/Local/Temp/_MEI6882/dist/MassEffectAndromeda.exe'), WindowsPath('C:/Users/ogi/AppData/Local/Temp/_MEI6882/dist/moonlight_hdr_launcher.ini')]
12/28/2020 08:49:59 PM:DEBUG:List of files to put in Streaming folder: [WindowsPath('C:/Users/ogi/AppData/Local/Temp/_MEI6882/dist/mass_effect_andromeda-box-art.png'), WindowsPath('C:/Users/ogi/AppData/Local/Temp/_MEI6882/dist/mass_effect_andromeda-box-art.jpg')]
12/28/2020 08:49:59 PM:INFO:Copied C:\Users\ogi\AppData\Local\Temp\_MEI6882\dist\MassEffectAndromeda.exe to C:\Program Files\moonlight_hdr_launcher\MassEffectAndromeda.exe
12/28/2020 08:49:59 PM:INFO:Copied C:\Users\ogi\AppData\Local\Temp\_MEI6882\dist\moonlight_hdr_launcher.ini to C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini
12/28/2020 08:49:59 PM:DEBUG:Writing destination_folder="C:\Program Files\moonlight_hdr_launcher" to registry at "SOFTWARE\lyckantropen\moonlight_hdr_launcher"
12/28/2020 08:49:59 PM:WARNING:Before continuing, open GeForce Experience and re-scan for games.
12/28/2020 08:50:17 PM:INFO:Found AppData path: C:\Users\ogi\AppData\Local
12/28/2020 08:50:22 PM:ERROR:Unable to find entry for Mass Effect Andromeda. Have you tried scanning for games in GeForce Experience?
12/28/2020 08:51:45 PM:DEBUG:Source folder: C:\Users\ogi\AppData\Local\Temp\_MEI18162
12/28/2020 08:51:45 PM:DEBUG:Destination folder for launcher: C:\Program Files\moonlight_hdr_launcher
12/28/2020 08:51:45 PM:DEBUG:Launcher path: C:\Users\ogi\AppData\Local\Temp\_MEI18162\dist\MassEffectAndromeda.exe
12/28/2020 08:51:45 PM:DEBUG:List of files to put in C:\Program Files\moonlight_hdr_launcher: [WindowsPath('C:/Users/ogi/AppData/Local/Temp/_MEI18162/dist/MassEffectAndromeda.exe'), WindowsPath('C:/Users/ogi/AppData/Local/Temp/_MEI18162/dist/moonlight_hdr_launcher.ini')]
12/28/2020 08:51:45 PM:DEBUG:List of files to put in Streaming folder: [WindowsPath('C:/Users/ogi/AppData/Local/Temp/_MEI18162/dist/mass_effect_andromeda-box-art.png'), WindowsPath('C:/Users/ogi/AppData/Local/Temp/_MEI18162/dist/mass_effect_andromeda-box-art.jpg')]
12/28/2020 08:51:45 PM:INFO:Copied C:\Users\ogi\AppData\Local\Temp\_MEI18162\dist\MassEffectAndromeda.exe to C:\Program Files\moonlight_hdr_launcher\MassEffectAndromeda.exe
12/28/2020 08:51:45 PM:INFO:Copied C:\Users\ogi\AppData\Local\Temp\_MEI18162\dist\moonlight_hdr_launcher.ini to C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini
12/28/2020 08:51:45 PM:DEBUG:Writing destination_folder="C:\Program Files\moonlight_hdr_launcher" to registry at "SOFTWARE\lyckantropen\moonlight_hdr_launcher"
12/28/2020 08:51:45 PM:WARNING:Before continuing, open GeForce Experience and re-scan for games.
12/28/2020 08:52:27 PM:INFO:Found AppData path: C:\Users\ogi\AppData\Local
12/28/2020 08:52:28 PM:INFO:Found StreamingAssetsData folder for Mass Effect Andromeda: C:\Users\ogi\AppData\Local\NVIDIA\NvBackend\StreamingAssetsData\mass_effect_andromeda\23807707
12/28/2020 08:52:28 PM:INFO:Skipped copying C:\Users\ogi\AppData\Local\Temp\_MEI18162\dist\mass_effect_andromeda-box-art.png to C:\Users\ogi\AppData\Local\NVIDIA\NvBackend\StreamingAssetsData\mass_effect_andromeda\23807707\mass_effect_andromeda-box-art.png because destination is newer than source
12/28/2020 08:52:28 PM:INFO:Skipped copying C:\Users\ogi\AppData\Local\Temp\_MEI18162\dist\mass_effect_andromeda-box-art.jpg to C:\Users\ogi\AppData\Local\NVIDIA\NvBackend\StreamingAssetsData\mass_effect_andromeda\23807707\mass_effect_andromeda-box-art.jpg because destination is newer than source
12/28/2020 08:52:28 PM:DEBUG:Final StreamingSettings.json: {
    "Privileges": "admin",
    "GameData": [
        {
            "VersionName": "origin",
            "StreamingDisplayName": "HDR Launcher",
            "UniqueId": 16671002,
            "StreamingCaption": "HDR Launcher",
            "StreamingClassName": "HDR Launcher",
            "StreamingCommandLine": "start MassEffectAndromeda.exe",
            "IsAutomatedLaunch": 0,
            "IsAutomatedExit": 0,
            "DefaultStreamingMode": "1280x720@60",
            "DefaultConsoleMode": "1920x1080@60",
            "DefaultResolution": "1280x720",
            "GridExpectedLaunchTimeInSeconds": 0,
            "Distributor": "Origin",
            "GameProcesses": [
                {
                    "GameProcess": "Contact.Main_Win64_retail.exe"
                }
            ]
        }
    ],
    "MetaData": {
        "ControlSchemes": [
            {
                "ControlScheme": "SingleGamepad"
            }
        ],
        "ControllerIDScheme": "Zero",
        "ControlHotPlugSupport": "Yes"
    }
}
12/28/2020 08:52:28 PM:DEBUG:Saving to C:\Users\ogi\AppData\Local\NVIDIA\NvBackend\StreamingAssetsData\mass_effect_andromeda\23807707\StreamingSettings.json
12/28/2020 08:52:28 PM:DEBUG:Final metadata.json: {
    "metadata": {
        "version": "23807707",
        "files": [
            {
                "filename": "StreamingSettings.json",
                "url": "",
                "sha256": "5924c9aa139da354ce5c6e91bc6cb9141f648cb743377193cee42ea03e775",
                "size": 1066
            },
            {
                "filename": "mass_effect_andromeda-box-art.png",
                "url": "",
                "sha256": "aff4af88eb3fc04c1469e5a8164229647db1f1e35e8ea27c7fa0ece25732312b",
                "size": 172931
            },
            {
                "filename": "mass_effect_andromeda-box-art.jpg",
                "url": "",
                "sha256": "aff4af88eb3fc04c1469e5a8164229647db1f1e35e8ea27c7fa0ece25732312b",
                "size": 172931
            }
        ]
    },
    "etag": "1b55e51ee165281e1687dec6ec0e7a4e4e7c66d55b2d62463b3e16a8ddf70fc7"
}
12/28/2020 08:52:28 PM:DEBUG:Saving to C:\Users\ogi\AppData\Local\NVIDIA\NvBackend\StreamingAssetsData\mass_effect_andromeda\23807707\metadata.json
12/28/2020 08:52:28 PM:WARNING:Now restart GeForce Experience or the PC to register the config changes
j9ac9k commented 3 years ago

lastly, I too was able to run gamestream.txt 3840 1600 gamestream_steam_bp.ini from the command prompt (when logged in via parsec) and steam launched successfully

lyckantropen commented 3 years ago

It seems to be crashing when trying to set the HDR mode. What is your card, do you have the latest GameReady driver and latest GeForce Experience?

wt., 29 gru 2020, 06:39 użytkownik Ogi Moore notifications@github.com napisał:

lastly, I too was able to run gamestream.txt 3840 1600 gamestream_steam_bp.ini from the command prompt (when logged in via parsec) and steam launched successfully

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lyckantropen/moonlight_hdr_launcher/issues/2#issuecomment-751953556, or unsubscribe https://github.com/notifications/unsubscribe-auth/AASJWLQTLQAHHJSAMT47J2DSXFTQ7ANCNFSM4VJWOP4A .

lyckantropen commented 3 years ago

Does it work in non-HDR mode when toggle_hdr is set to 0?

wt., 29 gru 2020, 06:42 użytkownik Karol Trojanowski < trojanowski.ifuj@gmail.com> napisał:

It seems to be crashing when trying to set the HDR mode. What is your card, do you have the latest GameReady driver and latest GeForce Experience?

wt., 29 gru 2020, 06:39 użytkownik Ogi Moore notifications@github.com napisał:

lastly, I too was able to run gamestream.txt 3840 1600 gamestream_steam_bp.ini from the command prompt (when logged in via parsec) and steam launched successfully

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lyckantropen/moonlight_hdr_launcher/issues/2#issuecomment-751953556, or unsubscribe https://github.com/notifications/unsubscribe-auth/AASJWLQTLQAHHJSAMT47J2DSXFTQ7ANCNFSM4VJWOP4A .

j9ac9k commented 3 years ago

Hi @lyckantropen thanks for the follow up.

I have a Quadro RTX 4000

I believe I have the current Geforce Driver

image

I'm running GeForce Experience 3.20.5.70

image

Setting toggle_hdr to 0 also just takes me to the desktop with the 1280x720 resolution, but the log has a different error

2020-12-28 22:00:14: Working folder read from registry: C:\Program Files\moonlight_hdr_launcher
2020-12-28 22:00:14: argv[0]: MassEffectAndromeda.exe
2020-12-28 22:00:14: Found config file: C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini
2020-12-28 22:00:14: options.launcher_exe=gamestream_launchpad.exe 3840 1600 gamestream_steam_bp.ini
2020-12-28 22:00:14: options.wait_on_process=1
2020-12-28 22:00:14: options.toggle_hdr=0
2020-12-28 22:00:14: Launching 'gamestream_launchpad.exe 3840 1600 gamestream_steam_bp.ini' and waiting for it to complete.
2020-12-28 22:00:14: Error:  CreateProcess failed: The system cannot find the file specified.

Contents of my directory:

image

EDIT:

I should add, I modified permissions of moonlight_hdr_launcher.ini and MassEffectAndromeda.exe

j9ac9k commented 3 years ago

Seeing that error, I thought I should put the full path to the gamestream_launchpad.exe executable, did that, got a different error in the log:

2020-12-28 22:15:29: Working folder read from registry: C:\Program Files\moonlight_hdr_launcher
2020-12-28 22:15:29: argv[0]: MassEffectAndromeda.exe
2020-12-28 22:15:29: Found config file: C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini
2020-12-28 22:15:29: options.launcher_exe=C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 gamestream_steam_bp.ini
2020-12-28 22:15:29: options.wait_on_process=1
2020-12-28 22:15:29: options.toggle_hdr=0
2020-12-28 22:15:29: Launching 'C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 gamestream_steam_bp.ini' and waiting for it to complete.
2020-12-28 22:15:36: The command "C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 gamestream_steam_bp.ini" has terminated with exit code -1
lyckantropen commented 3 years ago

You could try setting the path to the ini file absolute as well. I'm seeing the problem though: the current folder should be set but it's not. I'll look into it soon.

wt., 29 gru 2020, 07:18 użytkownik Ogi Moore notifications@github.com napisał:

Seeing that error, I thought I should put the full path to the gamestream_launchpad.exe executable, did that, got a different error in the log:

2020-12-28 22:15:29: Working folder read from registry: C:\Program Files\moonlight_hdr_launcher 2020-12-28 22:15:29: argv[0]: MassEffectAndromeda.exe 2020-12-28 22:15:29: Found config file: C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini 2020-12-28 22:15:29: options.launcher_exe=C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 gamestream_steam_bp.ini 2020-12-28 22:15:29: options.wait_on_process=1 2020-12-28 22:15:29: options.toggle_hdr=0 2020-12-28 22:15:29: Launching 'C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 gamestream_steam_bp.ini' and waiting for it to complete. 2020-12-28 22:15:36: The command "C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 gamestream_steam_bp.ini" has terminated with exit code -1

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/lyckantropen/moonlight_hdr_launcher/issues/2#issuecomment-751961951, or unsubscribe https://github.com/notifications/unsubscribe-auth/AASJWLR5TYH3N7R72XKJ2ELSXFYCFANCNFSM4VJWOP4A .

j9ac9k commented 3 years ago

putting the full path to the .ini looks like it did the trick ...the resolution matches up; ...got some other weird behavior but I think that it's my fault...I'll investigate more.

j9ac9k commented 3 years ago

ok, ... so setting toggle_hdr = 1 results in the same behavior as before.

with toggle_hdr = 0 it's not actually loading steam, but playnite, which I was experimenting with earlier using gamestream launchpad, but the contents of the ini file I'm passing in my config makes no reference to playnite.

log:

2020-12-28 22:26:01: Working folder read from registry: C:\Program Files\moonlight_hdr_launcher
2020-12-28 22:26:01: argv[0]: MassEffectAndromeda.exe
2020-12-28 22:26:01: Found config file: C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini
2020-12-28 22:26:01: options.launcher_exe=C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini
2020-12-28 22:26:01: options.wait_on_process=1
2020-12-28 22:26:01: options.toggle_hdr=0
2020-12-28 22:26:01: Launching 'C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini' and waiting for it to complete.
2020-12-28 22:26:24: SUBPROCESS: SUCCESS: The process "nvstreamer.exe" with PID 8744 has been terminated.

2020-12-28 22:26:25: SUBPROCESS: Switching resolution to 3840x1600

2020-12-28 22:26:25: SUBPROCESS: Minimizing windows

2020-12-28 22:26:25: SUBPROCESS: Starting game launcher

2020-12-28 22:26:25: SUBPROCESS: Focusing Playnite

2020-12-28 22:26:25: SUBPROCESS: Watching for launcher window to close

2020-12-28 22:26:25: SUBPROCESS: Terminating GameStream session.

2020-12-28 22:26:25: SUBPROCESS: Restoring original resolution.

2020-12-28 22:26:25: The command "C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini" has terminated with exit code -1073741510

and for double-quadruple checking my gamestream_steam_bp.ini file contains:

[LAUNCHER]
launcher_path = C:\Games\Steam\steam.exe steam://open/bigpicture Fullscreen
# set it to something other than Steam because gamestream_launchpad can detect multiple windows and will close prematurely
launcher_window_name = NotSteam

[BACKGROUND]
# List as many exe's or bat's as you want here. They will run at the start of the GameStream session and be killed at the end.
# background_exe_1 = C:\Program Files (x86)\JoyToKey\JoyToKey.exe
# background_exe_2 = C:\WINDOWS\system32\mspaint.exe
# background_exe_1 = C:\Program Files\moonlight_hdr_launcher\hdr_toggle.exe

[SETTINGS]
debug = 0
sleep_on_exit = 0
close_watch_method = window
lyckantropen commented 3 years ago

I'll improve the error handling of NVAPI functions so we get more information as to why it can't enable HDR. Don't hold your breath though, it's early morning where I am :)

wt., 29 gru 2020, 07:30 użytkownik Ogi Moore notifications@github.com napisał:

ok, ... so setting toggle_hdr = 1 results in the same behavior as before.

with toggle_hdr = 0 it's not actually loading steam, but playnite, which I was experimenting with earlier using gamestream launchpad, but the contents of the ini file I'm passing in my config makes no reference to playnite.

log:

2020-12-28 22:26:01: Working folder read from registry: C:\Program Files\moonlight_hdr_launcher 2020-12-28 22:26:01: argv[0]: MassEffectAndromeda.exe 2020-12-28 22:26:01: Found config file: C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini 2020-12-28 22:26:01: options.launcher_exe=C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini 2020-12-28 22:26:01: options.wait_on_process=1 2020-12-28 22:26:01: options.toggle_hdr=0 2020-12-28 22:26:01: Launching 'C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini' and waiting for it to complete. 2020-12-28 22:26:24: SUBPROCESS: SUCCESS: The process "nvstreamer.exe" with PID 8744 has been terminated.

2020-12-28 22:26:25: SUBPROCESS: Switching resolution to 3840x1600

2020-12-28 22:26:25: SUBPROCESS: Minimizing windows

2020-12-28 22:26:25: SUBPROCESS: Starting game launcher

2020-12-28 22:26:25: SUBPROCESS: Focusing Playnite

2020-12-28 22:26:25: SUBPROCESS: Watching for launcher window to close

2020-12-28 22:26:25: SUBPROCESS: Terminating GameStream session.

2020-12-28 22:26:25: SUBPROCESS: Restoring original resolution.

2020-12-28 22:26:25: The command "C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini" has terminated with exit code -1073741510

and for double-quadruple checking my gamestream_steam_bp.ini file contains:

[LAUNCHER] launcher_path = C:\Games\Steam\steam.exe steam://open/bigpicture Fullscreen

set it to something other than Steam because gamestream_launchpad can detect multiple windows and will close prematurely

launcher_window_name = NotSteam

[BACKGROUND]

List as many exe's or bat's as you want here. They will run at the start of the GameStream session and be killed at the end.

background_exe_1 = C:\Program Files (x86)\JoyToKey\JoyToKey.exe

background_exe_2 = C:\WINDOWS\system32\mspaint.exe

background_exe_1 = C:\Program Files\moonlight_hdr_launcher\hdr_toggle.exe

[SETTINGS] debug = 0 sleep_on_exit = 0 close_watch_method = window

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/lyckantropen/moonlight_hdr_launcher/issues/2#issuecomment-751964843, or unsubscribe https://github.com/notifications/unsubscribe-auth/AASJWLR3XEGATOLJLKSRCBTSXFZRDANCNFSM4VJWOP4A .

j9ac9k commented 3 years ago

It's getting late where I am, so don't rush on my account. Thanks for looking into it, let me know if there is any other configuration/testing I can do to help out.

lyckantropen commented 3 years ago

With release 1.0.5 the issue with relative paths to C:\Program Files\moonlight_hdr_launcher in launcher_exe is now fixed. I have added better exception handling in NVAPI calls so now NVAPI errors should be logged with meaningful messages.

j9ac9k commented 3 years ago

For sanity sake, I tried this twice; but 1.0.5 behavior is identical to that of 1.0.3

First, the moonlight_hdr_launcher.ini does not appear to be read/used at all due to incorrect permissions. Adding myself as the principal for the file with full access was a required first step.

Then running with toggle_hdr=1 I get the following log file

2020-12-29 09:01:30: Working folder read from registry: C:\Program Files\moonlight_hdr_launcher
2020-12-29 09:01:30: argv[0]: MassEffectAndromeda.exe
2020-12-29 09:01:30: Found config file: C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini
2020-12-29 09:01:30: options.launcher_exe=gamestream_launchpad.exe 3840 1600 gamestream_steam_bp.ini
2020-12-29 09:01:30: options.wait_on_process=1
2020-12-29 09:01:30: options.toggle_hdr=1
2020-12-29 09:01:30: Attempting to set HDR mode

for toggle_hdr = 0; I still get the same application not found business...

Putting the full paths to the .ini and gamestream_launcher , it starts, but it does not launch steam, but launches playnite instead ...also the resolution that was set was incorrect (appears to be 2560 x 1600 not 3840 x 1600 (I periodically use 2560x1600 as that is the native display resolution for the built-in monitor of my laptop, but that is not what the config file I am using suggests to use)).

Here are the contents of the log file.

2020-12-29 09:06:14: Working folder read from registry: C:\Program Files\moonlight_hdr_launcher
2020-12-29 09:06:14: argv[0]: MassEffectAndromeda.exe
2020-12-29 09:06:14: Found config file: C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini
2020-12-29 09:06:14: options.launcher_exe=C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini
2020-12-29 09:06:14: options.wait_on_process=1
2020-12-29 09:06:14: options.toggle_hdr=0
2020-12-29 09:06:14: Launching 'C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini' and waiting for it to complete.
2020-12-29 09:08:30: SUBPROCESS: SUCCESS: The process "nvstreamer.exe" with PID 13296 has been terminated.

2020-12-29 09:08:30: SUBPROCESS: Switching resolution to 3840x1600

2020-12-29 09:08:30: SUBPROCESS: Minimizing windows

2020-12-29 09:08:30: SUBPROCESS: Starting game launcher

2020-12-29 09:08:30: SUBPROCESS: Focusing Playnite

2020-12-29 09:08:30: SUBPROCESS: Watching for launcher window to close

2020-12-29 09:08:30: SUBPROCESS: Terminating GameStream session.

2020-12-29 09:08:30: SUBPROCESS: Restoring original resolution.

2020-12-29 09:08:30: The command "C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini" has terminated with exit code -1073741510

Contents of my moonlight_hdr_launcher directory

image

Contents of moonlight_hdr_launcher.ini

[options]
# command to launch when the launcher is executed  
; launcher_exe = C:\Program Files (x86)\Steam\steam.exe steam://open/bigpicture

# wait for the launcher process to exit or detach immediately
# useful with gamestream_launchpad to close the connection
# and with toggle_hdr=1
; wait_on_process = 0

# enable HDR on all supported monitors for the duration of the launcher
# only works with wait_on_process=1
; toggle_hdr = 0

## Examples
# launch Steam in Big Picture mode
; launcher_exe = C:\Program Files (x86)\Steam\steam.exe steam://open/bigpicture
; wait_on_process = 0

# launch GOG Galaxy using gamestream_launchpad
; launcher_exe=gamestream_launchpad.exe 2560 1440 gamestream_gog_galaxy.ini
launcher_exe = C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe 3840 1600 C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini
wait_on_process = 1
toggle_hdr = 0

Contents of gamestream_steam_bp.ini

[LAUNCHER]
launcher_path = C:\Games\Steam\steam.exe steam://open/bigpicture Fullscreen
# set it to something other than Steam because gamestream_launchpad can detect multiple windows and will close prematurely
launcher_window_name = NotSteam

[BACKGROUND]
# List as many exe's or bat's as you want here. They will run at the start of the GameStream session and be killed at the end.
# background_exe_1 = C:\Program Files (x86)\JoyToKey\JoyToKey.exe
# background_exe_2 = C:\WINDOWS\system32\mspaint.exe
# background_exe_1 = C:\Program Files\moonlight_hdr_launcher\hdr_toggle.exe

[SETTINGS]
debug = 0
sleep_on_exit = 0
close_watch_method = window

Let me know if there is any other information I can provide.

lyckantropen commented 3 years ago

Thanks @j9ac9k

Please do the following:

The installer is setting the permissions to C:\Program Files\moonlight_hdr_launcher so it's writable by the user. There has to be something wrong if it's launching Playnite - perhaps some hardoded defaults in gamestream_launcher.

j9ac9k commented 3 years ago

Thanks @j9ac9k

Please do the following:

  • Check the version of the MassEffectAndromeda.exe binary, by viewing the Details tab of the file's properties and verify that it is indeed 1.0.5.

I get no version information on the details tab:

image

  • Attach the installer log (moonlight_hdr_launcher_install.log).

moonlight_hdr_launcher_install.log

  • Retry after removing the folder C:\Program Files\moonlight_hdr_launcher by hand and re-running the installer.

I can do this again if you'd like, but this was the step I did when I re-ran the second time above.

  • Check if <user folder>\AppData\Local\NVIDIA\NvBackend\StreamingAssetsData\mass_effect_andromeda\<number>\ exists and attach the contents of StreamingSettings.json.

StreamingSettings.json.txt

(remove the .txt at the end).

The installer is setting the permissions to C:\Program Files\moonlight_hdr_launcher so it's writable by the user. There has to be something wrong if it's launching Playnite - perhaps some hardoded defaults in gamestream_launcher.

Dumb question perhaps, but what "game" should I be launching from the moonlight client?

image

I've been launching the "Mass Effect Andromeda" icon, should I be launching the "StreamOS" icon?

EDIT: Initial version of this post had the wrong file linked for the installer log.

lyckantropen commented 3 years ago

It does seem like you're doing what you should be doing. I will double-check the release file because the executable should have version information.

There's only a couple reasons I can think of why you'd have separate entries for "Mass Effect Andromeda" and the "Steam OS" one:

j9ac9k commented 3 years ago

It does seem like you're doing what you should be doing. I will double-check the release file because the executable should have version information.

There's only a couple reasons I can think of why you'd have separate entries for "Mass Effect Andromeda" and the "Steam OS" one:

  • You actually have Mass Effect Andromeda installed.

I do not have Mass Effect Andromeda installed

  • You've also been using tmac666's solution from the NVIDIA forums, I have no idea how that would work out, I haven't tested such a setup.

A few days ago, I attempted to the mstsc.exe rename trick per suggestion on the moonlight discord channel, but I had long since removed those entries from the geforce experience; but there could certainly be a cache laying around somewhere.

  • GeForce Experience has cached both entries for some reason.

Do you happen to know of a way I can nuke some of the caching here?

lyckantropen commented 3 years ago

Do you happen to know of a way I can nuke some of the caching here?

You could try this:

j9ac9k commented 3 years ago

Do you happen to know of a way I can nuke some of the caching here?

You could try this:

  • delete <user folder>\AppData\Local\NVIDIA\NvBackend\StreamingAssetsData\
  • force-quit GeForce Experience or restart your PC
  • re-scan for games in GeForce Experience

I'll give this a go and retry... also FYI I ran a sha256 hash check on the MassEffectAndromeda.exe file:

image

(sorry copying text in/out of the host system here is a bit tricky)

lyckantropen commented 3 years ago

I have issued release 1.0.6 that will print version information in both the installer log and the launcher log. That way we know for sure.

Edit: File SHA256 checksums:

Please retry using this version and attach both logs. Do a full wipe of C:\Program Files\moonlight_hdr_launcher beforehand.

BTW the reason gamestream_launchpad.exe might be launching Playnite is because the path to the ini has spaces and it is treating it as two arguments. You could try putting the path to the ini file in double quotes, just so it is just a single argument, or escaping the space with a \ after C:\Program.

j9ac9k commented 3 years ago

This is interesting and potentially relevant, I'm having a hard time deleting the files inside the the `StreamingAssetsData" siting permission denied

image

Checking security of those files, sure enough I do not have permissions directly (but as I'm an administrator, I can add myself)

lyckantropen commented 3 years ago

Oh, sorry. This is intentional, GeForce Experience will delete the entry otherwise because of reasons unbeknownst to me, but I suppose it can tell it's not real. You can change the permissions yourself.

j9ac9k commented 3 years ago

After nuking that directory; restarting, I am now unable to install 1.0.6 without error saying that geforce now can't find mass effect andromeda. I have attached the logfile here, should I attempt to modify the

moonlight_hdr_launcher_install.log

On the plus side, in the executable properties, I can verify I have version 1.0.6

image

EDIT:

While looking at GeForce Experience gameslist, I saw I had two entries for Mass Effect Andromeda, including one from a directory I had removed from being scanned (my previous attempt using the renaming of mstsc.exe)... I've attempted to remove older entries from the list and will try again shortly...

lyckantropen commented 3 years ago

When I had this error I had to force quit Experience (kill anything NVIDIA-related in task manager), temporarily rename MassEffectAndromeda.exe, restart Experience, scan for games, rename MassEffectAndromeda.exe back to what it should be, scan for games and run the installer again.

Only this ensures that the cache for MEA is getting created so it can be patched by the installer.

Perhaps restarting Experience is a necessary step that should be part of the installation, but I haven't been able to make it consistent. Sometimes it works, sometimes it doesn't.

wt., 29 gru 2020, 19:49 użytkownik Ogi Moore notifications@github.com napisał:

After nuking that directory; restarting, I am now unable to install 1.0.6 without error saying that geforce now can't find mass effect andromeda. I have attached the logfile here, should I attempt to modify the

moonlight_hdr_launcher_install.log https://github.com/lyckantropen/moonlight_hdr_launcher/files/5751791/moonlight_hdr_launcher_install.log

On the plus side, in the executable properties, I can verify I have version 1.0.6

[image: image] https://user-images.githubusercontent.com/646398/103306895-8c866380-49c3-11eb-9f26-55828a8e3343.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/lyckantropen/moonlight_hdr_launcher/issues/2#issuecomment-752202349, or unsubscribe https://github.com/notifications/unsubscribe-auth/AASJWLQCNLKZUAPB4WRV7WTSXIQFLANCNFSM4VJWOP4A .

j9ac9k commented 3 years ago

I'm still un-able to regenerate the MassEffectAndromeda directory in the StreamingAssetsData directory, and thus the installer is complaining about it not being found; I'll keep tinkering with this

EDIT: by deleting cached files in the AppData folder for GeForce Experience; restarting, I managed to get the installer to finish without error. Will report in a bit how the rest of the process goes.

j9ac9k commented 3 years ago

More success, now everything works with toggle_hdr = 0 as intended, but I'm hanging at the same place with toggle_hdr = 1

Files/Logs:

moonlight_hdr_launcher_install.log

Log file with toggle_hdr = 1

[hdr_moonlight_hdr_launcher_log.txt] (https://github.com/lyckantropen/moonlight_hdr_launcher/files/5752074/hdr_moonlight_hdr_launcher_log.txt)

Log file with toggle_hdr = 0

nohdr_moonlight_hdr_launcher_log.txt

moonlight_hdr_launcher.ini contents:

[options]
# command to launch when the launcher is executed  
; launcher_exe = C:\Program Files (x86)\Steam\steam.exe steam://open/bigpicture

# wait for the launcher process to exit or detach immediately
# useful with gamestream_launchpad to close the connection
# and with toggle_hdr=1
; wait_on_process = 0

# enable HDR on all supported monitors for the duration of the launcher
# only works with wait_on_process=1
; toggle_hdr = 0

## Examples
# launch Steam in Big Picture mode
; launcher_exe = C:\Program Files (x86)\Steam\steam.exe steam://open/bigpicture
; wait_on_process = 0

# launch GOG Galaxy using gamestream_launchpad
; launcher_exe=gamestream_launchpad.exe 2560 1440 gamestream_gog_galaxy.ini
launcher_exe = "C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe" 3840 1600 "C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini"
wait_on_process=1
toggle_hdr = 1

I did not need to modify permissions on the moonlight_hdr_launcher.ini file this time 🎊

I suspect the playnite setting had to do with executing the wrong game in Moonlight (due to having both the steamOS and Mass Effect Andromeda "games" available).

lyckantropen commented 3 years ago

Then it turns out there's some crash when using NVAPI that's not being caught and that we're not seeing. I will try making a debug build with core dumps so I can investigate the stack.

Meanwhile there's another solution you might be interested in. I hacked hdr-toggle to make a small executable that toggles HDR. There's a build in my fork here.

If that doesn't work, you can always try installing hdr-toggle, use the NON-hdr setup and try turning HDR from the tray using the mouse.

lyckantropen commented 3 years ago

If hdr_toggle.exe doesn't work either, would you please run it standalone using the command line? It uses the same code but it's a console application as opposed to MassEffectAndromeda.exe and may print a useful error message.

lyckantropen commented 3 years ago

Here is a debug pre-release that also contains a debug version of hdr_toggle.exe. The debug versions should display a window from the Visual C++ runtime when crashed. If you want to be extra helpful, you can enable debug dumps.

@j9ac9k Forget about debug, pre-relase 1.0.7-sentry will upload a crash report to sentry.io, hopefully describing what has happened. Please use this one with toggle_hdr=1 and let me know when you've done so.

j9ac9k commented 3 years ago

Then it turns out there's some crash when using NVAPI that's not being caught and that we're not seeing. I will try making a debug build with core dumps so I can investigate the stack.

Meanwhile there's another solution you might be interested in. I hacked hdr-toggle to make a small executable that toggles HDR. There's a build in my fork here.

  • Put hdr_toggle.exe in C:\Program Files\moonlight_hdr_launcher.
  • Set toggle_hdr to 0.
  • In gamestream_steam_bp.ini in the [BACKGROUND] section uncomment the line adding hdr_toggle.exe to the list of executables to run in the background.

If that doesn't work, you can always try installing hdr-toggle, use the NON-hdr setup and try turning HDR from the tray using the mouse.

This ran without error (I did not attempt to try an HDR title like assassin's creed odyssey (which has a nice indicator if HDR is available/running).

In case you're curious, here are the contents of the log

2020-12-30 08:36:51: Moonlight HDR Launcher Version 1.0.6
2020-12-30 08:36:51: Working folder read from registry: C:\Program Files\moonlight_hdr_launcher
2020-12-30 08:36:51: argv[0]: MassEffectAndromeda.exe
2020-12-30 08:36:51: Setting current working directory to C:\Program Files\moonlight_hdr_launcher
2020-12-30 08:36:51: Found config file: C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini
2020-12-30 08:36:51: options.launcher_exe="C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe" 3840 1600 "C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini"
2020-12-30 08:36:51: options.wait_on_process=1
2020-12-30 08:36:51: options.toggle_hdr=0
2020-12-30 08:36:51: Launching '"C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe" 3840 1600 "C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini"' and waiting for it to complete.

I also just installed the pre-release 1.0.7 variant, used toggle_hdr=1 and appears have have crashed on the same spot; I don't know what the sentry log says, but the local generated log is as follows:

2020-12-30 08:51:30: Moonlight HDR Launcher Version 1.0.7
2020-12-30 08:51:30: Working folder read from registry: C:\Program Files\moonlight_hdr_launcher
2020-12-30 08:51:30: argv[0]: MassEffectAndromeda.exe
2020-12-30 08:51:30: Setting current working directory to C:\Program Files\moonlight_hdr_launcher
2020-12-30 08:51:30: Found config file: C:\Program Files\moonlight_hdr_launcher\moonlight_hdr_launcher.ini
2020-12-30 08:51:30: options.launcher_exe="C:\Program Files\moonlight_hdr_launcher\gamestream_launchpad.exe" 3840 1600 "C:\Program Files\moonlight_hdr_launcher\gamestream_steam_bp.ini"
2020-12-30 08:51:30: options.wait_on_process=1
2020-12-30 08:51:30: options.toggle_hdr=1
2020-12-30 08:51:30: Attempting to set HDR mode

Also, my apologies, I realized I never thanked you for creating this project and assisting with my issue. Thanks for your help and for sharing this tool!

lyckantropen commented 3 years ago

This ran without error (I did not attempt to try an HDR title like assassin's creed odyssey (which has a nice indicator if HDR is available/running).

What did you end up doing? Use the hdr-toggle tray or hdr_toggle.exe?

Also, my apologies, I realized I never thanked you for creating this project and assisting with my issue. Thanks for your help and for sharing this tool!

Appreciated! I'm doing it for myself and for street cred ;)

Thanks for testing @j9ac9k , FYI the crash info has been uploaded. It was a crash in my code that I will fix, thanks again.

j9ac9k commented 3 years ago

This ran without error (I did not attempt to try an HDR title like assassin's creed odyssey (which has a nice indicator if HDR is available/running).

What did you end up doing? Use the hdr-toggle tray or hdr_toggle.exe?

I used hdr_toggle.exe in gamestream_steam_bp.ini, I'm a sucker for pre-defined config files over manual steps :)

Also, my apologies, I realized I never thanked you for creating this project and assisting with my issue. Thanks for your help and for sharing this tool!

Appreciated! I'm doing it for myself and for street cred ;)

I maintain https://github.com/pyqtgraph/pyqtgraph so I totally get how overwhelming having a project used out in the world can be!

Thanks for testing @j9ac9k , FYI the crash info has been uploaded. It was a crash in my code that I will fix, thanks again.

Glad to hear you got useful debug information!

lyckantropen commented 3 years ago

@j9ac9k All in all, I think the key to running HDR games without an HDR monitor is running Steam Big Picture through the MassEffectAndromeda.exe launcher. The HDR toggle will essentially do nothing if there's no HDR monitors.

lyckantropen commented 3 years ago

@akenbake Were you able to launch Steam Big Picture using release 1.0.6 or pre-release 1.0.7?

j9ac9k commented 3 years ago

@j9ac9k All in all, I think the key to running HDR games without an HDR monitor is running Steam Big Picture through the MassEffectAndromeda.exe launcher. The HDR toggle will essentially do nothing if there's no HDR monitors.

I set toggle_hdr = 0 in the launcher ini file; enabled the hdr_toggle.exe executable in gamestream_steam_bp.ini but unfortunately HDR was not recognized when launching Assassin's Creed Odyssey. Furthermore, launching the game via steam, it did not relay my client monitor aspect ratio (21:9) and attempted to use 16:9 or 16:10 aspect ratio options.

I'm wondering if this can be addressed with some adding launch options to the entry in steam; but that will require further investigation.

Of the Gamestream HDR titles listed here: https://www.nvidia.com/en-us/geforce/forums/gamestream/19/295074/gamestream-hdr-support-list/ I have access to a few other games, which I may also attempt to run.

lyckantropen commented 3 years ago

@j9ac9k I only have 2 recommendations on what you could try:

  1. Launch BP without gamestream_launchpad:

    moonlight_hdr_launcher.ini:

    [options]
    launcher_exe = C:\Program Files (x86)\Steam\steam.exe steam://open/bigpicture
    wait_on_process = 0
    toggle_hdr = 0

    Sadly, we don't know what tmac666 is doing exactly. If I get corageous I may try spoofing steam.exe and capture the arguments in a sandboxed environment.

  2. Tinker with StreamingSettings.json. There's a couple of resolution-related settings there:

            "DefaultStreamingMode": "3840x2160@60",
            "DefaultConsoleMode": "3840x2160@60",
            "DefaultResolution": "3840x2160",

Do let me know if you find something out.

j9ac9k commented 3 years ago

I tried the second method of changing StreamingSettings.json; which did have some nice side-effects of not having my desktop constantly rescale; but resulted in the same place.

I don't think this is a limitation of your tool, I think this is a limitation of steam big picture. When launching a game from steam big picture, it apparently makes no attempt to pass along the resolution the desktop is currently using, but instead offers the available resolutions of the "attached display". In other words, I think I'm going to have to get some programmable dummy HDMI dongle and clone my actual monitor and use that instead. This is just for resolution, maybe HDR could still work w/ a bogus resolution? I don't know...

I'll try with a few other games that supposedly support gamestream HDR.

EDIT: hold up, just saw I didn't have your forked hdr-toggle.exe in the moonlight_hdr_launcher directory... retrying...

j9ac9k commented 3 years ago

got it working! resolution is bogus (2560x1600)..... I'm using hdr-toggle.exe and calling that manually via gamestream_steam_bp.ini

The missing piece is that my client is running macOS; I had to edit the moonlight plist file to enable HDR (set videocfg value to 3)...that setting keeps periodically being reset for reasons I don't understand... now to experiment to see if I can have HDR enabled without having to launch steam big-pictures

Screen Shot 2020-12-30 at 12 16 21 PM

j9ac9k commented 3 years ago

k, so bad news, ...it's still definitely attached to the virtual display regardless of how I launch it feels like; I may try calling the game manually

good news, launching the game via PlayNite shows HDR as an option I can toggle on/off, so I don't think there exists a dependence on steam big picture...

EDIT: and now I'm having a tough time getting it working again 😆 ...the quick way to see if you're getting a HDR scream via moonlight is checking the debug overlay and look for "Codec: HVEC Main 10" (as opposed t just Codec: HVEC)

EDIT 2: Managed to get it again, via loading up the steam big picture mode... also had to disable the custom resolution overriding I enabled in the nvidia control panel...

EDIT 3: Tried a few other games, saw HDR being supported if the game was in full screen mode; still haven't worked out the exact settings needed, but as most games don't let you define resolutions that are not supported by your connected display, I'm going to look into getting a programmable HDMI emulator I can clone from my ultrawide monitor so I can support those resolutions "natively" on my gamestream host.

lyckantropen commented 3 years ago

@j9ac9k Are you talking about a hardware HDMI emulator? In terms of software I was thinking if using Microsoft's IddCx (Indirect Display Driver) may be a solution for game streaming in general (i.e. headless boxes without even an HDMI dongle), but it doesn't support HDR yet.

j9ac9k commented 3 years ago

@j9ac9k Are you talking about a hardware HDMI emulator? In terms of software I was thinking if using Microsoft's IddCx (Indirect Display Driver) may be a solution for game streaming in general (i.e. headless boxes without even an HDMI dongle), but it doesn't support HDR yet.

I think so, I actually don't have any HDMI ports on my GPU, just display ports, so I have this guy.

To get ultrawide resolutions on the desktop, I had to create a custom resolution through the nvidia control panel:

image

Unfortunately that custom resolution is not recognized inside games, and I'm just given the non-custom resolution options (this is not an issue with Parsec, not sure how they sorted that out).

I posted on reddit, and got referred to this post: https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU so I'll give that a go.

Also let me know if you'd like me to migrate this convo to another issue (or elsewhere not in the issue tracker).

j9ac9k commented 3 years ago

Sure enough, with the custom resolution utility I was able to get the ultrawide resolution with HDR!

Screen Shot 2020-12-31 at 1 25 48 PM

Thank you so much for your help with this. I just want to reinforce that a requirement to make this work on macOS is changing videocfg value to 3 (from 0) in ~/Library/Preferences/com.moonlight-stream.Moonlight.plist (this value has also gone back to 0 on its own on me before, so be sure to check that first if having trouble).