Revive is an application that allows select VR games exclusive to the Oculus Home platform to be played on a rival SteamVR-powered HTC Vive headset. A recent update to Oculus Home crippled Revive, an act that has caused outrage in the VR community. What does Revive actually do under the hood? Who's behind it? And are Oculus really doing anything wrong anyway? We take a look at the story so far and speak to Revive's author LibreVR to dig a little deeper. Wherever there is a 'walled garden' in the digital world, there are those who will seek access from the outside. As virtual reality enters the consumer space there are two major platforms vying for the public's attention and money, each with their own content delivery portals. For Valve and HTC's Vive headset it's Steam, for Oculus and the Rift it's Oculus Home. The reason for this separation is hopefully obvious. Both parties know that there's big bucks to be made in distribution. If you can control a customer's gateway to content, you reap the monetary rewards. At least that's the theory. A Question of Content Nothing out of the ordinary so far then. In fact the PC is awash with different content producers' own attempts to control their own slice of the global, online content market, with their own proprietary, mutually incompatible portals. EA's Origin and Ubisoft's uPlay are two of the larger examples, both tend to feature only content from those publishers. In this online content portal space, Oculus Home is most directly comparable with Valve's pioneering Steam portal. Both sell content from multiple publishers and both hold their own exclusive content, games you can only experience via those content portals, generally titles published by the parent organisation. Examples for Oculus Home include Lucky's Tale and Chronos, for Steam it's games like Half-Life and Portal. Both content portals share titles with no exclusivity in place but which have VR support, Adventure Time: Magic Man's Head Games for example. The exclusives may be different, but broadly the approach is similar when it comes to selling and delivering digital content on the PC. It's important to note too that a developer can choose whether or not to publish via Oculus Home or Steam or both, if you're an independent there's no restriction from Oculus or Valve as to where your game can be sold. Oculus' stance on exclusivity was outlined neatly by Jason Rubin, Head of Oculus Studios, in an interview with Road to VR's Ben Lang at GDC in March. Choose Your Platform Predictably, the difference emerges when you look at each platform's approach to VR headset support. In order to develop games compatible with either headset, you must do so against that headset's SDK. The Oculus PC SDK currently only supports one headset: the Rift, with no official way for other headsets to tap into games made for it. Valve's OpenVR SDK, which powers the HTC Vive, is designed such that headset makers can make their VR headsets compatible with any title that works with OpenVR. In fact, Valve has built their own Rift integration for OpenVR, allowing games written for the Vive to work with the Rift as well. To put it more simply: Content written for the Oculus PC SDK can only be played on an Oculus Rift and can't officially work on the HTC Vive. However, OpenVR has an official means by which any headset can access games built for it. Oculus is of course building their own titles (and those they are publishing) with the Oculus PC SDK, which means Vive users can't play them even if the headset can technically be made to work with those games. Inevitably, given the cost of both consumer headsets, most people can only realistically entertain the prospect of buying one. However, if a game is exclusive to one platform, especially if that game is sought after, it's frustrating for those left out. This isn't new of course. We've had this broadly analogous situation in the console space for years now, the difference here is that most people would regard the PC as a unified, open platform, especially when it comes to the choice of which hardware you use with the games you own. And that difference is key. PC gamers for instance have always had the expectation that no matter which keyboard or monitor they choose, their games will work across any of them. Enter Revive Revive is an injection driver project created by developer LibreVR which aims to bridge the growing software gap between Oculus Home and SteamVR. It enables the use of select Oculus PC SDK exclusive content on the HTC Vive, so those who aren't lucky enough to have access to both headsets can enjoy them. As you can imagine, word of the application spread quickly among HTC Vive owners, with users gleefully posting their impressions of Oculus exclusive content played inside the Vive. In most cases users still have to purchase the games they played no matter which headset they wanted to play them with, however some situations enabled by Revive allow games to be played without a user paying (even if this wasn't the intention of Revive's developer). Just last week however, Oculus released an update to its Home which altered the ways in which the platform checked a user's so-called 'Entitlement' to applications launched through it, breaking Revive in the process. We approached Oculus for a response to the recent updates and the re-jigging of their DRM. They responded with this statement: Our latest software update included several new features, bug fixes and security upgrades, including an update to our entitlement check that we added to curb piracy and protect games and apps that developers have worked so hard to make. This update wasn’t targeted at a specific hack. When we first learned about hacks that modify our software to interfere with the security, functionality and integrity of the Oculus ecosystem, and allow games to run outside the scope of our QA, testing and support, we immediately notified the community that we will not be supporting or maintaining the long term usability or quality of hacked software. We take the security, functionality and integrity of our system software very seriously and people should expect that hacked games won’t work indefinitely as regular updates to content, apps and our platform may break the hacks. Why was the update necessary? The added security improvements were designed to curb piracy and protect content and developers over the long term. FYI regarding entitlement check - It’s functionality that’s common in commerce platforms that validates a user has purchased a piece of software. In short, Oculus asserts that it responded to what it saw as a hole in its content platform which could potentially allow the circumvention of security measures put there to protect intellectual property present on the Oculus Home platform. 'Revive' Creator Q&A We wanted to get a deeper understanding of the original exploit, the subsequent patch, and Revive's recent fix which once again restores HTC Vive functionality to some Oculus Home games, so we fired a series of questions over to the LibreVR, the creator of Revive. RtoVR: Can you describe what Revive is, what it does, and why you created it? LibreVR: Revive allows Vive users to play games that have support for the Oculus Rift. I created this software because I wanted to play Oculus games on my Vive headset. I also strongly believe that VR should not have artificial barriers preventing users from playing certain games just because they bought a different headset than the rest. RtoVR: Do you think Oculus had legitimate reasons for patching the method by which Revive worked? LibreVR: ...depends on your definition of "legitimate reasons". It was certainly added to make it harder for other headsets to run Oculus Home games, even if it wasn't aimed specifically at Revive. RtoVR: With the extra steps you've had to put in place to re-enable Revive in response to Oculus' 1.4 update, in what theoretical ways (if any) might be re-purposed to allow piracy of Oculus Home content? LibreVR: I don't want to elaborate on that point, but it disables the ownership check so you can understand what that means for piracy. RtoVR: Broadly speaking describe how Revive works? LibreVR: The Oculus software consists of a number of major components, the most important of which are the Oculus Runtime and the Oculus Platform. The Oculus Runtime is the component that VR games talk to when they identify the headset, get tracking information and send rendered frames to the headset. Revive works by patching the game to use a different implementation of the Oculus Runtime that redirects all this communication to OpenVR, which is used by the Vive headset. RtoVR: Can you describe how the recent Oculus Home update broke Revive functionality? LibreVR: VR games also communicate with the Oculus Platform to check whether you own the game (the Entitlement Check) and for online functionality such as matchmaking and micro transactions. Revive previously left this component alone, since it was not necessary to patch this component to play games on the Vive. However since the update they changed the Entitlement Check to not only check whether you own the game, but also check whether you have an Oculus Rift headset connected. The Oculus Platform patch is still only working for Unreal Engine games, there are quite a lot of Unity Engine games that need a different patch. RtoVR: After a brief period after the Oculus Home update to 1.4 broke Revive, you now have it working again, can you detail how you managed it? LibreVR: The Oculus Platform doesn't have any more protections against patching than the Oculus Runtime. So it was patched using the same method which saved a lot of time. The Oculus Platform is not as intrusive for the user as other DRM solutions that are much harder to patch. But since Revive now needs to disable the Entitlement Check that means that any improvement to their anti-piracy measures will also affect Revive. RtoVR: What are your views of Oculus' approach to handling this matter? LibreVR: I understand why they would do this, but it's not a very strategic move. By integrating your vendor lock-in checks with your anti-piracy checks you are setting up homebrew developers against your anti-piracy measures. RtoVR: Oculus states in their official response (as above) that their latest actions were to prevent 'hacks' like Revive compromising the "functionality and integrity of the Oculus ecosystem", in their eyes breaking QA testing scope and safeguards against piracy. Do you think those concerns hold up with reference to Revive? LibreVR: I didn't break their piracy safeguards until their update left me with no other option. RtoVR: How do you view the different approaches taken with regards to software integrity and piracy between Steam and Oculus Home? LibreVR: They're quite similar, but SteamVR hasn't added any hardware checks, in fact they officially allow third-party drivers. RtoVR: What are you plans for Revive? Does it have a long term future? LibreVR: I will continue to work around artificial barriers between the different VR hardware. I hope Revive doesn't need a long term future and that the VR industry eventually comes together to form a truly open standard for VR devices. Oculus declined to respond directly to LibreVR's answers, however they sent us this official statement: This is a hack, and we don’t condone it. Users should expect that hacked games won’t work indefinitely, as regular software updates to games, apps, and our platform are likely to break hacked software. Continue Reading on Page 2... Past Parallels and Our Take on the Present [caption id="attachment_44310" align="alignright" width="250"] George Hotz[/caption] If this is all strongly reminiscent, it should be. This sort of stand off between community and corporation has happened before, on many platforms. Sony's battle to keep it's PlayStation 3 console secure and free from home brew software (and, unfortunately, piracy) versus the formidable hacker Geoh0t (aka George Hotz). The cat and mouse chase between Sony and Hotz and other members of the hacking community, with each successive closing of exploits via firmware updates seen as the next new challenge, and subsequently beaten, continued until Hotz was sued by and settled with Sony. Apple's seemingly endless fight to prevent their iOS operating systems from circumvention via exploits known as 'jailbreaking' is another striking parallel. But has Oculus done anything wrong here? That's an open question of course and depends on your point of view. In terms of protecting IP within Oculus Home, it does seem like a logical step "to curb piracy and protect content and developers over the long term," after all, if for whatever reason a developer wants to distribute content only for the Rift, it's up to Oculus to make sure that desire is protected, but it certainly goes against the grain of PC gaming, where traditionally once you own a game you can run it on a broad array of hardware. [caption id="attachment_45443" align="aligncenter" width="640"] Oculus Home is the company's curated distribution portal which on PC only supports the Rift headset.[/caption] As LibreVR alludes in their Q&A above however, it's difficult to accept Oculus' actions as purely one of DRM protection and assertions that Revive wasn't the catalyst for the change has been questioned by the community. The previous exploit didn't tamper with the so-called 'Entitlement Check', the bit that checks a user owns the software he or she is trying to run, merely the game-level check that the 'correct' VR headset was connected. So viewing the Home 1.4 update as anything but a move on the part of Oculus to ensure only the Rift can be used with Oculus software feels like a tough sell. With that said, I'd never presume to know what concerns Oculus may have had relating to Revive's original methods; after working in web hosting for some 20 years, there are some security vectors that are obscure and unwise to elucidate upon. [caption id="attachment_35162" align="alignright" width="325"] Oculus Founder Palmer Luckey | Photo courtesy Oculus VR, LLC[/caption] Oculus' desire to create a curated and in many cases exclusive content portal is far from new. The real issue largely stems from mismanaged expectations. More specifically, that Oculus Founder Palmer Luckey has said that the company is not interested in forcing people to use only Oculus hardware to play their games, even those financed and published by them. One Reddit response in particular, in a rather heated thread is probably the best example: If customers buy a game from us, I don't care if they mod it to run on whatever they want. As I have said a million times (and counter to the current circlejerk), our goal is not to profit by locking people to only our hardware - if it was, why in the world would we be supporting GearVR and talking with other headset makers? The software we create through Oculus Studios (using a mix of internal and external developers) are exclusive to the Oculus platform, not the Rift itself. The issue is people who expect us to officially support all headsets on a platform level with some kind of universal Oculus SDK, which is not going to happen anytime soon. We do want to work with other hardware vendors, but not at the expense of our own launch, and certainly not in a way that leads to developing for the lowest common denominator - there are a lot of shitty headsets coming, a handful of good ones, and a handful that may never even hit the market. Keep in mind that support for the good ones requires cooperation from both parties, which is sometimes impossible for reasons outside our control. So whilst you could argue Oculus has every right to actively prevent circumvention of the exclusive aspects of their platform, or even that as a corporate entity they're also entitled to prevent software to be used on non-Oculus hardware, the above quote may have lead some to believe otherwise, and may have influenced their VR headset purchase. Luckey is well respected among VR enthusiasts and his words carry weight; in the absence of any other official rebuttals of this statement, what other expectations should users have had? Luckey's comments above may hint at frustrations with the current situation, a possible inference from "impossible for reasons outside our control" that Oculus had attempted to bridge the headset compatibility gap at some point but hit an impasse. And yes, whilst Oculus may well be backed by megacorp Facebook, it's difficult to see Valve as the the plucky underdog in this story, holding as they do keys to the biggest online distribution portal for PC games in the world. Those with long memories will remember that Steam, launched alongside Half-Life 2 in 2004, has itself travelled a long and rocky road before it reaching its current levels of ubiquity and success. The lingering question is: will Oculus' approach to LibreVR's Revive and any others that appear in the future mark the company out as anti-consumer or even that they're actively stifling the proliferation of VR as a platform? Those are sentiments you'll see a lot trawling the many, many discussions on this topic and one I'm not sure any of us can answer just yet. It's certainly not winning them any PR wars right now, and on the back of their continuing difficulties to get the Oculus Rift headsets into people's hands, this latest fiasco has come at a bad time. We'd love to hear your thoughts on the subject Revive Vs. Oculus Home, feel free to vent your support or frustrations in the comments section below.