HelixVision

HelixVision

Cer Feb 12, 2021 @ 12:37am
Start Wars: Jedi Fallen Order on WMR Headset (G2) not starting
Hello,
I want to continue my other post about my Jedi Fallen Order issue here in a new thread because I have now removed VRidge/Samsung Gear and installed a HP Reverb G2.
Before installing the headset I upgraded windows to 20H2 as it contains some fixes for the G2. I had no issues at all installing the headset and software and usual VR games work perfectly (WMR and Steam based).

Regarding HelixVision nothing changed with the new headset, I still got "*** LoadLibrary of original_nvapi64.dll failed. ***" in the log, so VRidge was probably not the issue. I then tried several things including a DDU and 425.31 reinstall (which did not help).
Then I noticed a popup "RivaTunerStatisticsServer Some system components cannot be hooked rigth now. It is strongly recommended to restart application." of which I am unsure if it was there before. I got rid of that popup by installing the 7.3.0 beta 10 of RTSS. Before I had the "recommended" version 7.2.3 which worked OK with 3DFM and Jedi in 3DVision mode with shutter glasses

Question: Is RTSS *required* for HelixVision? (I guess yes...)

At least, with the new RTSS the error in the log disappeared and many more entries (which I don't understand) appeared. So I guess 3DMigoto can attach now. Not sure if it is working properly as I found this message in the d3d11_log:
WARNING: Unrecognised entry in D:\Origins\Jedi Fallen Order\SwGame\Binaries\Win64\d3dx_user.ini: $/shaderfixes/3dvision2sbs.ini/mode = 0
In HelixVision\Tools I have two Migot folders: 3Dmigoto (with nvapi64.dll version 1.3.16.46) and 3Dmigoto_1.3.8 (containing just the file d3dx.ini)

Question: After uninstalling/installing the fix I used to get a popup asking to updated 3DMogoto to the latest version. This does not happen any longer. Is the newest version now part of the fix or do I have an issue?

However, on the first try Katange window showed the loading screen of the game but the menu screen where it starts to show 3D did not come. Instead the game closed after a while. On all next attempts katanga just showed the famous white "Launching Jedi fallen Order..." screen and auto closed itself after a while (when the game crashed silently again).
In the HelixVision settings I activated that checkbox to help with WMR related crashes, but this did not do anything visible.

Question: Should I always active that WMR crashfix checkbox, or is it outdated due to WMR software improvements?

I hope you can point me in the right direction as I really want to bring HelixVision alive on my system.
< >
Showing 1-15 of 16 comments
Bo3b  [developer] Feb 12, 2021 @ 2:46am 
Thanks for the great detail there, that helps to clarify what might be going wrong. As a general idea the Fallen Order has been working very well under HelixVision.

Probably 20H2 is not strictly necessary- because the WMR software is updated separately from the OS itself, you can get the latest WMR without needing to change OS. I've tested 20H2 as working though, so that in itself should be OK.

The LoadLibrary failed message suggests some other software on your system is interfering with the operation. Some overly aggressive virus checking software can break the system, but I'm not sure in this case. It's strange that it went away after updating RTSS, because that is an unrelated component.

The RTSS is not required, but is used when running driver 425.31 to add the frame rate limit. It can be disabled in the VR Display Profile for testing or if you prefer no cap.

The SBS error message suggests that your d3dx.ini file has been modified. The regular Jedi Fallen Order fix does not include that line. Probably this got added as part of testing with VRidge for SBS, but it won't work with the way that DJ-RK has the file structured. We'll skip this one, because it's not necessary for HelixVision.

You won't get the driver modification alert on 425.31, because that driver does not need to be modded. 3D Vision works natively there. For later drivers, it will alert, and the newer 1.3.16.46 version will be necessary, but automatically installed.

The WMR crashfix is automatically installed and removed when 3D is enabled and disabled. We disable it when 3D is not active so as to not interfere with 3D use outside of HelixVision. No need to set the checkbox in settings, as it is automatic.


I'd recommend the following:

1) Switch to driver 452.06. You can find this most easily in the Driver tab of HelixVision as an Install button. The 425.31 driver does not work well on Fallen Order because the game came out later than it, so 452.06 is recommended for this game. With 452.06 this will also avoid any problems with RTSS because we use the built in NVidia frame rate limit on that version of the driver.

2) Uninstall the game fix using the Uninstall button on the Fallen Order profile page. That will clean up an experiments and fix the SBS error. Reinstall, or allow it to automatically install upon PlayInVR.

