OSVR / OSVR-Unity-Rendering

Rendering plugin for Unity
Apache License 2.0
34 stars 13 forks source link

Failed to create RenderManager (Windows 10 x64 AU) #25

Open demonixis opened 8 years ago

demonixis commented 8 years ago

Hi,

Since the last HDK2 firmware update, I can't use Unity apps. There are the logs I have

Failed to load 'Assets/Vendors/OSVRUnity/Plugins/x86_64/osvrUnityRenderingPlugin.dll' with error 'Le module spécifié est introuvable.
'.
OSVR.Unity.DisplayController:SetupRenderManager() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:152)
OSVR.Unity.DisplayController:SetupRenderManager() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:140)
OSVR.Unity.DisplayController:SetupDisplay() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:176)
OSVR.Unity.DisplayController:Update() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:317)

```bash
Failed to load 'Assets/Vendors/OSVRUnity/Plugins/x86_64/osvrUnityRenderingPlugin.dll' with error 'Le module spécifié est introuvable.
'.
OSVR.Unity.OsvrRenderManager:InitRenderManager() (at Assets/Vendors/OSVRUnity/src/OsvrRenderManager.cs:196)
OSVR.Unity.OsvrRenderManager:InitRenderManager() (at Assets/Vendors/OSVRUnity/src/OsvrRenderManager.cs:195)
OSVR.Unity.DisplayController:SetupRenderManager() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:140)
OSVR.Unity.DisplayController:SetupDisplay() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:176)
OSVR.Unity.DisplayController:Update() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:317)
Failed to load 'Assets/Vendors/OSVRUnity/Plugins/x86_64/osvrUnityRenderingPlugin.dll' with error 'Le module spécifié est introuvable.
'.
OSVR.Unity.OsvrRenderManager:CreateRenderManager(ClientContext) (at Assets/Vendors/OSVRUnity/src/OsvrRenderManager.cs:311)
OSVR.Unity.OsvrRenderManager:CreateRenderManager(ClientContext) (at Assets/Vendors/OSVRUnity/src/OsvrRenderManager.cs:301)
OSVR.Unity.OsvrRenderManager:InitRenderManager() (at Assets/Vendors/OSVRUnity/src/OsvrRenderManager.cs:195)
OSVR.Unity.DisplayController:SetupRenderManager() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:140)
OSVR.Unity.DisplayController:SetupDisplay() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:176)
OSVR.Unity.DisplayController:Update() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:317)
[OSVR-Unity] Could not load Assets/Vendors/OSVRUnity/Plugins/x86_64/osvrUnityRenderingPlugin.dll
osvrUnityRenderingPlugin.dll, or one of its dependencies, is missing from the project or architecture doesn't match.
UnityEngine.Debug:LogError(Object)
OSVR.Unity.OsvrRenderManager:CreateRenderManager(ClientContext) (at Assets/Vendors/OSVRUnity/src/OsvrRenderManager.cs:306)
OSVR.Unity.OsvrRenderManager:InitRenderManager() (at Assets/Vendors/OSVRUnity/src/OsvrRenderManager.cs:195)
OSVR.Unity.DisplayController:SetupRenderManager() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:140)
OSVR.Unity.DisplayController:SetupDisplay() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:176)
OSVR.Unity.DisplayController:Update() (at Assets/Vendors/OSVRUnity/src/DisplayController.cs:317)

image

Crash dump can be downloader here

osvr-phabricator commented 8 years ago

Hi,

Could you tell me what firmware version are you using? Did you try to rollback to the previous firmware version?

Best,

demonixis commented 8 years ago

Hi,

I use a HDK 1.4 and a HDK2 The HDK 1.4 uses the firmware 1.96 and the HDK2 the 1.97. The problem occurs only with the HDK2, the HDK 1.4/3 seems to work fine.

With the stock firmware (HDK2, 1.01 if I remember well), Unity apps worked well. When I updated my HDK2 to the latest firmware, I was not able to use any Unity application. There are two problems. The first is this one reported in that issue. The second is that a compiled game can start, shows an image for 1 sec and crashes (Take a look at the link provided in my initial post, there is a crash dump generated by Unity).

osvr-phabricator commented 8 years ago

Hey,

Could you please also share with me: 1) OSVR-Server (version or revision). 2) Rendermanager (version or revision). 3) drivers installed (version).

Are you building and installing the latest revision of these components or using the installer?

Thanks.

demonixis commented 8 years ago

Hi,

I use the oneclick installer.

OSVR-Core: v0.6-1320-gc0575b0 RenderManager: ? Drivers: NVIDIA 372.70

I don't find the RenderManager DLLs into the installation folder

osvr-phabricator commented 8 years ago

Thanks for all the answer, I'm trying to replicate the problem, will get back to you soon.

osvr-phabricator commented 8 years ago

I forgot to ask you one more thing in my previous email.

Which graphic card are you usin? What is the driver version?

Thanks.

demonixis commented 8 years ago

Hi,

I'm using a GTX 970 with 372.70 drivers. My HDKs uses the direct mode. It works with the HDK1 but not the HDK2. The two HDKs have the latest firmware (1.96 for the HDK1 and 1.97 for the HDK2).

The onclick installer seems to be a 32 bit build because it's installed in c:\program files (x86)

VRguy commented 8 years ago

Yannick,

The HDK2 ships with version 1.01. It has several bugs which are being addressed, but if it worked for you before the upgrade to 1.97, you can downgrade it back. Do you need the HEX file for 1.01?

On Thu, Sep 1, 2016 at 2:57 AM, Yannick Comte notifications@github.com wrote:

Hi,

I'm using a GTX 970 with 372.70 drivers. My HDKs uses the direct mode. It works with the HDK1 but not the HDK2. The two HDKs have the latest firmware (1.96 for the HDK1 and 1.97 for the HDK2).

The onclick installer seems to be a 32 bit build because it's installed in c:\program files (x86)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/OSVR/OSVR-Unity-Rendering/issues/25#issuecomment-243992613, or mute the thread https://github.com/notifications/unsubscribe-auth/AIqiI1CH4K3mpurzcRoj9YiN2tAPHHlyks5qlndFgaJpZM4JwPjG .

Yuval Boger CEO | VRguy http://www.vrguy.net/ Sensics, Inc. http://www.sensics.com/

Latest news and blog posts (subscribe here http://sensics.com/subscribe-to-our-mailing-list/ to get weekly updates):

Aug 30: TechCrunch: VR from the battlefield to the couch and back https://techcrunch.com/2016/08/30/vr-on-the-battlefield-to-the-couch-and-back-again-sort-of/

Aug 24: OSVR comes to WebVR http://www.sensics.com/osvr-comes-webvr

Aug 17: VRGuy podcast: Nonny de la Pena on immersive journalism http://sensics.com/vrguy-podcast-episode-20-nonny-de-la-pena-co-founder-emblematic-group/

demonixis commented 8 years ago

Hi @VRguy

Yes it worked before, you can send me the hex here, thank you.

demonixis commented 8 years ago

I have flashed the HDK with the stock firmware but it doesn't work.

I have created a blank project, downloaded the latest Unity SDK from https://osvr.github.io/build-with/

I got this error (just one)

[OSVR-Unity] Failed to create RenderManager.
UnityEngine.Debug:LogError(Object)
OSVR.Unity.DisplayController:SetupRenderManager() (at Assets/OSVRUnity/src/DisplayController.cs:143)
OSVR.Unity.DisplayController:SetupDisplay() (at Assets/OSVRUnity/src/DisplayController.cs:176)
OSVR.Unity.DisplayController:Update() (at Assets/OSVRUnity/src/DisplayController.cs:317)

@VRguy newer firmwares are better, with the 1.01, I have a crash at start. With the 1.97, the application starts, displays for 1 sec then crashes...

demonixis commented 8 years ago

Hi I changed my GPU (From a GTX 970 to a RX 480) and I have the same problem. Note that since I updated all my sofware (Unity, OSVR, GPU drivers, Windows, etc...) Unity apps doesn't work with the HDK 1.x and 2.

My configuration

CPU: Intel core i5 3350p @ 3.1Ghz GPU: RX 480 8 Gb GPU Drivers: 16.8.3 OS: Windows 10 x64 Pro Anniversay Update (1607) OSVR-Core: v0.6-1320-gc0575b0

I use the oneclick installer, note that it doesn't contains

HDK 1.4: Firmware 1.96 HDK 2.0: Firmware 1.97 (Reverted to 1.01 with no change)

demonixis commented 8 years ago

Hi again,

I can conforme that the HDK2 is working fine with RenderManager samples (inclued in the SDK) and with SteamVR. I don't have tested the HDK with Unreal yet, but for now it seems to be related to Unity only.

DuFF14 commented 8 years ago

Unity/RenderManager is working for me with HDK2 firmware 1.01, 1.96, and 1.97, and also HDK1.x with firmwares 1.92 and 1.96.

I'm currently using 1.01 and 1.92 (from the one-click installer) without issue, at least with x86_64 Unity builds. There is an issue with x86 builds (but not editor).

I did see the problem where it crashes after 1 second. This occurred on HDK2 after switching from 1.97 to 1.01 firmware and running the Palace demo. I power cycled, restarted, and updated the demo and haven't had the issue since. Not sure what causes this because it was working on 1.01, 1.97, and 1.96, then started misbehaving after switching back to 1.01, then the issue went away. I'm testing on a GTX 1080 with NVIDIA driver version 372.70.

I just updated the Palace Demo, could you see if this version works on your machine? https://github.com/OSVR/OSVR-Unity-Palace-Demo/releases/tag/v0.6.14

I'm still looking for issues with x86/x64 server and Unity build combos. The Palace Demo is a x86_64 build. If I change to x86, it fails to create rendermanager in the build, but not in the editor.

demonixis commented 8 years ago

Hi,

I have tried the palace demo, I was able to start it two time and it worked for the HDK2. However, it seems that there is no distortion correction and no dynamic light (or missing lightmaps?). I use my HDK2 in direct mode on a RX 480 (latest driver).

Then I tried to copy the dll from the palace demo plugin folder, to the plugin folder of one of my projects. It's not working, and I've this message:

[OSVR-Unity] GL.IssuePluginEvent failed. This version of Unity cannot support RenderManager.
UnityEngine.Debug:LogError(Object)
OSVR.Unity.VRViewer:UpdateEyes() (at Assets/Vendors/OSVRUnity/src/VRViewer.cs:193)
OSVR.Unity.VRViewer:DoRendering() (at Assets/Vendors/OSVRUnity/src/VRViewer.cs:264)
OSVR.Unity.VRViewer:OnPreCull() (at Assets/Vendors/OSVRUnity/src/VRViewer.cs:240)

This is a message from Unity 5.5, I'll try with Unity 5.4 (at work), but Unity 5.5 has some improvements and is pretty stable for a beta so I develop my games with it.

In any cases

DuFF14 commented 8 years ago

Can you clarify what you mean by "works one or two times"? What happens the third time? If it drops USB connection, that may be a firmware issue. Are you using 1.01?

It shouldn't work on Unity 5.5 because that hasn't been added to the code, but it's an easy fix I can make today: https://github.com/OSVR/OSVR-Unity/search?utf8=%E2%9C%93&q=UNITY_5_4&type=Code

demonixis commented 8 years ago

Hi,

My HDK has the latest firmware (aka 1.97) and configured to work in direct mode. The OSVR Tray App is well configured to HDK2. So there are all my step

DuFF14 commented 8 years ago

Distortion correction is a config file option. That is accurate that there are no lightmaps in this version. The scene needed to be brighter because shadows were smearing on HDK2 display. My attempts to re-bake lightmaps have failed dozens of times over the past month with various settings and PCs. It stops making progress no matter how long it runs. I'm trying again on another machine.

demonixis commented 8 years ago

Do you need help? I can try to generate them.

DuFF14 commented 8 years ago

Thanks for the info. Yes, I do need help with that. I have a bake in progress but I am not confident it will finish. If we both succeed, we can compare which looks better.

How do you get it working again if unplugging and replugging doesn't work? Does head tracking still work when you get the black screen?

demonixis commented 8 years ago

Well I'll try to bake the scene tomorrow, there are some rules to follow to ensure that the lightmapping is good (lightmap scaling on some objects by example).

For the second point, I don't know if the head tracking worked or not because my PC screen was black (which is normal) and the HMD too. However I can retry and start TrackerView to check if the head tracking is still here.

DuFF14 commented 8 years ago

Thanks. Hopefully my bake will finish before tomorrow. It has to be a certain brightness or else the dark colors are smearing. I'm currently set at 0.8 intensity white ambient light, but not sure how it will turn out. I'd ask that you not use Unity 5.5 to bake since Palace is a Unity 5.3 project. We could possibly upgrade it to 5.4 now that it is a stable release.

My guess is that headtracking is not working, indicating that USB connection dropped, but power cycling should fix that.

DuFF14 commented 8 years ago

I'd also recommend switching to 1.01 to see if you are able to run more than twice in a row.

demonixis commented 8 years ago

@DuFF14 I have already tried to do that, but without your recent palace build.

I'll give it a new try, but I'm pretty sure that the USB connection is fine, I know what is the drop connection issue (I have already opened issues about that ;))

I can try to bake with Unity 5.4.1f1, I've both version in my work computer. My home computer is only in 5.5b2. How is the lighting in this scene? Have you only one light?

It's a good idea to add some point light here and there and finally a directional light. Using Baked on all lights.

If your lightmapping process is long, that's because the lightmap size is too low. You can try these settings, that's what I use in my games

image

For objects, ensure that the static checkbox is checked and change the scaling of big objects

image

I hope it'll help you ;)

demonixis commented 7 years ago

Hi,

This error occurs at this line, it returns 1, not 0.

result = CreateRenderManagerFromUnity(clientContext.ContextHandle);

Any idea?

DuFF14 commented 7 years ago

I'm not sure. Can you provide more context? Is the plugin updated? Direct mode?

amigax commented 7 years ago

I am getting this error too, actually this error is on unity 5.6beta and HDK2:

[OSVR-Unity] GL.IssuePluginEvent failed. This version of Unity cannot support RenderManager. UnityEngine.Debug:LogError(Object) OSVR.Unity.VRViewer:UpdateEyes() (at Assets/OSVRUnity/src/VRViewer.cs:193) OSVR.Unity.VRViewer:DoRendering() (at Assets/OSVRUnity/src/VRViewer.cs:270) OSVR.Unity.VRViewer:OnPreCull() (at Assets/OSVRUnity/src/VRViewer.cs:240)

DuFF14 commented 7 years ago

@amiga This is a different issue. In OSVR-Unity, search for #if UNITY_VERSION and add UNITY_5_6 where necessary. If you beat me to it, submit a pull request. I created an issue here as a reminder: https://github.com/OSVR/OSVR-Unity/issues/201

demonixis commented 7 years ago

Hi, how are you?

With the latest updates of OSVR-Core, RenderManager, Unity, I still have this issue with all my HDKs (1.3, 1.4 and 2.0) in direct mode.

My setup:

I have a dual screen render in Unity, but nothing in the headset

[OSVR-Unity] Failed to create RenderManager.
UnityEngine.Debug:LogError(Object)
OSVR.Unity.DisplayController:SetupRenderManager() (at Assets/OSVRUnity/src/DisplayController.cs:142)
OSVR.Unity.DisplayController:SetupDisplay() (at Assets/OSVRUnity/src/DisplayController.cs:175)
OSVR.Unity.DisplayController:Update() (at Assets/OSVRUnity/src/DisplayController.cs:316)

I hope we'll solve that one day ;)

DuFF14 commented 7 years ago

Hi @demonixis do the RenderManagerD3D examples in the SDK work in direct mode?

demonixis commented 7 years ago

@DuFF14 hum you're right, RM samples doesn't start.. I don't know why, my system works great, my Oculus setup is fine. Does RM not compatible with the latest AMD GPU driver? I got this issues for months with NVIDIA and AMD. I have changed my mainboard recently but I still have this problem.

amigax commented 7 years ago

Still happening on latest unity 5.5.1 - EDIT: I just realised my firmware is drastically old (1.01) I am thinking an upgrade would maybe fix this!? I will let you know.

DuFF14 commented 7 years ago

@amiga yes, this is error is most likely a firmware issue if you are using 1.01, but it could also be a server config or hardware (direct mode incompatibility) issue.

amigax commented 7 years ago

Yes I upgraded firmware to hdk2svr-2.00.hex and it works.

rpavlik commented 7 years ago

It's possible there's an issue with the latest AMD drivers. I am still on 16.9.2 I believe. I know Razer was working with AMD on compatibility for the old (buggy) 1.01 firmware, it's possible that that work negatively impacted the fixed 2.00 version, I don't know if they are also testing with that version.

jfrank-razer commented 7 years ago

We test with a variety of versions of the firmware but in recent testing have found 2.00 to be by far the most stable. Our testing is still ongoing, though, and we have had one report of poor framerates tied to 2.00 firmware on an HDK 2 running on a GTX 1080 that we are investigating.

We have seen a variety of issues with various AMD drivers, including odd coloration (incorrect gamma correction?), inability to access either extended or direct mode, and the need to unplug and replug the HMD after switching to extended mode (otherwise Windows repeatedly reports disconnection/reconnection, sometimes seemingly indefinitely). As Ryan mentioned, Razer and Sensics are working with AMD to address these issues.

While the 1.01 firmware does indeed have known issues, part of the problem with AMD support for that firmware as compared to other HDK firmware is that the 1.01 firmware identifies itself as a different product (via a different display EDID VID and PID). Given that 1.01 was in fact for a different hardware product with different display technology -- HDK 2 rather than HDK 1.x -- I imagine that using a different ID was essentially required. However, AMD drivers apparently have a workaround that is only activated upon detection of a particular VID/PID, and because the 1.01 firmware does not share that VID/PID, the special case is not activated. This may be why later firmware builds returned to the old VID/PID for both HDK 1.x and HDK 2, despite this being a bad practice in my understanding of the industry standard. Additionally, the new VID/PID selected for the 1.01 firmware is now deprecated.


From: Ryan Pavlik notifications@github.com<mailto:notifications@github.com> Sent: Wednesday, March 1, 2017 06:39 Subject: Re: [OSVR/OSVR-Unity-Rendering] Failed to create RenderManager (Windows 10 x64 AU) (#25) To: OSVR/OSVR-Unity-Rendering osvr-unity-rendering@noreply.github.com<mailto:osvr-unity-rendering@noreply.github.com> Cc: Subscribed subscribed@noreply.github.com<mailto:subscribed@noreply.github.com>

It's possible there's an issue with the latest AMD drivers. I am still on 16.9.2 I believe. I know Razer was working with AMD on compatibility for the old (buggy) 1.01 firmware, it's possible that that work negatively impacted the fixed 2.00 version, I don't know if they are also testing with that version.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/OSVR/OSVR-Unity-Rendering/issues/25#issuecomment-283357346, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AUMzeIsAEtx6-n1Egzr4lSPcc0GQHgFyks5rhYMogaJpZM4JwPjG.


This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com



This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com