Revive icon indicating copy to clipboard operation
Revive copied to clipboard

Linux

Open Patola opened this issue 5 years ago • 131 comments

Is there any way to get revive running on Linux? Valve Index works on Linux perfectly through SteamVR. Which now offers OpenXR. But I'd like to play Asgard's Wrath and other oculus-exclusive games. And I will not sign the Microsoft EULA and install Windows.

Patola avatar Jun 14 '20 07:06 Patola

Can you even install the Oculus runtime and get it running through Wine? If not, then that's already a show stopper. If yes, you could try to install one of the free games from the Oculus store and then run the ReviveInjector.exe manually through Wine.

I'd say chances are slim, but depending on which step breaks, there may or may not be options.

fholger avatar Jun 14 '20 07:06 fholger

Oh. I see... Tried both the legacy runtime and the newer one. Didn't even install...

Patola avatar Jun 14 '20 08:06 Patola

Then I'm afraid, until Oculus decides to support Linux as a platform, there's nothing to be done...

fholger avatar Jun 14 '20 21:06 fholger

it's a shame not much can be done here. I'm very interested in seeing Oculus Rift games working on Linux someday. There's not much I can do feasibly by myself, but I could at least get a conversation going on what hurdles would need to be overcome to make Rift games a possibility.

So it's already established that the lack of a runtime is an immediate non-starter, so a few solutions may come to mind. Either... A.) the Oculus Runtime is reverse engineered somehow B.) the games are tricked into running on a different runtime (like Monado perhaps)

Honestly I'm mostly spitballing ideas, of course neither of these would be easy, but I thought I'd get the conversation going. Some feedback or responses would be appreciated 🙂

BoofOof32 avatar Oct 02 '22 01:10 BoofOof32

(B) Is exactly what Revive does by translating Oculus SDK calls to OpenVR or OpenXR.

Proton already has support for OpenVR and OpenXR. And since you can theoretically run Revive under Proton it doesn't need a Linux port.

Your main obstacle is getting the Oculus store to work, but Steam has some Oculus exclusives itself. So all that's needed is for someone to try it.

CrossVR avatar Oct 02 '22 10:10 CrossVR

Has anyone tried running revive under proton, and successfully downloaded and launched a game from the oculus store using that?

ShadowJonathan avatar Oct 02 '22 11:10 ShadowJonathan

I might be onto something.

So I got SteamVR installed and ALVR going, now onto Revive. I added the installer as a Non-Steam game, ran through proton, which then installed Revive into it's own prefix in ~/.steam/steam/steamapps/compatdata/2539255137/pfx/. I then went to the properties of the installer and redirected the target to ReviveOverlay.exe. To my surprise, doing that made the Revive icon appear on the dashboard in SteamVR. Screenshot_20221002_181503

Now of course it can't find any Oculus games, as the Oculus Launcher isn't installed, so I yanked Lone Echo from my Windows drive and tried to see if I could inject it. Screenshot_20221002_181230 I'm not super surprised as there's no Oculus SDK to really initialize.

I have one more idea, and that is to copy my entire Oculus install into Revive's Proton prefix in the hope that it'll detect the installed games, but otherwise, I'm not sure what else I could do here.

I'll be back to report my findings

BoofOof32 avatar Oct 03 '22 01:10 BoofOof32

alright, so unfortunately, taking my Oculus Launcher install and putting it into the same prefix as Revive didn't really change anything :slightly_frowning_face:. The games didn't appear on the dashboard, and injecting still doesn't do anything.

I'd love some more ideas or suggestions, but I'm not quite sure what else I could do.

BoofOof32 avatar Oct 03 '22 03:10 BoofOof32

@BoofOof32 Simply copying the Oculus launcher install won't work, because the Oculus runtime will not have installed correctly. Try actually installing the Oculus Store in the same prefix as Revive. Though I'm not sure if running Oculus Store games will even work under wine, because it needs a background service running for platform functionality like entitlement checks.

It's probably easier to start with a Steam game that only has Oculus SDK support if you have any of those. All you need then is the xinput proxy, the Revive DLL and a wine DLL override. I've started an appveyor build that includes the xinput proxy, I'll add some instructions for this part later. Do you have an Oculus-only title in your Steam library?

CrossVR avatar Oct 03 '22 03:10 CrossVR

I would try installing the Oculus launcher, however, there's still some bugs in Wine that would need to be resolved before that's feasible. There's a workaround to bypass the error that there's "not enough disk space", but after a few GB in, it errors out in another way

I'm digging around for Oculus only titles on Steam, but they're hard to find, and I don't have any on me. If someone could link a game like that (ideally free or cheap), that'd be appreciated

BoofOof32 avatar Oct 03 '22 03:10 BoofOof32

also, i just realized that latest commit didn't build successfully in Appveyor, strange

BoofOof32 avatar Oct 03 '22 07:10 BoofOof32

Yeah my bad, forgot I deleted the xinput proxy at one point. Anyway might be better to try a standalone Oculus app then? You can just run that using the injector.

For games from the Oculus store you'll indeed need to wait for Wine to fix it, there's nothing for Revive to do there.

CrossVR avatar Oct 03 '22 11:10 CrossVR

Ok, so I did manage to find one Oculus only SteamVR game, that being DiRT Rally. Even though It's "VR supported" according to Steam, however it doesn't appear as one in my actual library.

I made sure to run the Windows version of DiRT Rally, and when I'm VR, it will only run in standard flatscreen mode. Injecting it with Revive didn't seem to do really do much, in fact, it didn't even open the game. Scrounging around the games files, I see no mention of anything VR or Oculus related, so I'm wondering why the store page said it supported it to begin with. I may be missing a step potentially.

BoofOof32 avatar Oct 03 '22 23:10 BoofOof32

Ok, so for that one you'll need to install Revive 2.1.1 and follow these instructions: https://github.com/LibreVR/Revive/wiki#standalone--steam-games-alternative

Make sure to follow the 32-bit instructions as Dirt Rally is a 32-bit game.

CrossVR avatar Oct 04 '22 03:10 CrossVR

hmm, I'm not sure what I'm doing wrong. I gave the game the 3 DLLs mentioned above. But I'm still not having any luck with it. Whether I'm starting from Steam or injecting again :/

BoofOof32 avatar Oct 04 '22 07:10 BoofOof32

My bad, forgot to mention you need to add this to the launch options for Dirt Rally in Steam:

WINEDLLOVERRIDES="xinput1_3=n,b" %command%

CrossVR avatar Oct 04 '22 07:10 CrossVR

sorry for the late response, I tried the launch command, no dice sadly. Still launches normally. I'm wondering if I should install Revive in the same prefix as DiRT Rally. I'm not so sure

BoofOof32 avatar Oct 05 '22 00:10 BoofOof32

it's been a hot minute since I came back here, but I'm throwing in the towel for now. I think for now, if we want to have any chance of this happening, the Wine bugs will need to be fixed for the Oculus Launcher. I will continue to maintain the appdb page for it on Winehq, but otherwise, I won't be much of use here :(

BoofOof32 avatar Oct 27 '22 00:10 BoofOof32