Let me know what you see after trying this path, and we'll work on getting it up and running. If you still get something strange like that missing nvapi64.dll, double check your anti-virus and make sure it's not breaking things.
Cer Feb 12, 2021 @ 10:30am 
Thank you for your detailed answer and patience!

I do not have an extra virus scanner installed, I just use Defender.
I thought the 425.31 driver is perfect as the game runs well with it in 2D and 3DVision using 3DFM. Also I think you recommended elsewhere to use it. Thats why I did not upgrade.

Now I have installed 452.06 and the 3D driver and the crashfix (using 3 buttons in total). On the driver tab all is green now, no orange warnings anymore.
I uninstalled the fix, cleared the fix-cache and installed the fix again. The line with 3dvision2sbs.ini is now commented again (yes I tried to run SBS with 3DFM and then wanted to use virtual desktop) but still no popup requesting to update 3DMigoto. It seems the needed version is now part of the downloaded fix. At least the nvapi64.dll in game directory shows version 1.3.16.46

When playing in VR with this configuration I always get a crash report from the game that starts with "LowLevelFatalError [File:Unknown] [Line: 200] Unreal Engine is exiting due to D3D device being lost. (Error: 0x887A0006 - 'HUNG') " and then has several "starwarsjedifallenorder.exe!UnknownFunction []".

In the log I have again the line "*** LoadLibrary of original_nvapi64.dll failed. ***" After that it says that the dll is loaded from system32 instead.
Using procmon I traced the access to the file "original_nvapi64.dll" (original is part of the filename!?) and could see that the game exe is searching it everywhere but can't find it. I searched myself on the harddrive and there is no such file.

=> What is the deal with that file? Is it created temporarly or do I just miss it?

Just as a test I copied the nvapi64.dll from the game directory (the 3dMigoto one) to the name "original_nvapi64.dll" in the same directory. Then I started Play in VR again and now no crash happened and the game came up in anaglyph mode. I could even see it for a second in the headset on the big screen. But then it went all black and on the desktop I got a steam vr crash popup. The game exe also hung and did not respond, the whole PC was partly blocked so I restarted it. There are now 2 logfiles in the game-exe directory which have good content and thus look ok.

So the issue is related to that original dll it seems, but I don't understand its background and thus can't conclude what to try next.
Bo3b  [developer] Feb 12, 2021 @ 5:57pm 
The error that you see with the UE4 crash "device lost" is the crash that happens on later drivers without our mod to the driver. So that suggests that our mod is somehow not being loaded, and it's then just a normal driver at that point. All UE4 games crash this way without the mod.

The mod is built into the HelixVision launcher, and creates a modified version of the nvidia driver itself, and puts it into the game directory. This file is named nvwgf2umx.dll. It is enabled/disabled automatically during launch, when the game is not running it will have a _disabled on the end. We disable the mod after exit so that people can run unmodified versions of games without risk of being banned in multiplayer.

The mod not being installed, and the missing connection to original_nvapi64 says that the configuration is somehow broken and not being successfully installed.


That file you see with procmon of original_nvapi64 is actually a messaging system we use in 3Dmigoto. We need an override version of nvapi64.dll in order to properly handle stereo, and that file comes as part of the 3Dmigoto package. However, that file in itself is not a complete version of the nvapi64, and we need to further link out to the one in System32 to get the rest of the functionality. Ours works as a hook over top of the master version in System32.

So the call to LoadLibrary for original_nvapi64 is telling our loader hooks that it should skip local dlls and go directly to System32 for the file. We rename the file on the fly, and force the path to System32. We have to do all this stupidity because NVidia uses hostile loading techniques that break the Windows model.

In itself the call to original_nvapi64 is normal- the question is why it cannot chain through to the master version in System32. That also suggests that 3Dmigoto is not being properly loaded, because this is a fundamental aspect of all versions of 3Dmigoto, not just our 1.3.16.46 version.

BTW- adding that copy named original is an interesting experiment, but won't work properly because it does not have all the other necessary code from the System32 version. Hence the steam crash- it's lost all nvapi code.


So the real question here is why the 3Dmigoto is not being properly loaded. Once it can be loaded, I think everything will work. The best scenario for this game is driver 452.06, and the 3Dmigoto version that comes with HelixVision of 1.3.16.46. The 1.3.16.46 is required here because it includes the loader for the nvwgf2umx.dll file.

