5 items

File information

Last updated

Original upload

Created by

patcher by lobotomyxyz - VDXR and modified DLL by mbucchia

Uploaded by

lobotomyxyz

Virus scan

Safe to use

Tags for this mod

About this mod

Greatly improve performance and tracking if you own an oculus headset but bought through steam!

Share
Requirements
Permissions and credits
Mirrors
Changelogs
New patch uploaded please replace your local copy with new version, there are many improvements and all outstanding errors should be addressed


Confirmed still working in 1.0 and I've uploaded a script that can automate the process! If you have the game installed to the default steam library in C then you can run this from anywhere, otherwise you need to place it anywhere in the game directory. The dll file must be in the same directory as the exe! If the exe doesn't run at all you need to install python 3.12 from the windows store or the official site. Also this should be obvious but install VD and run the game before you attempt to use this. 

If you get an error please move both files to the game directory and try again as admin with all relevant programs  closed. If that doesn't work just follow the tutorial below, it will be much faster for all parties involved, but you can still inform me of the error. If you get an unhandled error it will spit out a txt file next to the patcher that you can include the text from, other cases are likely user error.

The patcher can be reused in case of game updates or if you need to verify files. Just keep the exe and DLL anywhere in your game directory (Can be in a new folder of its own) and run it whenever you're unsure. There's no way for the patcher to harm your game or PC so rerun as needed.

For actual usage make sure to have the headset awake and connected and ensure both controllers are active by pressing a button and wait for the rumble. This will change your controls slightly as the steamVR menu key becomes another game menu button. If you see steamVR startup or if pressing the steamvr button brings up that menu instead of the game menu you will need to close the game and close steamVR through virtual desktop. Ensure your virtual desktop runtime is set to automatic or VDXR as seen in the mod images. You can safely leave it on VDXR mode without interfering with SteamVR titles unless there's a game you specifically do not want to run with VDXR, and even then you can usually force steamVR by first launching steamVR from virtual desktop and then launching that game.

Performance recommendation: If you don't have a good enough PC  to maintain 90 or 120 FPS (so 99% of us) then you should consider using the synchronized space warp (SSW) feature in Virtual Desktop with your FPS in VD set to 120. Effectively this means you'll be targeting 60 FPS with additional extrapolated frames inserted. If you've used the Oculus ASW feature at 90 FPS that feels not unlike having a seizure you may be wary to try SSW but its worth giving a shot. Not only is SSW visually better than ASW, but aiming for 60 FPS instead of 45 is enough to make it very playable while also being easier to achieve than 90 FPS. The extra frames are generated headset side and won't introduce latency or FPS drops. You can set to automatic which will aim for true 120 and engage the system only when frames drop below threshold (like 115 or something) or you can set always enabled for a more consistent experience. I play with automatic on VD high settings with a 4070 and 7900x and it only rare activates but when I had a 3060 TI this feature was a lifesaver.

Also worth noting that you should be able to launch BAS from the VD games menu and make this work. You can also run it by right clicking the VD icon in system tray and choosing launch an executable, or by making a batch script. These were helpful with the alternative libovr runtime VD used to offer before VDXR but these shouldn't be necessary anymore. Still, for completeness' sake you can enter the following in a text file and save it as VD.bat next to your BAS executable (the extra commands aren't necessary I'm just showing how to format them if you want to use them):

"C:\Program Files\Virtual Desktop Streamer\VirtualDesktop.Streamer.exe" "BladeAndSorcery.exe" -skipintro -level arena
This may work with non-oculus headsets like the Pico 4 but I can't verify that it works or if its helpful at this time. Please refer to official VD/VDXR channels for that info or feel free to test it out and share your experience for others to see

Source code is
available on Github. If you are aware of another game with similar requirements to use VDXR feel free to fork the script and adjust it accordingly. The exe was compiled using pyinstaller

Original guide continues below, please check it thoroughly in case of issues before leaving a comment:

