Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Oculus Rift crash, version 5.1.2f1 on the Mac

Discussion in 'AR/VR (XR) Discussion' started by VCC_Geek, Aug 10, 2015.

  1. VCC_Geek

    VCC_Geek

    Joined:
    Apr 30, 2013
    Posts:
    29
    Update: Got this figured out. If you're getting the same problems that I did, use the latest patch, do NOT use the "VR Supported" checkbox, and make sure that you install the runtime for each user who will use the Rift. Hope that helps someone else! And thanks to thep3000 and BrotenTechCorp for the informative replies.

    Original post follows.

    I just want to make sure I'm not boneheading something before I submit a ticket. I've been trying to get the Rift working in Unity on the Mac for a while now. The Rift itself works. I have to run the OVRServer executable manually, but once I do that, everything except Unity works. I can open the config utility, which sees it fine; I can run the demo, which works flawlessly; I can download and run demos that were obviously made in Unity, and they work fine.

    I'm working in a brand new project (so there's no leftover baggage sitting around) with nothing but a cube and a plane, both generated by Unity. If I check "Virtual Reality supported" in Player settings, it informs me of the need to reload graphics objects, yada yada yada, then promptly crashes. Like as in "Unity Bug Reporter" comes up. I tried this both before and after importing the Unity integration packages. I tried the integration package version 0.5.0.1 (ovr_unity_0.5.0.1_lib.zip), and the newest one (OculusUtilities_0_1_0_beta.zip). No combination of these works, regardless of the order I apply them. This occurs consistently, no matter how I approach it.

    Somehow, I have a feeling that the fact that I have to start the OVRServer manually may have something to do with it, but I reinstalled the runtime a couple of times, just using all of the default settings, so I don't know what I would have missed. That, and the fact that all of the demos are running fine, points at something in Unity. Perhaps it can't find a library? Anyone know how I can check this? Environment variable?

    I'm on OSX Yosemite, with Oculus Runtime 5.0.1. The Rift is plugged in, turned on, and the OVRServer is running. As stated, all of the demos and test scenes work just fine outside of Unity, so I'm fairly sure that it has to be something I'm doing wrong in Unity. Does anyone see anything I missed, or should I submit a ticket?

    Thanks to anyone who can help!
     
    Last edited: Aug 16, 2015
  2. thep3000

    thep3000

    Unity Technologies

    Joined:
    Aug 9, 2013
    Posts:
    400
    Please try on the latest patch release (5.1.2p3 right now) and if you still have an issue please submit a bug, the callstack might help us track it down. Note that the integration will not work with the VR checkbox (make sure you don't have it in your project), but the Oculus Utilities will work.
     
  3. BrotenStudios

    BrotenStudios

    Joined:
    Feb 13, 2014
    Posts:
    155
    Is not Oculus's newer run times no longer OSX compatible? I've had to switch to deploying to only Windows myself. OSX had severe performance issues, which is why they went Windows only for now. I also had to get a copy of windows and bootcamp'd it onto my mac.
     
  4. thep3000

    thep3000

    Unity Technologies

    Joined:
    Aug 9, 2013
    Posts:
    400
    We still support the older oculus runtime for OSX, with known performance issues. Primarily useful for gear vr devs, so they can preview without deploying to device.
     
  5. VCC_Geek

    VCC_Geek

    Joined:
    Apr 30, 2013
    Posts:
    29
    Thep, thanks for the reply. I should probably point out that the getting started guide still says 5.1.2f1 as the recommended version, but I'll get the newer one and try that one out.

    Broten, I'm using the older (5.0.1) runtime, which is the latest version supported on the Mac. That also means that I'll probably have to develop exclusively on the Mac - at least for now. It works great in all of the demos I've seen, including the ones that were obviously made in Unity (judging by the resolution config screen that comes up on startup). I've yet to see any performance issues.

    I think the performance issues are due to the fact that a lot of baseline Macs come with a fairly typical desktop card, which isn't enough to drive the Rift, even in Windows. I've got a GTX 960 card, and it seriously performs on the Rift. Funny - the GTX 960 is unsupported on the Mac. But it works great in Yosemite, and I can't get it to work in Windows. *scratches head*

    At any rate, I hope they thaw Mac support soon. I'm not a fan of Windows.

    By the way, I'm really glad that Unity is not only grabbing on to VR like this, but also giving Mac devs a path to Mac VR. Thank you!
     
  6. BrotenStudios

    BrotenStudios

    Joined:
    Feb 13, 2014
    Posts:
    155
    I have an I7 3.95ghz 32GB ram, and a Nvidia Kepler GK104 series GPU with 4GB . With are DK2 complex scenes started quickly to only produce 40fps, sometimes even worse. And had v-sync locking issues.

    The commercial Rift needs around 90fps+ to prevent sickness and dizziness, so this is below spec. And caused user discomfort. I had to drop OSX support realizing that CV1 would have no OSX gamer market on commercial release of the Rift. So I flipped to doing my VR for windows only. With Versions for OSX having no VR. :(



    OSX semi-drop was in part because they are working with Nvidia + AMD + Microsoft to develop direct driver for Windows 7/8/8.1/10. It has some really customized support from the the newer Kepler SLI GPU's. And is recommended for systems with Kepley SLI setups. Which removes some single GPU(lower end models), most if not all mobile GPU, and all iMACs as they use mobile chips with older drivers. You 'can' do single GPU but suggested only for latest cards.

    New VR-SLI drivers will support one GPU assigned per eye in VR. The CV1 Rift runs at 2160×1200 at 90Hz split over dual displays, consuming 233 million pixels per second. And will be designed for 50% load per SLI GPU. This is outside OSX's old proprietary OpenGL based drivers and hardware ability. Sadly it means that we can use older SDKs for now with DK1 and DK2's. But CV1 consumer users will be using a run-time and firmware that will not fall back for older OVR apps.

    Basically the DK1, DK2, and CV1 to be completely different products with different requirements. I wont cross support, I'm targeting for CV1 support only.

    The main reason for dropping support is OSX is that it doesn't allow Beta drivers or drivers not approved and packaged with an OSX OS patch.

    It also would require an OpenGL implementation not DX11/12. And would need OSX to add SLI, Nvidia Surround, and new VR-SLI implementations. Needed for mixing the two screens to one viewport load blanced over more then one GPU. All of which is not supported on the striped down drivers in the Apple OS's. Hopefully CV1+ will get OSX support eventually but probably not till well after CV1 has some really stable driver support on Windows. and work arounds are found for Linux kernel OS's.

    What is really weird is latest Rift SDK and run-time does not support Windows 10 yet, it will but they haven't got it ready.

    As a fellow mac user, some tips for if you do not have access to windows to bootcamp. And need to test for deploying on windows. Try applying to Microsoft Bizspark program you can get MSDN access with licenses to develop on windows. and Windows store for 1 year.

    Good luck on VR development. Hope to see a title made by you. PM me once you have info on release date of a game.
     
  7. BrotenStudios

    BrotenStudios

    Joined:
    Feb 13, 2014
    Posts:
    155
    Which iMAC had the GTX 960? I know they released GTX 780m's but thought they switched to AMD after that so they could do 4k.
     
  8. VCC_Geek

    VCC_Geek

    Joined:
    Apr 30, 2013
    Posts:
    29
    It's actually a Mac Pro. I added the GTX 960. And the 960 does do 4k.

    So I updated to 5.1.2p3, and now I'm getting the following error:

    Code (csharp):
    1.  
    2. Couldn't open /Applications/Unity/Unity.app/Contents/VR/macosx64/OVRPlugin.bundle, error: dlopen(/Applications/Unity/Unity.app/Contents/VR/macosx64/OVRPlugin.bundle, 2): Library not loaded: @rpath/LibOVRRT_0.framework/Versions/5/LibOVRRT_0
    3.  Referenced from: /Applications/Unity/Unity.app/Contents/VR/macosx64/OVRPlugin.bundle
    4.  Reason: image not found
    5. OVRPlugin:get_version() (at Assets/OVR/Scripts/OVRPlugin.cs:219)
    6. OVRPlugin:get_version() (at Assets/OVR/Scripts/OVRPlugin.cs:219)
    7. OVRManager:Awake() (at Assets/OVR/Scripts/OVRManager.cs:284)
    8.  
    and then

    Code (csharp):
    1.  
    2. DllNotFoundException: /Applications/Unity/Unity.app/Contents/VR/macosx64/OVRPlugin.bundle
    3. OVRPlugin.GetString (Key key) (at Assets/OVR/Scripts/OVRPlugin.cs:386)
    4. OVRPlugin.get_version () (at Assets/OVR/Scripts/OVRPlugin.cs:219)
    5. OVRManager.Awake () (at Assets/OVR/Scripts/OVRManager.cs:284)
    6.  
    Not even sure where to start with that one, because the bundle is exactly where it's looking for it. On a lark, I decided to try the version 5.0.1 Unity integration, and got

    Code (csharp):
    1.  
    2. Failed to parse Oculus version string "(Unable to load LibOVR)" with message "There must be 2, 3 or 4 components in the version string.".
    3. UnityEngine.Debug:Log(Object)
    4.  
    So it's looking like Unity can't read the LibOVR bundle for some reason.
     
  9. VCC_Geek

    VCC_Geek

    Joined:
    Apr 30, 2013
    Posts:
    29
    Okay, so I've finally figured this out, and I have Unity building Oculus Rift scenes flawlessly. It was actually something that I overlooked in the installation of the Oculus runtime. Like any good network administrator, I don't run as an admin all of the time, and I always try to make my apps so that they don't need admin privileges to run normally (excluding the initial install, of course). So I installed it using an admin account. According to the runtime readme, the runtime needs to be installed per user. I only installed it for the admin user, so naturally it didn't work for my own account.