Let's focus on this combo and work out the details.

If you have fast internet, it would be worth doing a complete game uninstall, delete the left over folder, and reinstall. It seems like stuff is in a pretty broken state, and a lot of times, just clean installs fixes it.

It is probably worth doing the same with HelixVision itself. The latest regular version is 0.9.62 and will work for Fallen Order.


The game path in question is not the root of the "Jedi Fallen Order" folder. The actual game root is "W:\SteamLibrary\steamapps\common\Jedi Fallen Order\SwGame\Binaries\Win64"
because of how UE4 games are laid out. That's the actual exe folder. This is normally handled automatically by HelixVision, and the profile should be correct, just adding some detail for the actual loading directory.

In that directory we must have the d3d11.dll, the d3dx.ini, the nvapi64.dll. All those will be from the 1.3.16.46 version when properly setup. You can get properties on the dlls and they will have correct versions. There must also be the nvwgf2umx.dll file when the game is running. There will also be a ShaderFixes folder, and the d3dx.ini file that comes as part of the FallenOrder fix itself.


Putting dlls into different directories manually can break things in subtle ways. Because of the loading techniques used, if there were a d3d11.dll further up the chain it could override the proper link to System32 for example.

I can't quite explain how this scenario would happen, so something is definitely installed incorrectly or being blocked by other software. This is why I mentioned anti-virus software- they can sometimes block dlls from being installed without notice.

If we get errors, we report them. It would be worth taking a look at the HelixVision logs that can be found at: %appdata%\..\LocalLow\Katanga\Katanga\output_log.txt and the katanga.log file there. Those are short and can be posted here.

It would also be worth setting the logging on for the 3Dmigoto in d3dx.ini, by setting "calls=1". That will generate a d3d11_log.txt file.


I think that it's clearly worth the time to reinstall the game and HelixVision cleanly, but if that is not possible or doesn't fix the problem, let's take a look at the log files.
Cer Feb 13, 2021 @ 3:02am 
Hoping to find the root cause so that you and other can benefit from this and maybe another check is implement. Thus I did not reinstalled all right away but made some more tests:

First try after a reboot usually does not work and gives this message in a HelixVision window:
Error: Failed to launch game in VR mode as one or more VR components are missing or haven't been set up.
Please check VR state and install any components required.

That happens with or without steam vr beeing started manually before or automatically after pressing the play button. When the message comes steam vr is always off.

Next attempt did not give this issue, everything started as it should (epic game launcher, origin launcher, katanga). In game exe directory I see nvwgf2umx.dll for a short moment before the jedi logo comes up. In procmon I see that it is accessed but suddenly this one is used:
C:\Windows\System32\DriverStore\FileRepository\nvgbdi.inf_amd64_d47090ec8f5b7bb4\nvwgf2umx.dll
I guess at that time the one in the game folder was renamed to nvwgf2umx_disabled.dll which I see there after the crash happend.

I made several more tries:
I excluded steam and origin folder from windows defender (even C:\Windows\System32\nvapi64.dll, but this dll is still scanned).
I uninstalled HelixVision (Still had to delete D:\Steam\SteamApps\common\HelixVision that contained a LOT of files and C:\Users\Cedric\AppData\LocalLow\Katanga). Then reinstalled and tried again. Always reboot inbetween.

Nothing helped, always the same symptom and the same logs with same content. On a side note it is maybe worth mentioning:
In the beginning I installed Helix Demo and then purchased the working version.
Before I got the WMR I did test a Quest2 on my system for which I installed Occulus software and Sideload. This and also Revive is still installed (as I want to use revive). In Procmon I see OVRServer_x64.exe accessing C:\Windows\System32\nvapi64.dll even though Occulus/Revive was not started. There are also no overlays in steam vr installed.
I have a German windows version.

The 3dMigoto log always shows the issue that nvapi64.dll could not be loaded.
The katanga.log seems to reveal an issue with permissions(??):

..Unity Native C++ logging enabled.
..Katanga:CreateSetupMutex--> 0000000000000B04
..Katanga:ReleaseSetupMutex: ReleaseMutex ERROR_NOT_OWNER
..Katanga:DestroySetupMutex<-- 0000000000000B04

The output_log.txt is missing a referenced script (?) or is it an OpenVR issue?:

