protonscr

X Rebirth VR Edition

protonopen appid 570420Game compatibility - Unofficial
ValveSoftware/Proton#4020 · opened 2020-06-25 by Patola · updated 2024-12-08 · 17 comments · github · game page · search this game
PPatola 2020-06-25 github

Compatibility Report

  • Name of the game with compatibility issues: X Rebirth VR
  • Steam AppID of the game: 570420

System Information

I confirm:

  • [X] that I haven't found an existing compatibility report for this game.
  • [X] that I have checked whether there are updates for my system available.

Symptoms

Try to launch the game, sometimes a controller pairing window shortly appears, but most times a window appears and then immediately after that a crash diagnostic dialog appears. Then, SteamVR crashes with the game.
screenshot-2020-06-25-21-31-57 png

My Gist with System Information

PPatola 2021-01-12 github

Any clue on what causes the crash?

PPatola 2021-04-05 github

Seems to be that line:
92977.323:0140:0144:fixme:vrclient:ivrcompositor_set_skybox_override Conversion for type 2 is not supported.

also, a little later:
92981.603:0140:0144:fixme:wbemprox:enum_class_object_Next timeout not supported

First one is here:
https://github.com/ValveSoftware/Proton/blob/proton_6.3/vrclient_x64/vrclient_x64/vrclient_main.c#L1260

Maybe support to ivrcompositor_set_skybox_override_vulkan is lacking on proton
steam-570420.log
? Only ivrcompositor_set_skybox_override_d3d11 seems to be present via dxvk.

Ggofman 2024-12-05 github

This should hopefully work with the just updated Proton Experimental [bleeding-edge] branch.

PPatola 2024-12-05 github

Thanks! Yes, it finally appears in the headset, great, smooth graphics!
Only problem is that the controllers don't seem to register -- and when I go to the controller bindings page, it says the title is "WINEOPENXR TEST INSTANCE" (in all caps). So I think it gets the game id wrong. Tried to look for the "X Rebirth VR" title for bindings but it doesn't appear in the list.

Ggofman 2024-12-05 github

Controllers worked for me in the menu at least. Can you please attach PROTON_LOG=+vrclient,+file (without any manual bindings)?

PPatola 2024-12-05 github

Right after you said that, a new update appeared on Proton experimental, and now X Rebirth VR is crashing 2 seconds after the music starts playing, at the start. Even before the menu appears. Tried removing the prefix for it to create again and same thing, it crashes consistently on the same place now.

The proton log follows, with +vrclient,+file as you requested. There are no manual bindings selected for the game, it's on the default.
steam-570420.zip

Ggofman 2024-12-05 github

Right after you said that, a new update appeared on Proton experimental, and now X Rebirth VR is crashing 2 seconds after the music starts playing, at the start. Even before the menu appears. Tried removing the prefix for it to create again and same thing, it crashes consistently on the same place now.

The proton log follows, with +vrclient,+file as you requested. There are no manual bindings selected for the game, it's on the default. steam-570420.zip

Weird... nothing changed in Wine / VR parts after that working update, and this is Vulkan game which doesn't use dxvk or vkd3d-proton. Did you try restarting SteamVR after that, and maybe the computer even? I had some issues with it crashing in SteamVR libs on consequent runs, restart was helping.

So if this is the log before the controllers could be even used, could you please attach the one with attempt to use those in the menu if you manage to run it again?

UPDATE: edited first phrase.

PPatola 2024-12-05 github

I will try that. Will reboot and do it again. BTW, I am using the Meta Quest 3 through ALVR.

PPatola 2024-12-05 github

For good measure I also reinstalled the entire game in a different prefix, so it now worked and generated the log. Tried to interact with the menu and looked at the controller models appearing in the headset -- they were correct and would point in the right direction, but when I pressed buttons it did not appear in the controller, as it usually does.
steam-570420.zip

Ggofman 2024-12-05 github

The game is using deprecated VR controller input system (GetControllerState, GetTrackedDeviceIndexForControllerRole and friends) and not IVRInput. Maybe this issue has something to do with the game or something in the driver path not recognizing the specific controller. It would be interesting to try that on Windows with the same VR system if anyone can do that, although not sure if the same stack can be run there (e. g., ALVR), maybe if that's possible without ALVR with just SteamVR.

In any case, I think it is not much likely related to anything Proton (and more likely related to the driver stack or the game).

PPatola 2024-12-06 github

What controllers did you use? Valve Knuckles? So that I can have a parameter in doing attempts from my side.

Ggofman 2024-12-06 github

What controllers did you use? Valve Knuckles? So that I can have a parameter in doing attempts from my side.

Tried with Valve Index and HTC Vive. Both worked. Menu control was not obvious, especially with Index controllers: it reacts only on trackpad and on Index you have to point to menu item and then click in the middle of touchpad. On HTC clicking aside from touchpad center moves menu selection additionally. But loading in game all the triggers etc. seem to work.

Ggofman 2024-12-06 github

Looked at Meta Quest 3 controllers photo and I have a guess that the problem is that it just doesn't have trackpad? Given the menu in game reacts only on trackpad it would be expected that it can't work. Maybe if you find a way to remap that somehow then in game it should be fine with triggers / joysticks / buttons.

PPatola 2024-12-06 github

Yes, I've tested with a number of stuff and read forums and explanations about it. There are two executables for the game, XRebirthVR.exe and XRebirthVR_Oculus.exe. HTC Vive and Valve Index are to be handled by the former, and Oculus/Meta Quest controllers by the latter, which on Windows expects the oculus runtime to be loaded, it seems. So it might be that unless there is a way to emulate a Vive Controller to XRebirthVR.exe (is there?), the meta touch controllers won't work. I've tried using different VR controls via input remapping, even trackpad inputs, but it didn't work.

The game works with keyboard and mouse controls, though. Maybe I will try and create some mapping from the controllers to that, though it wil be much less immersive (not that the default X Rebirth VR controls are good -- they are horrible, for a time where there was a lot of experimentation with VR controls and no good standards).

But anyway, I am infinitely grateful for all the games you've been able to make me play, @gofman.

PPatola 2024-12-06 github

In the Properties → General of XRebirthVR there are three options: "Ask when starting game", "Launch X Rebirth VR Edition in Oculus Mode" (it seems to just launch XRebirthVR.exe instead on Linux) and "Launch X Rebirth VR Edition in Steam VR Mode" (same thing). When launched from the SteamVR interface, it seems to default to "Steam VR Mode".

One of my attempts was to forcefully call the XRebirthVR_Oculus.exe by doing cmd=(%command%); cmd[-1]="XRebirthVR_Oculus.exe"; "${cmd[@]}" in the launch options. With this change the game just doesn't start, of course. There is no oculus runtime for Linux.

PPatola 2024-12-08 github

Just as a late addendum, I just realized that ALVR itself has options to emulate the Valve Knuckles and Vive Wands. I tried the Valve Knuckles and the controls now work in the game, when VR is started this way. I also recalled why this game has the worse VR controls I've ever seen, lol. I think I will remap quest2 touch controls to keys and mouse and go with it.

Anyway, now the problem is 100% resolved. Game is fully playable with VR motion controls.

Note: to make it work in X: Rebirth VR with a Quest2 or Quest3, go ALVR → Settings → Headset → Controllers → Emulation mode and change from "Quest 2 Touch" to "Valve Index" or "Vive Wand". There is another Emulation mode below that only has 4 options "Rift S", "Quest 2", "Vive" and "Custom" but this one was not the one I used.

PPatola 2024-12-08 github

image

Proton versions

Launch options