ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.49k stars 1.07k forks source link

Subnautica VR (264710) #613

Open vpelletier opened 6 years ago

vpelletier commented 6 years ago

Debian sid Linux 4.17.17 CPU i7-6700 GPU GTX 1060@6GB Nvidia 396.51 Proton 3.7-4 Vive pro

Bug 1: Gamepad support. I could not go past the menu as controller input does not work (PS3 gamepad connected by bluetooth, correctly detected by steam, no reaction in-game).

Bug 2: Performance. The first start after install is butter smooth, subsequent have extremely poor FPS (2~4fps maybe ?). Some caching gone wrong ?

Bug 3: Audio. Sound in VR headset is very distorted, while it is fine on speakers (via HDMI).

aqxa1 commented 6 years ago

Although I don't know if this applies to the VR version (if it differs), other users have played the standard game with "-force-glcore45" launch option, which should perform better than having to translate from D3D11 -> vulkan/OGL.

vpelletier commented 6 years ago

-force-glcore45

With this option, game does not display in the headset, only on-screen, and there is no head tracking. (EDIT: "no head tracking" meaning that, unlike when VR is working, on-screen game output does not follow headset movement)

The first start after install is butter smooth, subsequent have extremely poor FPS (2~4fps maybe ?). Some caching gone wrong ?

Looking more carefully, this is wrong: when keeping the headset still, I can see the waves in menu background scene are moving smoothly. It is rather the headset tracking which is very shaky (either position is updated at most 4 times per second, or maybe it is the orientation snapping back to a previous position... unsure).

Also, while doing back-and-forth with steamvr configuration page open, I noticed that there were fewer missed frames when I was not looking into the headset... It appears to be the waves which are somehow causing the stutter: looking up far enough so the waves are off-screen and not rendered, headset suddenly tracks smoothly.

vpelletier commented 6 years ago

Steam - System Information

rickisen commented 6 years ago

I have a similair/same experience.

I can get subnautica to launch in vr and with headtracking working but only if I remove all launch options. However xbox-controller input is not working. Neither is mouse or keyboard.

And I get the same graphical glitches (some shaders are transparent) as when I run subnautica normally without "-force-opengl" or "-force-glcore45".

Patola commented 4 years ago

It launches with Proton 4.11-13 but not with Proton 5.0-9 or Proton 5.13-1, with this window appearing when launching in VR (launching in pancake mode works): 2020-10-31_15-39

kisak-valve commented 4 years ago

Hello @Patola, please add PROTON_LOG=1 %command% to the game's launch options, reproduce the regression, and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.)

Patola commented 4 years ago

...which I should have done from the beginning, dumb me. Sorry, @kisak-valve. Here it is, in all its glory, the steam-264710.log file! steam-264710.log

alasky17 commented 4 years ago

@Patola It seems that Subnautica VR was disabled on purpose in DXVK 1.7.2 https://github.com/doitsujin/dxvk/commit/07fee4a0e538fb95d40809c3048b591cf5268f8f That DXVK commit was included in Proton 5.0-2.

I couldn't find a specific DXVK issue pertaining to that commit, but it could have been a victim of https://github.com/doitsujin/dxvk/issues/1245 . That bug has been resolved in the steamvr client, so I asked @doitsujin to confirm if this game was blacklisted due to that bug (in which case that could be reverted) or for another reason.

Patola commented 4 years ago

Well, that was... Interesting to test. I downloaded dxvk 1.5.4, a release a few days earlier than the DXVK patch that disabled the openvr DLL in Subnautica ( doitsujin/dxvk@07fee4a ), and installed it via setup_dxvk.sh in subnautica's pfx path, and changed proton back to 5.13-1. The game started and was oriented by the Valve Index headset, BUT it wouldn't appear in the headset, only in the regular PC screen!

Kiaatix commented 3 years ago

Creating a dxvk.conf file in the game directory with dxvk.enableOpenVR = True works for me.