Initialize engine version: 2017.4.26f1 (3b349d10f010)
GfxDevice: creating device client; threaded=1
Direct3D:
Version: Direct3D 11.0 [level 11.1]
Renderer: NVIDIA GeForce GTX 1070 (ID=0x1b81)
Vendor: NVIDIA
VRAM: 8088 MB
Driver: 27.21.14.5206
Begin MonoManager ReloadAssembly
- Completed reload, in 0.210 seconds
<RI> Initializing input.

<RI> Input initialized.

<RI> Initialized touch support.

OpenVR initialized!
The referenced script on this Behaviour (Game Object '_Stats') is missing!

(Filename: Line: 1758)

UnloadTime: 0.934700 ms
<b>[SteamVR]</b> Successfully loaded 22 actions from action manifest into SteamVR (D:/Steam/steamapps/common/HelixVision/Tools/Katanga/actions.json)
<b>[SteamVR]</b> Initialized. Connected to holographic:WindowsHolographic
Awake
CreateSetupMutex
RecenterHMD
UpdateCurve state: 0.4749999
Set environment state: 4
Sharpening state: 0 sharpness: 1.5
Hint state: 0
Start: Command line arguments: D:\Steam\steamapps\common\HelixVision\Tools\Katanga\katanga.exe --game-path D:\Origins\Jedi Fallen Order\SwGame\Binaries\Win64\starwarsjedifallenorder.exe --game-title STAR WARS Jedi: Fallen Order --wait-time 22 --launch-type DX11Exe
--game-path: D:\Origins\Jedi Fallen Order\SwGame\Binaries\Win64\starwarsjedifallenorder.exe
--game-title: STAR WARS Jedi: Fallen Order
--wait-time: 22
--launch-type: DX11Exe
CurrentDirectory: D:\Steam\steamapps\common\HelixVision\Tools\Katanga
Successful hook library Init
Launch type: DX11Exe for Game: starwarsjedifallenorder.exe
WaitForGame...starwarsjedifallenorder.exe
Launch EndOfFrame
->Found starwarsjedifallenorder.exe:2340
GetGameProcess...starwarsjedifallenorder.exe
Restored Working Directory to: D:\Steam\steamapps\common\HelixVision\Tools\Katanga
Game has exited.
OnApplicationQuit
DestroySetupMutex
Katanga Quit
Katanga Quit
Setting up 2 worker threads for Enlighten.
Thread -> id: 324c -> priority: 1
Thread -> id: 37d0 -> priority: 1
OpenVR Shutdown


Finally I did another test with the only other game that is recognized by HelixVision on my PC: Skyrim SE
This I could start and the initial menu comes up in anaglyph and in 3D in the katanga window (seen in the headset). Could not test the game as it silently exists when loading a saved game. But this seems to prove that HelixVision / Katanga works in principle.

It also suggest that I have an issue with the Jedi game. I did a "Repair" in the origin launcher, but that took less that a second to tell me everything is OK. So next I have to uninstall Origin, Epic and the Game itself and start from scratch. I do have a 50MBit line but still would prefer to find the root cause and fix only that. Well ....
Bo3b  [developer] Feb 13, 2021 @ 4:12am 
I appreciate you going the extra mile for testing and trying to understand the root problem. Definitely can help others, and one of the reasons I like to do the help here, so that we have items people can then search later on.

Which version of the game do you have? I've only used the Steam version, which then connects through the Origin launcher. You mention Epic Game Launcher, and if it is involved, it's possible that they move the game files. Epic seems to break the installations, and the path for the install could be wrong.

The logs for the Katanga app look pretty normal, no unusual errors there, and the sequence of events is correct. It doesn't find and report on the backbuffer info, like size and graphic format though, which is consistent with the 3Dmigoto not loading.


It seems like crux of the problem is that the 3Dmigoto is not loading for some reason. The only other real variance on your system is the Revive and the sideload. I have no experience with those components, and it's possible, but unlikely, that they cause problems.

Let's focus on 3Dmigoto. Go to the game directory and edit the d3dx.ini file, and add a section:

[Logging] calls=1

Normally that section is in the file already, but it looks like DJ-RK overly modifies the file.

With that in place, then launch the game from Steam or Origin directly. Just for 2D. Even though it's 2D, the 3Dmigoto should still be loaded and generate a d3d11_log.txt file in the same folder. If that files is not created, that means the d3d11.dll is not being loaded by the game.

Another thing to double check is when the game is running in 2D, check Task Manager and find the exact path of where it is launching from. Possible but unlikely that there is another exe somehow that is the one actually being launched.