I initially just wrote this as a text guide on reddit but I recalled that the dll in question is under MIT license so I can just go ahead and reupload here along with my guide that follows below. Please do not try to install this like a normal mod or use vortex. That will NOT work. Just read my guide, its very simple.

Will keep this brief and assume you know or can find out what vdxr is yourself. In any case this has been possible for some time now but the only commonly known method involved removing the steamworks stub from the exe which is effectively the same as DRM removal for piracy and obviously not something I felt comfortable sharing. Basically the reason is because game authentication happens at the same time as the runtime is initialized with steamvr always being a fallback
I recently found a better way that was not known when vdxr first released, but held off on sharing it because following some vd updates that for whatever reason made it so you had head control but no functioning controllers. That issue is resolved now either because of a step I found or due to updates to VDXR. So make sure you are on the latest version of VD.
  • open virtual desktop and select vdxr runtime. don't bother with a runtime picker, those only complicate things (xrpicker is fine if you must)
  • ensure ALL steamvr or vrdashboard processes are dead
  • verify files or redownload the game fresh, maybe disable mods during first test
  • navigate to "%appdata%\Virtual Desktop\GameSettings.json" via run command or address bar and locate bladeAndsorcery.exe. Initially mine looked like this
"629730": { "OpenVRSupport": true, "OtherVRSupport": true, "Executable": "BladeAndSorcery.exe", "Arguments": "-vrmode openvr" }

change it to "629730": { "OpenXRSupport": true, "Executable": "BladeAndSorcery.exe", "Arguments": "-vrmode oculus" },
This is the new thing I forgot to do before which may be the reason controllers didn't work. Changing it back didn't break them again so it may just be that some updates to VD helped, but I would still do this step. Also ensure "Forward tracking data is disabled" in the headset app

5. Ok now for the actual fix. Download this archive from the VDXR repo and extract its contents into your plugins/x86_64 folder, overwriting the contents. This can be easily fixed by verifying files so no need to backup. if anything back up the patched version. (I've kept the link from the reddit post but you can also download it in files section here)

6. Disable updates  Set steam to always launch BAS in OCULUS mode. You can launch through the VD UI or steam directly. While you can't outright disable updates if you set them to only apply on game launch and leave steam in offline mode when launching BAS it won't update. However this is no longer necessary as you can just leave the patcher in your game folder and launch it after updates. This may not even be necessary with all updates, but its a good practice step to take.

7. If at any time you see a steamvr window pop up, close every steamvr process, close the game and all steamvr processes and start again from step1. If done correctly your VD perf display should say VDXR, your menu button should now be the oculus menu key, you should have better performance and graphics by a small margin, and weapon handling should be much better due to removing steamvr serverside controller prediction


That should be all there is to it. hopefully this helps someone out. I may make a video guide but I am behind on some youtube content anyway so that would be at a later date. Shameless plug, but now that you've upgraded your overall experience, you can take it a step further with my mod grip flipper which brings back an old popular mechanic with many improvements that pair nicely with your newly improved gameplay



** (moved to bottom of the page to make this less visible while still keeping the information available as a good faith gesture)
Unfortunately you can't use the trick we use in skyrim to avoid updates which is to just move the game folder outside the steam library, due to that embedded steamworks stub. Without that stub you can have the game files anywhere and launch in VDXR by making a bat file with "path to virtual desktop streamer" "path to bas.exe" but even that doesn't seem to work here. I really can't recommend that method as it may violate TOS and breaks modio support. Actually if done incorrectly you can even accidentally alter base addresses used for hooking some mods, breaking those as well. It is avoidable but I'm not going to teach you how nor will you find the answer easily without rev-eng programming knowledge, I just wanted to lay out the facts properly. This is fully legal if done to your own copy and not distributed but there really isn't a benefit so stick to this compliant method, please. I am not in any way condoning piracy or violating rules around it but I'm not going to lie or omit relevant info. I mean essentially all I've said is "removing drm removes drm"