toji / chrome-webvr-issues

Stub repository for tracking bugs related to Chrome's experimental WebVR support
53 stars 12 forks source link

WebVR tracking, but not displaying on Vive #94

Closed Alek214 closed 6 years ago

Alek214 commented 8 years ago

I downloaded and enabled the webVR chromium, and when i open this link https://vihart.github.io/physics/ it will open Steam VR and track, but it'll just show the normal Steam VR hub area, like this. http://puu.sh/qZDLI/08acbbeb84.gif with WebVR experiments that have an option to enter and exit VR in the lower right corner this problem doesn't happen, but many dont have that option. why is this happening and how can i fix it?

phtaylor commented 7 years ago

I was having the same issues. I would always see some default screen on the HMD. I am using a laptop with GTX870M, so it has the NVidia GPU switching technology. I had forced Chrome to use the Dedicated GPU, but after an update it had gone back to auto-select-mode.

Once I forced chrome to use my Dedicated GPU, the WebVR demos worked.

image

Alek214 commented 7 years ago

Unfortionately, i dont think this is the problem i'm having. I use a GTX 980 Ti, and looking at this same section I only come up with this clip 2016-10-16 at 02 19 34 I feel kind of silly not knowing how to do any of this stuff, am i missing anything obvious here?

phtaylor commented 7 years ago

Sorry, the difference is my setup is a laptop, which has multiple GPUs, while you have a desktop with just one. (better one ;) )

dlazares commented 7 years ago

I'm also having this issue. Just downloaded chromium, enabled webvr and gamepad flags, and webvr samples track my headset, but don't show up.

donnyrock commented 7 years ago

I have the GTX1060 and have similar issues but, I cant see these setting or a display on the headset only the screen. Where else can I look to fix this. I have been trying to fix this for days now.

I tried this with both mozilla nightly and Chromium - Pls help

Here is an example of one of the demos I ran - OpenVR HMD

isConnected: true
isPresenting: false
capabilities:
    hasPosition: true
    hasOrientation: true
    hasExternalDisplay: true
    canPresent: true
    maxLayers: 1
stageParameters:
    sittingToStandingTransform: [ 1.000, 0.000, 0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.750, 0.000, 1.000 ]
    sizeX: 1
    sizeZ: 1
displayId: 1
displayName: OpenVR HMD
depthNear: 0.010
depthFar: 10000
getFrameData():
    timestamp: 1477272771014000128.000
    leftProjectionMatrix: [ 0.758, 0.000, 0.000, 0.000, 0.000, 0.682, 0.000, 0.000,-0.059, 0.005,-1.000,-1.000, 0.000, 0.000,-0.010, 0.000 ]
    leftViewMatrix: [ 1.000, 0.000, 0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000, 0.000, 1.000, 0.000, 0.037, 0.000,-0.015, 1.000 ]
    rightProjectionMatrix: [ 0.760, 0.000, 0.000, 0.000, 0.000, 0.684, 0.000, 0.000, 0.056, 0.002,-1.000,-1.000, 0.000, 0.000,-0.010, 0.000 ]
    rightViewMatrix: [ 1.000, 0.000, 0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000, 0.000, 1.000, 0.000,-0.037, 0.000,-0.015, 1.000 ]
    pose:
        position: null
        linearVelocity: null
        linearAcceleration: null
        orientation: null
        angularVelocity: null
        angularAcceleration: null
getEyeParameters('left'):
RikHeijdens commented 7 years ago

I'm running into a similar issue with the Vive on a laptop with both an Intel and AMD GPU. Headtracking works fine but when I start presenting the canvas is being displayed in the browser window on the laptop's screen.

sjpt commented 7 years ago

Back to the original question: about this link https://vihart.github.io/physics/. That seems to be written such that the requestPresent() never gets called as a result of a user interaction; probably written before the security feature limiting the use of requestPresent() was implemented. So all the VR stuff is connected up but not allowed to be used. The demos that do work all use a user button click or keystroke to initiate the call that eventually gets through to requestPresent(), so they work fine.