We need to know the exact path the game is using, so that we can be sure the d3d11.dll is in the right directory and can thus override the system version.
Cer Feb 13, 2021 @ 9:39am 
I bought the game in the epic store but they just launch origin and start it there. Steam is used for helixvision and for vr and WMR is also acive. Too many different components I think, but when I try to start it directly from the origin launcher it opens the epic launcher first. Sometimes I have the feeling that epic and steam interfere with each other.

The game path known to helix is correct. The logfiles I collect are from that location and changes to the ini file have an effect.
Anyway, I checked with taskmanager and the path is D:\Origins\Jedi Fallen Order\SwGame\Binaries\Win64 which is the same as in HelixVision.

I started the game directly in 2D but first I had to remove the _disabled part from nvwgf2umx.dll and d3d11.dll. Then game started normal and I got a nvapi_log.txt without error and many repeating lines of this kind:
- Stereo_ReverseStereoBlitControl called with TurnOn = 0. Result = -5
- Stereo_ReverseStereoBlitControl called with TurnOn = 1. Result = -5
I also got a d3d11_log.txt with quite some content that looks OK to me.

Then I uninstalled Sideload and a bunch of other old stuff I never need (like Big-IP client, Rockstar launcher,...) and rebooted.
Then I tried to "Play in VR" but run into the same error. I noticed that both files were renamed back to _disabled right in the beginning, even before origin launcher comes up. Is there a way to force it to stay enabled? I tried to make the file read only and remove rights, but HelixVision can still change it back.
Cer Feb 13, 2021 @ 1:48pm 
Now it gets weired...
First I disabled the Occulus service as I don't want to inform Facebook while not using Revive and rebooted. Then I started everything and ... got a picture. In the headset! When trying to load a saved game it crashed with a message that not enough video memory is available. Guess the 100% render resolution is too high. Then I wanted to confirm that it is now working and started again, but now I always get the usual crash :(, even after reboot.

There was something different when it worked: For some reason, after "Play in VR" and while the launchers were preparing (game not yet up) the WMR window told that my headset is asleep and gives a button to reaktivate it. I pressed that button several times as it didn't seem to react, but then the headset came up. This happend while the game was already showing the loading screen. In the headset everything was black, then (I think) there was a windows logo and suddenly katange screen with the game appeared.

So, is it some kind of timing issue? Does HelixVision maybe disable the dll files too early because it did not expect the extra delay from two launchers? To check this I would like to have them always enabled.
Cer Feb 13, 2021 @ 2:24pm 
Given my thoughts above I found a way to make the game always start:
1) In the game exe directory rename nvwgf2umx_disabled.dll to remove the "_disabled" part. For d3d11.dll this was needed only once.
2) Start Jedi using the Epic Launcher, not HelixVision
3) Once the game starts and the loading screen comes up in anaglyph, start a batch file to connect katanga:
D:\Steam\steamapps\common\HelixVision\Tools\Katanga\katanga.exe --game-path D:\Origins\Jedi Fallen Order\SwGame\Binaries\Win64\starwarsjedifallenorder.exe --launch-type DX11Exe

Unfortunately the game soon crashed due to memory error when the menu comes up (there is more to render than in the loading screen). To solve that I reduced render resolution in steam vr general settings, resolution for katanga in steam vr video settings and set my monitor resolution to FullHD. That doesn't give a good picture but the menu came up and I could load a saved game. But the game freezes again as soon as the ingame graphics appears. It seems HelixVision is doing more as I could use a higher resolution when it worked once.
I will experiment with that and reduce in game quality. I have "only" a GTX 1070 with 8GB memory which was fully OK to play in 3DVision with shutter glasses. But with all this overhead of steam vr, wmr and katanga it might not be good enough.

What is now the conclusion? Is it a HelixVision (configuration) issue?
Can I tweak something when going in hacker mode?
Bo3b  [developer] Feb 13, 2021 @ 3:55pm 
Originally posted by cer:
Given my thoughts above I found a way to make the game always start:
1) In the game exe directory rename nvwgf2umx_disabled.dll to remove the "_disabled" part. For d3d11.dll this was needed only once.
2) Start Jedi using the Epic Launcher, not HelixVision
3) Once the game starts and the loading screen comes up in anaglyph, start a batch file to connect katanga:
D:\Steam\steamapps\common\HelixVision\Tools\Katanga\katanga.exe --game-path D:\Origins\Jedi Fallen Order\SwGame\Binaries\Win64\starwarsjedifallenorder.exe --launch-type DX11Exe

