polygraphene / alvrclient Goto Github PK
View Code? Open in Web Editor NEWA remote VR display client for ALVR server. refer: https://github.com/polygraphene/ALVR
License: MIT License
A remote VR display client for ALVR server. refer: https://github.com/polygraphene/ALVR
License: MIT License
I tested the new 2.2.3-alpha version , and found that when the client was paused, SteamVR still could receive the pose data. After resumed, the display went wrong.
I roughly read the difference between the 2.2.2 and 2.2.3, and i guess it might be caused by the wait()? some threads are blocked?
version: 2.2.3-alpha
Thread priority security exception make sure the apk is signed
Right now the app just crashes on launch on my moto g5 plus. I am running a strange os though, it's pixel experience 'potter' if you're wondering.
Anyways I've cloned this client you've so graciously put on here. Thanks so much! You freakin rule.
PS Is this even going to work? Current system: windows moto g5 plus -> gear vr (white one from 3 years ago)
PSS i have a leap motion. should I pursue hooking this up?
cheers, ill let you know what I find today if anything. not a big android dev.
I apologize for making you read forever, maybe you noticed I posted the already on ALVR non-client repo. Anyways yeah I can't build this thing man I just spent way too long. Would love to do so but yeah not happening if i cant get to compilation. Anyway you could just update the deps on this thing for starters? You made me install a bunch of old stuff. My poor hard drive. I know only a short university class about android dev and its been a while. Still I was able to build a different project or two in the past.
Hello @polygraphene. I have problem that ALVR 2.3.1 Client ( .apk ) didn't install on my smartphone.
I was trying to find answer, but i can't found answer. If you see or anyone that knew this problem's answer, plz answer .. and If you can, please re-upload the store code. I know you'll busy. thanks to your program & help
( ps. My smartphone : SAMSUNG Galaxy Note FenEdition, Android 9 )
android.app.ServiceConnectionLeaked: Activity com.polygraphene.alvr.OvrActivity has leaked ServiceConnection com.oculus.vrapi.VrRuntimeClient$RuntimeServiceConnection@444f219 that was originally bound here
at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:1336)
at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:1231)
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1450)
at android.app.ContextImpl.bindServiceAsUser(ContextImpl.java:1440)
at java.lang.reflect.Method.invoke(Native Method)
at com.oculus.vrapi.BindServiceWrapper.bindServiceWithHandler(BindServiceWrapper.java:176)
at com.oculus.vrapi.VrRuntimeClient.EnsureRuntimeService(VrRuntimeClient.java:294)
at com.oculus.vrapi.VrRuntimeClient.connectToService(VrRuntimeClient.java:385)
at com.polygraphene.alvr.OvrContext.initializeNative(Native Method)
at com.polygraphene.alvr.OvrContext.initialize(OvrContext.java:16)
at com.polygraphene.alvr.OvrThread.startup(OvrThread.java:153)
at com.polygraphene.alvr.OvrThread.lambda$new$0$OvrThread(OvrThread.java:51)
at com.polygraphene.alvr.-$$Lambda$OvrThread$imhW8EDWtJBPWhGwuNDWntLF_rQ.run(lambda)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)
WARNING: ABIs [arm64-v8a,armeabi-v7a,armeabi] set by 'android.injected.build.abi' gradle flag contained 'ARMEABI' not targeted by this project.
WARNING: ABIs [arm64-v8a,armeabi-v7a,armeabi] set by 'android.injected.build.abi' gradle flag contained 'ARMEABI' not targeted by this project.
打开就崩溃
三星s8 gear Vr 真机 打开就奔库
run 的时候提示 WARNING: ABIs [arm64-v8a,armeabi-v7a,armeabi] set by 'android.injected.build.abi' gradle flag contained 'ARMEABI' not targeted by this project.
Thread priority security exception make sure the apk is signed
Hi There...
I have a "unknown" octa-core android device (Mediatek 6592 cpu) with a pretty decent IPS screen (1920x1200).
It would be perfect to use as a VR headset, but it runs android 4.2.2.
I tried to set minSDK as 17 in gradle setup, and it starts building, but stops when compiling the native cpp code which requires GLESv3! (sdk 17 only has GLESv2).
As I started to dig into the code, I saw some GLESv2 includes in your code, I was wondering if you got ALVRClient to work with GLESv2 at some point?
anyhow, I'm wondering if it would be simple to "convert" the GLESv3 code to v2, so I could build it with sdk17 as minimun.
These are the missing GLESv3 functions... as you have way more experience with GLES than me (I'm a PC GL guy), is there a direct replacement for those in GLESv2?
/RAID/atomo/home/rhradec/dev/OculusDK1/ALVRClient/app/src/main/cpp/render.cpp:595: error: undefined reference to 'glTexStorage3D'
/RAID/atomo/home/rhradec/dev/OculusDK1/ALVRClient/app/src/main/cpp/render.cpp:712: error: undefined reference to 'glInvalidateFramebuffer'
/RAID/atomo/home/rhradec/dev/OculusDK1/ALVRClient/app/src/main/cpp/render.cpp:888: error: undefined reference to 'glGenVertexArrays'
/RAID/atomo/home/rhradec/dev/OculusDK1/ALVRClient/app/src/main/cpp/render.cpp:889: error: undefined reference to 'glBindVertexArray'
/RAID/atomo/home/rhradec/dev/OculusDK1/ALVRClient/app/src/main/cpp/render.cpp:907: error: undefined reference to 'glBindVertexArray'
/RAID/atomo/home/rhradec/dev/OculusDK1/ALVRClient/app/src/main/cpp/render.cpp:911: error: undefined reference to 'glDeleteVertexArrays'
/RAID/atomo/home/rhradec/dev/OculusDK1/ALVRClient/app/src/main/cpp/render.cpp:1020: error: undefined reference to 'glGetUniformBlockIndex'
/RAID/atomo/home/rhradec/dev/OculusDK1/ALVRClient/app/src/main/cpp/render.cpp:1023: error: undefined reference to 'glUniformBlockBinding'
/RAID/atomo/home/rhradec/dev/OculusDK1/ALVRClient/app/src/main/cpp/render.cpp:1241: error: undefined reference to 'glBindVertexArray'
/RAID/atomo/home/rhradec/dev/OculusDK1/ALVRClient/app/src/main/cpp/render.cpp:1291: error: undefined reference to 'glBindVertexArray'
/RAID/atomo/home/rhradec/dev/OculusDK1/ALVRClient/app/src/main/cpp/gltf_model.cpp:28: error: undefined reference to 'glGenVertexArrays'
last but not least... Thanks lots for this project!!! THe server seems really well done, and I can't wait to have the client running to try it!!
I'm attempting to run ALVR on Google Cloud with a Nvidia Tesla P4 and stream to a android VR headset using ALVR and zerotier.
Today I use PARSEC to play non-vr on the same google cloud vm machine, and it's great (thanks to NVENC)!!
I really think it could work... then I could play Elite:Dangerous with an cheap VR headset using the cloud!! how awesome would that be! 8P
Client is fantastic. Working to improve it. After build Seems to stop on launch.... However client is still running. Pulled down repro, installed OSSIG and synced but can't seem to figure this one out? Any ideas?
I/MediaCodec: Codec shutdown complete
V/DecoderThread: DecoderThread stopped.
V/VrThread: VrThread.onPause: Stopping ReceiverThread.
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.polygraphene.alvr.ar, PID: 28562
java.lang.RuntimeException: Unable to pause activity {com.polygraphene.alvr.ar/com.polygraphene.alvr.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void java.lang.Thread.interrupt()' on a null object reference
at android.app.ActivityThread.performPauseActivityIfNeeded(ActivityThread.java:4124)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:4090)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:4064)
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:4038)
at android.app.ActivityThread.-wrap16(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1708)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6938)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void java.lang.Thread.interrupt()' on a null object reference
at com.polygraphene.alvr.ThreadBase.interrupt(ThreadBase.java:28)
at com.polygraphene.alvr.ThreadBase.stopAndWait(ThreadBase.java:16)
at com.polygraphene.alvr.TrackingThread.stopAndWait(TrackingThread.java:46)
at com.polygraphene.alvr.UdpReceiverThread.stopAndWait(UdpReceiverThread.java:93)
at com.polygraphene.alvr.VrThread.onPause(VrThread.java:120)
at com.polygraphene.alvr.MainActivity.onPause(MainActivity.java:81)
at android.app.Activity.performPause(Activity.java:7400)
at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1414)
at android.app.ActivityThread.performPauseActivityIfNeeded(ActivityThread.java:4113)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:4090)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:4064)
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:4038)
at android.app.ActivityThread.-wrap16(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1708)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6938)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
I/ALVR Native: Sending broadcast hello.
I/ALVR Native: Sending broadcast hello.
I/ALVR Native: Sending broadcast hello.
I/ALVR Native: Sending broadcast hello.
I/ALVR Native: Sending broadcast hello.
Application terminated.
Hi,
Is it possible to include WaveVR version?
I can help on testing.
三星s8 gear Vr 真机 打开就奔库
run 的时候提示 WARNING: ABIs [arm64-v8a,armeabi-v7a,armeabi] set by 'android.injected.build.abi' gradle flag contained 'ARMEABI' not targeted by this project.
com/polygraphene/alvr/VrThread.java
private ArThread mArThread;
can not found ArThread
Hi,
I'm having problems compiling from sources.
Do you have any advice?
(Android studio version or compiling tools)
My objective is create a daydream version.
Thank you.
Hi, daydream also supports asynchronus timewarp.
¿do you think a daydream version will be possible?
thank you.
Hi @polygraphene, I'm thinking of building a UI for the ALVR client to allow users to manually input an IP address. The use cases is connecting to your gaming PC remotely over the internet, or in my case a virtual machine in the cloud.
I've been able to get it to connect by patching the client directly using the instructions in this issue. I'm getting a latency of around 80ms which is not superb, but is usable. So far I've played around 6 hours of blade and sorcery
Would you be open to merging a PR like that? Or is this feature just off the table for now?
I'm trying to build the app from source so I can add the ability to change IP addresses, but I'm getting a Error Configuring for the Project Sync and when I try to make I get a error "Cause: executing external native build for cmake\ALVRClient-2.3.1\ALVRClient-2.3.1\app\CMakeLists.txt"
WARNING: ABIs [arm64-v8a,armeabi-v7a,armeabi] set by 'android.injected.build.abi' gradle flag contained 'ARMEABI' not targeted by this project.
打开就崩溃
Running ALVR programs on other devices such as VIVE FOCUS will prompt you not to find com. oculus. system driver.
Alvr v2.3.1 arcore release crashes because of this error: thread priority security exception make sure the apk is signed. I have tried to sign the alvr v2.3.1 normal release and it worked, but when I sign the arcore release with the same osig file, it doesn't work.
Hi!
I can see, that in render.cpp, ovrFramebuffer_Create() is called with NUM_MULTI_SAMPLES (which is 4).
I was wondering if 4x multisampling adds anything to the visual quality, I think in the case of texture sampling it might not (but I could be totally wrong on this :) ).
On the other hand it causes 4x as much fragment shaders to be called, that increases the number of texture samples.
Hello @polygraphene
I want to convert YUV444 to RGB and then render it to the display .
How can we use OPENGL for the same or what are the other modification needed in the existing client code.
Any insights or guidance will be appreciated.
Thanks in advance
After about 10 - 120 seconds of connection, the render stops updating on the headset. I then have to restart my samsung s8 on android pie to complete the loop back to it not working after a time. The tracking continues to work flawlessly.
samsung SM-G965N (S9+)
not working
1run app
2 connect gear vr
3 blank screen
4 close app
i am running ALVR with my Oculus Quest (got the controller fix) and went into SteamVR. i can see the Void and thats it. when i run games i am still in that void area. This is also shown in the "Display VR View" button. I want to know whats going on with ALVR
Image:
https://imgur.com/a/biMGj8H
Is it possible to install the ARCore version into Oculus home. I did get it properly compiled with my Osig, but I always have to run it in Android first, then insert the GearVR. Is there a way to do it through a download keygenerator like the Non-Core version? Or somehow create a shortcut to it in Oculus Home?
PS. Also for anyone having ARcore issues with it crashing on load, I didn't realize I had to install the ARCore app from playstore first.
Hello @polygraphene
Please provide me information and guidance about GL_TEXTURE_EXTERNAL_OES.
Thank you in advance.
Hi
My goal was to fix the ALVR issues with the controllers being the wrong angle on the Oculus Quest.
I tried to build the latest source from this repo, but its missing classes, others have been refactored, in short: its not building at all for me.
Whats the latest working source code that supports with the Oculus Quest?
Thanks!
Hi, Vive Focus also supports asynchronus timewarp.
do you think a Vive Focus version will be possible?
thank you.
Adding those two options on MediaFormat seems to decrease decoding latency (from 15/20ms to 10ms with default settings) :
format.setInteger(MediaFormat.KEY_OPERATING_RATE, Short.MAX_VALUE);
format.setInteger(MediaFormat.KEY_PRIORITY, 0);
Didn't notice side effects, but it would be better with more test from more people.
Hi,
I am trying to build ALVRClient and I am running into bunch of build/compiler errors... full disclosure, I am a bit rusty on this but I has been successful compiling ALVR (server) from source but not having any luck with the client.
I am using Android Studio 3.4.1
Imported the project (If I try to just open it, it complain of missing files).
Validated Java version (1.8) which matches with the latest changes in the project.
but I may have something [basic] wrong...
any pointers/help greatly appreciated..
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.