Separately, there is (used to be?) an issue with many multi-graphics laptops (eg Nvidia Optimus) where the output from the 'real' GPU was fed to the HDMI port via the Intel GPU. As the integrated GPU was capable of only 60fps it could not drive some headsets. I know old versions of the Oculus SDK2 code would work with Optimus setups (using extended desktop mode), but more recent ones (which only supported direct mode) would not.

ih commented 7 years ago

I'm getting the same/similar issue where when I move the Vive the view in my browser window tracks it, but when I hit the "Enter VR" button I get a default screen in the HMD. I'm also on a laptop (MSI gp62mvr) and tried to force Chrome to use the dedicated gpu as @phtaylor described, but after making that change I get the message that my browser doesn't support WebVR (I double checked the flags and that I was using the experimental build) and I have to reset the Nvidia control panel to restore default settings before the tracking works again. Happy to supply more info if helpful.

donnyrock commented 7 years ago

Thanks for the tip... I tried this still the same issues

Chrome ( no enter VR button)

Mozilla WEbVR supported but no VRdisplays found...

Any thoughts ??

I am totally stuck. Its been weeks since I can get webVR to work.

On Sun, Jan 8, 2017 at 12:05 AM, ih notifications@github.com wrote:

I'm getting the same/similar issue where when I move the Vive the view in my browser window tracks it, but when I hit the "Enter VR" button I get a default screen in the HMD. I'm also on a laptop (MSI gp62mvr) and tried to force Chrome to use the dedicated gpu as @phtaylor https://github.com/phtaylor described, but after making that change I get the message that my browser doesn't support WebVR (I double checked the flags and that I was using the experimental build) and I have to reset the Nvidia control panel to restore default settings before the tracking works again. Happy to supply more info if helpful.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/toji/chrome-webvr-issues/issues/94#issuecomment-271130322, or mute the thread https://github.com/notifications/unsubscribe-auth/AV9Dz72h0jdyGQ3piP-OOE2iR2wWAGv7ks5rQG6ZgaJpZM4J0jTY .

-- Don

Donald Rockhead

Pecacheu commented 7 years ago

I'm also having the issue of tracking but not displaying in the Vive. My computer is a desktop with an AMD CPU that has no integrated GPU, and an AMD Radeon HD graphics card, so there's no chance of Chrome using "the wrong GPU" or anything. I've also tried both the HDMI and the Display Port, as well as turning on and off Direct Mode, but to no avail.

I can't see how it could be anything other than Chrome's webvr implementation doesn't work properly, because SteamVR games work fine in any configuration. There's only one way to access the Vive, through the API, so if they're implementing it right, then it should behave identically to any SteamVR software.

Also, I think what @donnyrock has is a different issue, because I am getting the Enter VR button when I run the demos, it just doesn't display on the headset and instead shows an SBS view in the window.

EDIT: When you hit the Enter VR button the screen usually goes black, but if you change off the tab that WebVR is running in, the device goes back to the dashboard immediately, and the status changes from "Chrome Webvr.exe" to "(unresponsive) Chrome Webvr.exe". Probably an unrelated bug, but still...

EDIT 2: Chrome dev. console continually shows the following error when in VR mode: [.Offscreen-For-WebGL-0000016CEDB3D9F0]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command. No line number is provided.

sjpt commented 7 years ago