Unfortunately the game soon crashed due to memory error when the menu comes up (there is more to render than in the loading screen). To solve that I reduced render resolution in steam vr general settings, resolution for katanga in steam vr video settings and set my monitor resolution to FullHD. That doesn't give a good picture but the menu came up and I could load a saved game. But the game freezes again as soon as the ingame graphics appears. It seems HelixVision is doing more as I could use a higher resolution when it worked once.
I will experiment with that and reduce in game quality. I have "only" a GTX 1070 with 8GB memory which was fully OK to play in 3DVision with shutter glasses. But with all this overhead of steam vr, wmr and katanga it might not be good enough.

What is now the conclusion? Is it a HelixVision (configuration) issue?
Can I tweak something when going in hacker mode?
Fantastic job on working out the timing issue there.

This game is relatively unique in that it does have a timing constraint of some form. When we use our normal injection technique the game would crash or not connect to VR. This is unusual, no other UE4 games have this.

You can tweak another parameter to set the time to whatever you need. I set it up based on my testing with Steam+Origin, but it seems like Epic changes the necessary delay.

On the profile page for the game in HelixVision, click on the Profile Folder button. This will take you to the HelixVision profile. In there you'll find the info.ini file for HelixVision settings for this game. In the VR section at the bottom, change the "waitTime=22" to something longer that matches your setup. It's measured in seconds.
Sorry, just looked at the code to double check, and this is no longer used for DX11 apps. We didn't have any launching problems for DX11 once I switched to the direct connection out of 3Dmigoto. What is most likely happening here is a double-launch of the game so all those cretins like Epic and Origin can double and triple check their licenses. The first launch is snagged by the Katanga app as the actual game, and when it auto-quits it thinks the game is done.


When you launch directly from HelixVision, the _disabled are fixed automatically.

However, your results seem somehow different than before in that you did not see the crash with missing nvapi64. So probably something else is still lurking there in dark that is causing the problem.

My best guess at the moment is that HelixVision is being confused by the Epic launch, and thinks that the secondary launch to Origin is the game, and when that process quits, HelixVision thinks the game has quit, and then marks the files _disabled.

Last edited by Bo3b; Feb 13, 2021 @ 4:11pm
Bo3b  [developer] Feb 13, 2021 @ 4:02pm 
In terms of performance here and the VRAM usage- the real killer is the ultra-high resolution of the HP headset. By default SteamVR will set a SuperSampling level, and I'll be it's just too high for this headset and your 1070. Look for the SteamVR settings, and lower the 'resolution' there. Even 100% is possibly too high, and you definitely do not need anything higher.

Game resolution- you typically want the game to run at 1080p as the sweet spot between quality and performance. This game is also particularly demanding, so you will most likely need to use a 30 fps frame rate cap instead of the default of 45. Even at 1080p. With a 1080ti, I could barely pull 45, and set it to 30 for a smoother, more playable experience.
Bo3b  [developer] Feb 13, 2021 @ 5:28pm 
If it works out that you actually do need the timing delay, there are several ways we can likely solve this.

One would be to add the EpicGameStore App ID to the profile, so that it will do an EGS style launch instead. That's in the Game Launch section of the profile during Edit. I think that if it uses that approach it won't see the double launch, because otherwise it's launching directly via the exe. You can find the App ID by making an EGS shortcut and looking for the embedded code. The string can be a word like "Duckbill", or might be a complicated hash.

Another path that I just tested is to change the info.ini so that "renderApi=DirectX9", which will tell the launcher to use a different approach, which still use the "waitFor=22" time. After changing these in info.ini you need to reload profiles with the circle icon, lower left.

Another possible workaround is to set the game exe in the profile as a StartAdditionalExe parameter with the WaitForExit checked, it will launch that first, wait for it to exit, then launch again, which will be the one to get picked up.

Lastly, if none of that works, you can always use a batch launch or shortcut process like you set up, and manually pass the parameters to the Katanga app.


Depending upon what works here, I'll have to think over how to avoid this problem. You are first to report it, but I'm sure we can expect further mistakes and broken concepts from Epic.
Last edited by Bo3b; Feb 13, 2021 @ 5:29pm
Cer Feb 14, 2021 @ 3:56am 
To me it looks like the double launch is a perfect explanation to what is happening. I can even observe that the DLLs are disabled before the game comes up. I believe that telling the epic store to launch the game would be the best approach.

