Closed oliverellmers closed 8 years ago
Which version of the Oculus Mobile SDK do you build GVRF with? You might try 1.0.0.1 if you are not on it. What device models do you use?
Currently building with Oculus Mobile SDK 1.0.0.1 on Samsung Galaxy S6's and having the same problem. It is as if there is some form of inertial bounce applied to the camera, and the sensors aren;t able to keep up with head orientation. also having the same issue in developer mode/not plugged into the headset
Al though the application is still running - in my log I am receiving two errors:
gvrf: FrameBufferObject::create: GL error on entry error: GL_INVALID_ENUM
libEGL: call to OpenGL ES API with no current context (logged once per thread)
I think it is safe to say it is something to do with Android version 6.01, as I am currently running identical software on three Samsung S6 devices running 6.01 and two Samsung S6 devices running 5.11 and the performance on the '5' devices is as expected, whereas the performance on the '6' devices is showing the issues.
Sounds like an issue we had where we will keep using the internal sensors instead of switching to those on GearVR itself. Which version of GVRF do you use?
I will get a hold of an S6 with M and investigate.
Tried an S6 with M but it worked fine for me. I could create a branch with extra logging for you to try, if you could help us out? In any case, please send me or just attach here the complete logcat output.
gvrf: FrameBufferObject::create: GL error on entry error: GL_INVALID_ENUM - this is innocent, the Oculus SDK calls us with a GL error pending; we clear it and print it out, just in case.
libEGL: call to OpenGL ES API with no current context (logged once per thread) - this could be anything; hard to say but if we had no context nothing would have worked.
Sorry for not getting back to you sooner. Thankyou for taking a look.
One thing that came to mind when you mentioned the sensor issue - is there any necessary permissions that need to be added to the android manifest to ensure that it accesses the sensors of the gearvr headset as opposed to the accelerator within the phone with android 6.0.1? I have a feeling that it may be not using the gear's sensors.
will go through your suggestions today and put some logging info up for you.
happy to help - need to tackle this for work asap
okay so unfortunately somebody from work has deployed all of our devices this morning to a client for a project and I am unable to develop on anything with the latest android version running on it.
I will have to revisit this when they come back.
Thanks!
Hi, what is your target sdk (minSdkVersion&targetSdkVersion in the manifest)?
minSdkVersion="19" targetSdkVersion="23"
We just got an order of more devices in so can work on this now also
There are no additional permissions required as far as I know. Tried on my S6+M and API level 23 but still no luck reproducing. The GVRF demo apps exhibit the same behavior on your devices, I presume? Can you give me the exact model number of your devices? Mine is SM-G920A.
Hmm brand new device here and now the app is crashing on launch.
model number is: SM-G920F android version: 6.0.1
logfile from last build attached log.txt
Could the crash have something to do with this?
04-06 19:59:19.081: W/System.err(24910): java.io.FileNotFoundException: /storage/emulated/0/R42/gearvrfvideo.mp4: open failed: ENOENT (No such file or directory)
04-06 19:59:19.081: W/System.err(24910): at libcore.io.IoBridge.open(IoBridge.java:452)
04-06 19:59:19.081: W/System.err(24910): at java.io.FileInputStream.<init>(FileInputStream.java:76)
04-06 19:59:19.081: W/System.err(24910): at java.io.FileInputStream.<init>(FileInputStream.java:103)
04-06 19:59:19.081: W/System.err(24910): at com.Random42.gearVRfShowreel.Minimal360Video.onInit(Minimal360Video.java:79)
04-06 19:59:19.081: W/System.err(24910): at java.lang.reflect.Method.invoke(Native Method)
04-06 19:59:19.081: W/System.err(24910): at org.gearvrf.GVREventManager.invokeMethod(GVREventManager.java:186)
04-06 19:59:19.081: W/System.err(24910): at org.gearvrf.GVREventManager.sendEvent(GVREventManager.java:94)
04-06 19:59:19.081: W/System.err(24910): at org.gearvrf.GVRViewManager$1.beforeDrawEyes(GVRViewManager.java:605)
04-06 19:59:19.081: W/System.err(24910): at org.gearvrf.GVRViewManager.beforeDrawEyes(GVRViewManager.java:294)
04-06 19:59:19.081: W/System.err(24910): at org.gearvrf.GVRActivity$3.onBeforeDrawEyes(GVRActivity.java:353)
04-06 19:59:19.081: W/System.err(24910): at org.gearvrf.VrapiActivityHandler$5.onDrawFrame(VrapiActivityHandler.java:410)
04-06 19:59:19.081: W/System.err(24910): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1649)
04-06 19:59:19.081: W/System.err(24910): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1354)
04-06 19:59:19.081: W/System.err(24910): Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
04-06 19:59:19.081: W/System.err(24910): at libcore.io.Posix.open(Native Method)
04-06 19:59:19.081: W/System.err(24910): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
04-06 19:59:19.081: W/System.err(24910): at libcore.io.IoBridge.open(IoBridge.java:438)
04-06 19:59:19.081: W/System.err(24910): ... 12 more
Hmm that is in fact a new error - as the file is on the device and in the correct path
EDIT:
Okay so the file reading and writing issue is strictly to do with Marshmallow and the new permissions model - I solved this problem by setting my target sdk to android:targetSdkVersion="22" - no more crashing on open trying to read a file from storage. However - will need to cater for Marshmallow sooner or later so will built some functionality in that caters for the new model. However this does raise another question about how to handle the granting of permissions within GearVR in future: If permissions are granted by the user at run-time, as opposed to application installation, then some form of dialogue override will have to be developed so that users can agree to grant permissions on application launch from within the headset.. Thoughts?
More on the topic here: http://developer.android.com/training/permissions/requesting.html
Back to the original problem - My application is now running on S6 android 6.0.1 device: SM-G920F The problem with the lag / responsiveness of sensors persists. I believe that for some reason the application is not accessing the GearVR sensors. You mentioned earlier having an issues with this?
Fixed the problem, rebuilt GearVRf with latest source from github (I'm more or less certain it was what I was using anyway..?), and set up a new eclipse project with my original project. The lag has disappeared.
Has anybody else noticed a terrible drop in performance and poor sensor response after the most recent android update with the GearVRf?
The Oculus 360 player doesn't seem to have the same issue.
I have been working on an OSC based synchronization system for the past few weeks. Everything was working fine until we upgraded Android on our devices, and now the sensors don't seem to respond correctly - getting strange rotation/orientation issues.
Cheers,
O.