Worth trying with Firefox. The Nightly build is generally suggested but does not work for my app, but the Developer build also supports WebVR now ( https://www.mozilla.org/en-GB/firefox/developer/). This works more smoothly for me than ChromeVR, especially with asynchronous reprojection; I am still sticking mainly to Chrome because of the superior (more familiar?) development environment.

You don't say what WebVR tests you have tried; I use those at https://threejs.org/examples/?q=webvr when I need to check what is going on, At some point it became necessary explicitly to make a submit call (renderVR.effect.submitFrame()); it may be that you have an app that has not made that change?

On 13 January 2017 at 01:20, Bryce notifications@github.com wrote:

I'm also having the issue of tracking but not displaying in the Vive. My computer is a desktop with an AMD CPU that has no integrated GPU, and an AMD Radeon HD graphics card, so there's no chance of Chrome using "the wrong GPU" or anything. I've also tried both the HDMI and the Display Port, as well as turning on and off Direct Mode, but to no avail.

I can't see how it could be anything other than Chrome's webvr implementation doesn't work properly, because SteamVR games work fine in any configuration.

Also, I think what @donnyrock https://github.com/donnyrock has is a different issue, because I am getting the Enter VR button when I run the demos, it just doesn't display on the headset and instead shows an SBS view in the window.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/toji/chrome-webvr-issues/issues/94#issuecomment-272334912, or mute the thread https://github.com/notifications/unsubscribe-auth/AEubbOipXLMpM6JaBSTsD87b416cDm-zks5rRtFbgaJpZM4J0jTY .

mathias-goebel commented 7 years ago

in chromium i had to disable gpu-blacklist flag. look at the output from chrome://gpu when it complains about the gpu or cannot detect gpu capabilities, webgl was disabled. so the tracking works, but no image appears.

danbri commented 7 years ago

@Alek214 @dlazares @donnyrock @RikHeijdens @ih and others, how many of you got this resolved? I filed a related issue yesterday #149

donnyrock commented 7 years ago

I never heard a thing ! No resolution.

On Mon, May 15, 2017 at 8:03 AM, Dan Brickley notifications@github.com wrote:

@Alek214 https://github.com/alek214 @dlazares https://github.com/dlazares @donnyrock https://github.com/donnyrock @RikHeijdens https://github.com/rikheijdens @ih https://github.com/ih and others, how many of you got this resolved? I filed a related issue yesterday #149 https://github.com/toji/chrome-webvr-issues/issues/149

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/toji/chrome-webvr-issues/issues/94#issuecomment-301455289, or mute the thread https://github.com/notifications/unsubscribe-auth/AV9Dz_Ha08jOqV-UAAyepB2d2qGBZyMzks5r6D8mgaJpZM4J0jTY .

-- Don

Donald Rockhead

RikHeijdens commented 7 years ago

Yep, my "resolution" was to switch to a desktop computer with a dedicated Nvidia GPU.

danbri commented 7 years ago

My resolution (since pinging here yesterday) was to 1.) take extra care that I was running the webvr chrome build in "use my Nvidia card" mode, and then 2.) also set the chrome flags to ignore the GPU blacklist.

Pecacheu commented 7 years ago

I believe I solved my issue by using the alpha:true option when making the THREE js scene. Before, it would display on the PC screen but respond to the headset movements. As soon as I set that option to true, it displayed in the headset successfully.

stephen304 commented 7 years ago

I'm having this same issue - I'm using a desktop with a gtx 970 and Steam VR just says chrome/firefox unresponsive and in the headset is just the loading screen without any logo image. I've been trying the webvr.rocks examples as well as other random sites. Sometimes the examples will track the head and controllers, but only shows up in the browser window.

Edit: I got it to work with FF nightly and webvr.rocks examples as long as there's a "vr" button. It only shows in the browser and steamvr says "unresponsive" until I press the enter vr button. On other examples around the web, there is no enter vr button so they simply won't show in the headset.

toji commented 6 years ago

Closing all bugs in this issue tracker.

This repo was created to track issues in the experimental builds WebVR Chromium builds, which are now deprecated. Chrome Canary for Windows now has much more secure (and hopefully more performant) support for WebVR behind a flag, and Android has had WebVR support as an Origin Trial and behind a flag for a while now.

If this is a performance or correctness bug and you suspect it's still happening, please test against the latest Canary build of Chrome to verify and then file a bug at https://crbug.com. If this is an issue with the API, please review the latest WebXR explainer to see if it's been resolved and file a bug there if not.

Thanks for your interest in VR on the web! We've got an exciting year ahead of us! --Brandon