But I have some troubles with your directions...
On the profile page for the game in HelixVision, click on the Profile Folder button
Didn't find it there...the button is on the "Play" page but only when I switch HelixVision to hacker mode. Only then I have the circular arrow button to reload the profiles.
You can find the App ID by making an EGS shortcut
In the epic games launcher there is no option to create a shortcut, also the game is not installed in a "Epic" folder but in "D:\Origins". The shortcut that was created during installation just points to the exe file (as HelixVision does).
change the info.ini so that "renderApi=DirectX9", which will tell the launcher to use a different approach, which still use the "waitFor=22" time
There is no "waitFor" but I guess you mean "waitTime". There is also a "waitForExe".
This sounds "wrong" but actually always start the game in 3D without issues.
set the game exe in the profile as a StartAdditionalExe parameter with the WaitForExit checked
Finally found that button, its seen in hacker mode on the left side below the games list and labeled "Edit".
There I removed the steam app id (as I don't have it on steam), changed Start Parameters from "Start via Steam App ID" to "Start via Game Exe" in addition to what you wrote ("Start additional Exe" -> Wait for exit and choosed game exe with button "Pick File". Not sure if needed when editing this way, but I triggered a all profile reload.
However, this did not change anything. Maybe its tripple loaded as judging from the windows poping up it seems that epic starts origin which then again starts epic and only then starts the game. For HelixVision you need to find a mechanism to deal with such multi launcher games. Maybe an option to not quit when the game exists but wait some time if it comes back.

So, now that the game starts with the DX9 trick, it seems I can't play it with my specs. I set everyting that was epic to high and render resoulution to the (by katanga?) suggested values to about 2k x 2k. The ingame graphic doesn't look that nice, its much better on the 1440p monitor, but still the game freezes when I open the in game menu. Also running arround doesn't feel comfortable. I guess I have to get myself a used RTX 2080 Ti once they are available at a regular price. After my tests with Samsung Gear VR and Quest 2, I must say that I have only fun when the picture is clear (like in the G2 at full resolution).
Bo3b  [developer] Feb 14, 2021 @ 6:40pm 
Originally posted by cer:
To me it looks like the double launch is a perfect explanation to what is happening. I can even observe that the DLLs are disabled before the game comes up. I believe that telling the epic store to launch the game would be the best approach.
Probably we will bring back the waitTime parameter for DX11 as well. This is the first report of a problem in the DX11 case, so our normal mechanism has been working well. Leave it Epic to break things yet again.

Didn't find it there...the button is on the "Play" page but only when I switch HelixVision to hacker mode. Only then I have the circular arrow button to reload the profiles.
Yes, sorry, most of the advanced options are only visible in hacker-mode. Glad you found it.

In the epic games launcher there is no option to create a shortcut, also the game is not installed in a "Epic" folder but in "D:\Origins". The shortcut that was created during installation just points to the exe file (as HelixVision does).
You need to click the ... menu on an given game in the EGS. In the menu you'll have a create shortcut option. It might be a straight exe launch in this case, but it's worth checking.

change the info.ini so that "renderApi=DirectX9", which will tell the launcher to use a different approach, which still use the "waitFor=22" time
There is no "waitFor" but I guess you mean "waitTime". There is also a "waitForExe".
This sounds "wrong" but actually always start the game in 3D without issues.
The watiTime= is a hidden parameter only found in the text file info.ini. As a general rule no one has any need for it now, but we are hacking around trying to find a combo that works.

When in hacker-mode, on the Play tab of HelixVision for the game, on the right side you'll see 4 buttons. One of which is named Profile Folder. That takes you to the profile settings folder for the specific game where you can find the info.ini and other HelixVision profile settings. The default in the file is waitTime=22, which should be enough to handle this problem, so probably unnecessary to edit it.

The use of changing the API version is just a hack to launch Katanga in a different way to create the 22 second stall before it tries to connect. Never used it this way before, but I tested it here as working.

Finally found that button, its seen in hacker mode on the left side below the games list and labeled "Edit".
There I removed the steam app id (as I don't have it on steam), changed Start Parameters from "Start via Steam App ID" to "Start via Game Exe" in addition to what you wrote ("Start additional Exe" -> Wait for exit and choosed game exe with button "Pick File". Not sure if needed when editing this way, but I triggered a all profile reload.
However, this did not change anything. Maybe its tripple loaded as judging from the windows poping up it seems that epic starts origin which then again starts epic and only then starts the game. For HelixVision you need to find a mechanism to deal with such multi launcher games. Maybe an option to not quit when the game exists but wait some time if it comes back.
Sorry for not being clear about hacker-mode.

I wasn't sure this double launch would work or not. This multiple game store idea makes for a terrible user experience all around, and causes weird problems like this for modders.

So, now that the game starts with the DX9 trick, it seems I can't play it with my specs. I set everyting that was epic to high and render resoulution to the (by katanga?) suggested values to about 2k x 2k. The ingame graphic doesn't look that nice, its much better on the 1440p monitor, but still the game freezes when I open the in game menu. Also running arround doesn't feel comfortable. I guess I have to get myself a used RTX 2080 Ti once they are available at a regular price. After my tests with Samsung Gear VR and Quest 2, I must say that I have only fun when the picture is clear (like in the G2 at full resolution).
Bummer. Glad to hear you at least got it launching and connecting.

Experiment with some settings. I think that you can get this looking pretty good with some tweaks.

The two key parameters are the in-game resolution, what the game is drawing. That should be no higher than 1080p for your setup. I've not used a G2, but 1440p on a Vive Pro is barely distinguishable from 1080p.

The second key parameter is super-sampling in SteamVR. I don't know what they set by default, but ResolutionPerEye is the setting. It would be worth trying that lower. I've run 1600x1900 there with fairly good results on a GTX 970.

You may not be able to find a combo that works for you- all VR is lowish resolution, including G2. It's not currently possible to have a screen-like environment that is 1440p caliber inside VR. Even 2080ti is not sufficient to drive these resolutions for full AAA games.


The uncomfortable aspect of it in VR is because you are topping out your GPU, drawing too many pixels. If it's running at 100%, that means the Katanga/mirror VR app is being starved for resources and is dropping frames. You want to keep something like 5% headroom on the GPU so that the VR experience itself is not starved.

The easiest way to do that is to set the frame rate limiter in HelixVision. Go to the Settings tab, and then to the DisplayProfiles sub-tab. In there, you'll find the VR Profile. Set the FrameRate limit to 30 as an even multiple of the HMD 90. The game was designed for 30 fps console play, so this is actually a better match for this game. I've played all the way through this game at 30 in HelixVision, and it's a good experience. Setting to 30 might give you enough headroom to avoid the stutter in VR, and also maybe to up the SuperSampling.

It's worth experimenting with, but it's possible you will not find a combo that you like with this game, it's very demanding. BTW- the reason this is so demanding here is not the VR aspect, it's that true geometric 3D requires drawing the game a second time for the second eye perspective. So we double the load on the GPU just for 3D Vision itself, but that is where the magic of stereo comes from.
Cer Feb 14, 2021 @ 11:12pm 
Thanks again for the detailed explanations!

In the epic games launcher there is no option to create a shortcut, also the game is not installed in a "Epic" folder but in "D:\Origins". The shortcut that was created during installation just points to the exe file (as HelixVision does).
You need to click the ... menu on an given game in the EGS. In the menu you'll have a create shortcut option. It might be a straight exe launch in this case, but it's worth checking.
Yes, I checked that. For that game this option is missing. Pretty much all options are missing, I have only "Go to store" and "uninstall". All the usual options like "Update" or "Repair" are found only in the Origin store.
The default in the file is waitTime=22, which should be enough to handle this problem, so probably unnecessary to edit it.
That is enough wait time, I did not change that.

If you ever can you should check out a G2, it really looks much better if you can supply it with the full resolution. I yet have to test Jedi with 1440p but I am sure it will look better (if it starts at all). Probably I have to lower in game settings to medium and also will try 30fps. However, in the end I will need a 2080 Ti.
I will also try your experimental SuperDepth3D, but all this testing takes time and weekend is over now, But I will report back once its done.
Last edited by Cer; Feb 14, 2021 @ 11:15pm
Cer Feb 22, 2021 @ 11:50pm 
Today I gave it another try in 1440p resolution. I had to "Play in VR" about 5 times before I got past the crash. I observed that in the game folder the dll got renamed to _disabled way before the actual game started. I can maybe try to incease the wait time, but 22 seconds did not pass. The DX9 trick was still there.
When it finally worked, the menu was much prettier in 1440p, I think that is the resolution to go with the G2. However the game crashed silently when I try to load a saved game. Probably my hardware is just not good enough.
< >
Showing 1-15 of 16 comments
Per page: 1530 50