Code Monkey home page Code Monkey logo

alvr-org / phonevr Goto Github PK

View Code? Open in Web Editor NEW
476.0 14.0 35.0 23.71 MB

Use Steam VR-enabled applications with your phone as HMD (Head-mounted display). The only Open-Source solution to similar commercial packages like VRidge, iVRy, Trinus etc etc.

License: GNU General Public License v3.0

C++ 67.72% C 10.72% Shell 0.67% CMake 0.47% Java 6.33% Kotlin 13.94% Makefile 0.15%
vr steamvr steamvr-driver phonevr phone-hmd asio eigen opengl-es wifi jni

phonevr's Introduction



PhonveVR
LogoPVRv0 3


Pictures used for representational purposes

Build status GitHub release (latest by date including pre-releases) Discord

Use Steam VR-enabled applications with your phone as VR HMD (Head-mounted display). The only Open-Source solution to similar commercial packages like VRidge, Riftcat, Trinus etc etc. Common-network can be any type of network between desktop and android app, even USB Tethering and Mobile Hotspots are supported.

Tabs Links
Roadmap/Plan/Future Todo Project Kanban
Latest Release Github Release
Previous Builds Github Actions
Issues Github Issue Tracker
Discuss/Chat/Help/Real-Time Updates/Any - Discord Discord Server Invite Link

Contents

Requirements

A PC with Windows 7 or above, A smartphone with Android 5.0 (Lollipop) or above (ALVR requires Android 8.0 or above) with OpenGL-ES 3.0 or above, Steam and some SteamVR applications installed.

Installation

PhoneVR(PVR) can be used with two servers ALVR and PVRServer. ALVR Server is recommended over PVRServer, both use different APIs.

Differences ALVR Server PhoneVR Server
Server/Desktop Side OpenVR API OpenVR API
Mobile Side Google Cardboard API Google VR API (deprecated)
GUI
User friendly Installer
Serverside hardware(GPU) Encoding
Serverside software Encoding
Automatic Firewall setting
Linux Support (*Partial*)
Developers Alvr-org PhoneVR
Supports other HMDs ? Quest etc.
Open-Source
Network throttling
Average Latency 150ms 1500ms
VRApplication Graphics manipulation
(Brightness, resolution, contrast etc.)
(Partial)
Code backend Rust + C++ C++

A. Installation using ALVR Server

  • Currently only ALVR v20.7.1 (latest stable) is supported by PhoneVR.
    • Older version
      • PhoneVR v1.3.0-beta -> ALVR v20.6.1
      • PhoneVR v1.2.0-beta -> ALVR v20.5.0
      • PhoneVR v1.1.0-beta -> ALVR v20.2.1
      • PhoneVR v1.0.0-beta -> ALVR v20.1.0
  • Use the install guide of ALVR Server from here.

B. Installation using Legacy PhoneVR Server

  • Make sure you have Steam and SteamVR installed (To find SteamVR on steam, Library -> Tools -> SteamVR).
  • Download latest release PhoneVR-Server-vX.X.X-xxxxx.zip of this repository.
  • Copy the whole folder PVRServer in driver folder of zip file into your SteamVR/drivers folder. (Default Path: C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers.
  • (Only for PhoneVR Server) To play, first open the Phone App(SteamVR should also be closed), then run the game of your choice on PC. (Obviously, both PC and Mobile should be on same Network, preferably Wifi 5.0)

Common Instructions for both Servers

  • Install the Android Apk on your mobile from Releases page.
  • Make sure that "Run in Background", "Auto Start"(Restart on Crash) permissions, if exists on your device(especially Xiaomi users), are given. Also make sure that any kind of 3rd party battery saver app dosen't kill PhoneVR when in background.
  • After opening the installed app, Choose ALVR(recommended) or PhoneVR Server, according to the server you installed.

Advanced Configuration

for ALVR Server

for Phone VR Server

  • Windows Driver Settings

    Windows SteamVR Driver, auto loads with SteamVR, and gets FrameTextures from VRApplication(like SteamVR Home, VRChat, etc.) via SteamVR. These Textures are then Encoded and Streamed, at specified game_fps, to Mobile device using x264 Encoder. Some configurations of this encoder can be adjusted via, pvrsettings.json in default installation location C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\PVRServer\.
    Default Settings :

    {
        "enable" : true,
        "game_fps" : 65,
        "video_stream_port" : 15243,
        "pose_stream_port" : 51423,
        "pairing_port" : 33333,
        "encoder" : {
            "preset" : "ultrafast",
            "tune" : "zerolatency",
            "qp" : 20,
            "profile" : "baseline"
        }
    }

    Most settings are self-explanatory. Any change in settings will require SteamVR to be restarted for application.

    • "encoder" : Encoder x264 Settings

      • "preset" : Can be set to "ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow" or "placebo" Warning: the speed of these presets scales dramatically. Ultrafast is a full 100 times faster than placebo! These presets affect the encoding speed. Using a slower preset gives you better compression, or quality per filesize, whereas faster presets give you worse compression. In general, you should just use the preset you can afford to wait for.

      • "tune" : Can be set to "film", "animation", "grain", "stillimage", "psnr", "ssim", "fastdecode", "zerolatency" Tune affects the video quality(and size), film being the best quality and gradually decreasing to the right

      • "profile" : Can be set to "baseline", "main", "high", "high10", "high422", "high444" Applies the restrictions of the given profile. Currently available profiles are specified above, from most to least restrictive. Does NOT guarantee that the given profile will be used: if the restrictions of "High" are applied to settings that are already Baseline-compatible, the stream will remain baseline. In short, it does not increase settings, only decrease them.

      • "qp" : Quantization packet constant, Range 0-51, 0-Lossless

      • "rc_method" : Rate Control Method, 1/2/3 Constant QP (CQP) - 0; Constant Rate factor (CRF) - 1; Average Bitrate (ABR) - 2; Default is 1 i.e., CRF with rf 24 (and rf_max 26)

      Other standard x264 settings,

      • "qcomp" : Default : 0
      • "keyint_max" : Default : -1
      • "intra_refresh" : Default : False
      • "bitrate" : Default : -1 (min 1000)

    Do only adjust when required, and keep a eye on pvrlog.txt file in default installation location C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\PVRServer\logs\ for "Skipped frame! Please re-tune the encoder parameters" messages. If you are getting these messages in excess, you may wish to downgrade settings since windows does not seems to have enough processing power and resources to render with existing settings.

Development

This Project is presently under testing. But, pull requests are welcome.

  • Windows PhoneVR Driver: <root>/code/windows/PhoneVR.sln

    • Compiled/Tested on Microsoft Visual Studio 2017
    • After building copy the driver_PhoveVR.dll and other files from <solution root>/build/[win32 or x64]/ to local driver folder.
    • For Runtime debugging, You need to Attach MSVS JIT debugger to vrserver.exe (which actually loads the driver_PhonveVR.dll)
    • For testing, this project has 2 Build Configs, Debug and Release. Debug has lots of debugging callouts to both local-driver-folder/pvrlog.txt and MSVS Debugger Output.
  • Android App: App folder: <root>/code/mobile/android/PhoneVR

    • Compiled/Tested on Android Studio 4.0.1
    • For testing, this project has 2 Build Configs, Debug and Release. Debug has lots of debugging callouts to logcat from both JAVA and JNI.
    • PhoneVR is Android AVD compatible, though PhoneVR Server networking is also AVD compatible, but ALVR Server networking need some more work for simulation.
      • PhoneVR APK when run on AVD automatically assigns 10.0.2.2 (default emu addr) to pcIP
      • After starting the AVD Emulator, need to run "adb forward tcp:33333 tcp:33333", in terminal/cmd, this will enable PVRServer -> Android Emulator based PVRAndroidApp communication.
  • External Vendor Libraries used (all Headers included in respective Projects):

  • Code styling

    • Repo enforces clang-format v16.0.0 (.clang-format) for C/C++ and spotless (.editorconfig, google-java-format, ktfmt) for Java/Kotlin files
    • To autofix clang-format'ing issues devs can use make format
    • To autofix spotless format issues devs can goto PhoneVR android project folder and use ./gradlew spotlessApply or use spotless-gradle plugin for AndroidStudio/IDEs

Troubleshooting

  • Android App doesn’t connect to Windows Steam VR even after opening Phone App first and then SteamVR on windows

    1. Make sure that both the Windows and Android devices are in the same Local Network. (connected to the same router/wifi device)
    2. Sometimes, the port which PhoneVR use to connect win/mobile devices, also known as Pairing Port (default :33333), might be used by other services on your devices(Windows/Android). Try changing the "Pairing Port" on Android PhoneVR App settings and pairing_port in C:\Program Files\PhoneVR\pvrsettings.json for Windows PVR driver and restart SteamVR. Both Windows Pairing port and Android Pairing port should be the same. Safe recommended port range : 30000 - 65535
  • Android App automatically comes back to "Discovery"(Home/AppStart) page after some VR Application usage

    • Check if Android System Battery saver or similar applications are killing the app when in background. Usually can be found is Android Setting -> Application Manager or Application Settings according to your Android device flavour/OEM.
  • Lag while using VR App on mobile

    • Make sure you are not using debug variant of APK(unless you really want to).
    • All relevant component's FPS are displayed on Mobile device when Settings -> Debug is checked. You can find out what the bottleneck component in the whole chain from VRApplication on windows to GoogleVR SDK renderer on Android is and resolve it.
  • Incase above mentioned things have not been helpful to you, then you might want to Install Debug variant of APK from [PhoneVR.zip]/android/arm7/debug which can help you/us to get more detailed logs.

  • Diagnostics Stats Nomenclature (ONLY PhoneVR Server) (in order from VRAppFrameCreation to MobileFrameDisplay):
    These stats can be enabled by checking Settings->Stats option. All the values must be stable and more or less equal to game_fps± 10 value in pvrsettings.json.

    Nomenclature
    --- @M - Mobile; @C - CPU/Desktop ---
    @FPS(s) :
    SR - StreamReceiver @M
    D - Media Decoder @M
    R - Frame Renderer @M
    
    cR - Frame Renderer @C
    SS - Stream Sender @C
    SW - Stream Writer @C
    E - Media Encoder @C
    VRa - VR Application FPS @C
    
    @Latency(s) :
    tSS - Time Delay between RendererGotFrame and RendererRendered @C
    tE - Time Delay between EncoderGotFrame and EncoderEncoded @C
    tND - NetworkDelay - Time Delay between DataPacketSent from @C to DataPacketReceived @M
    tSR - StreamReceiver - Time Delay between DataPacketSent from @C to DataSentToMediaDecoder @M

    PhonveVR FPS

Issue / Bug Reporting

Prior to reporting your Issue/Bug, please check out the ongoing issues (here and here), If you have the same issue, you can join and watch that discussion(s).

You can use the Github Issues to submit PhoneVR related issues/bugs related to working of this Project or for any query. For reporting ALVRServer related issues please use ALVR Github Issues.

For quick resolution you may want to add the following data along with your issue/bug report,

For Installation-time or SteamVR-and-PhoneVR-linking issues,

  • steamvr.vrsettings file in default location C:\Program Files (x86)\Steam\config\steamvr.vrsettings
  • vrserver.txt file in default location C:\Program Files (x86)\Steam\logs\vrserver.txt
  • Open a cmd in the follow default directory and copy paste output of the vrcmd command. C:\Program Files (x86)\Steam\steamapps\common\SteamVR\bin\win64\vrcmd.exe

For networking issues,

  • Network Capture of Desktop .pcap file. How-to-get-it-> Here
  • Network Capture of Android/Mobile .pcap file. How-to-get-it-> Here

If Unexpected android app crashes occur(unexpected means, you did NOT get this screen when PhoneVR crashed),

  1. Open PhoneVR android app and let it crash.
  2. Collect bugreport-xxx.zip from android device (How-to under "Capture a bug report from a device" paragraph here)
  3. Attach the bugreport-xxx.zip file in Discord or GitHub or mail to "[email protected]"

Common files required for all kinds issues,

  • If using PhoneVR Legacy server
    • pvrLog.txt and/or pvrDebugLog.txt file(s) in default windows location C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\PVRServer\logs
    • pvrLog.txt and/or pvrDebugLog.txt file(s) in default android location .../Android/data/virtualis.phonevr/files/PVR/. Optionally you can also attach Log from your Settings page on the app.
  • If using ALVR
    • ALVR logs from its server, are available in the GUI (you may which to enable Setting -> Logging -> Log to disk if you want to keep saving the logs to file, even after alvr is closed
  • Screenshots / Videos are much more helpful for developers to understand the issues faster.
  • And ofcourse, how to reproduce the issue :)

phonevr's People

Contributors

dependabot[bot] avatar scraprats avatar shootingking-am avatar thezofx avatar yuckdevchan avatar zarik5 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

phonevr's Issues

PhoneVr stuck at black screen

I have an issue in PhoneVR. Everything goes normally as it should be. But when i connect to the game. ig get stuck into a black screen. The game works fine, but in the cellphone, it just shows a black screen

Feature suggestion: Reconnect button

Sometimes, I accidentally close PhoneVR and the only way to reconnect is to close and re-open SteamVR. It would be nice if there were a way to auto-reconnect in case of connection loss. I'd be interested in helping out, but I'm not really sure where to start (I guess this would have to be done on the SteamVR driver side?)

Shifted image on the phone

I have a problem that my VR output on the phone is shifted to the right. I think it is because of my camera cutout in the display. I have Redmi Note 9.

The result:
Screenshot_2021-08-11-10-12-59-959_viritualisres phonevr

I have an option for the fullscreen in the MIUI settings, didn't work.

After enabling the fullscreen:
Screenshot_2021-08-11-10-13-59-024_viritualisres phonevr

I used Google Cardboard (2015 I/O). (With the QR code read in the Cardboard app)

Also I would like to add a function to change the lens shape on the phone screen, as the rectangular shape would have the best FOV.

Android client crashes: StackCorrpution arround getifaddrs() and pthread_mutex_lock called on a destroyed mutex libGVR

steps and descriptions:

  • i install server on steam windows as instructed (registering driver also)
  • launch phonevr android debug app
  • launch steamvr on pc
  • phonevr chashes on android
  • steamvr seems to continue but without connection to android client (visor no encontrado = viewer not found)
  • ...
  • close everything and start android client again
  • open steamvr again
  • a message displays "un componente clave de steamvr no funciona correctamente, reinicia steamvr" (a key steamvr component doesnt work, restart steamvr)
  • ...
  • restart steamvr (from steam, i.e. leaving steam open)
  • a popups displays = "se ha producido un error al actualizar steamvr, la aplicacion se esta ejecutando (an error has occured when updating steamvr, the application is running)
  • ...
  • close everything steam and start steamvr again
  • same as above (a key component doesnt work blah...)
  • steamvr settings doesnt work also (does nothing)

more info:

  • android pie
  • armv8 (tested with armv7 = same result)
  • windows 7 x64 ultimate spanish
  • same results with pvr v0.1 from beta 53 and below

logs:

00:37:16-10.11.2020 - PVR-JNI-I: --------------------------------------------------------------------------------
00:37:16-10.11.2020 - PVR-JNI-I: JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
00:37:16-10.11.2020 - PVR-JNI-I: --------------------------------------------------------------------------------
00:37:16-10.11.2020 - PVR-JNI-I: JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
00:37:16-10.11.2020 - PVR-JNI-I: JNI startAnnouncer: :33333
00:37:16-10.11.2020 - PVR-JNI-I: [TCPTalker::TCPTalker] Init'ed with p:33333 isServer:1 ip:
00:37:16-10.11.2020 - PVR-JNI-I: JNI stopAnnouncer
00:37:20-10.11.2020 - PVR-JNI-I: --------------------------------------------------------------------------------
00:37:20-10.11.2020 - PVR-JNI-I: JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
00:37:20-10.11.2020 - PVR-JNI-I: --------------------------------------------------------------------------------
00:37:20-10.11.2020 - PVR-JNI-I: JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
00:37:20-10.11.2020 - PVR-JNI-I: JNI startAnnouncer: :33333
00:37:20-10.11.2020 - PVR-JNI-I: [PVRSockets::PVRStartAnnouncer] TCP error: Bad address
00:37:20-10.11.2020 - PVR-JNI-I: [TCPTalker::TCPTalker] Init'ed with p:33333 isServer:1 ip:
00:37:22-10.11.2020 - PVR-JNI-I: JNI stopAnnouncer
00:39:17-10.11.2020 - PVR-JNI-I: --------------------------------------------------------------------------------
00:39:17-10.11.2020 - PVR-JNI-I: JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
00:39:17-10.11.2020 - PVR-JNI-I: JNI startAnnouncer: :33333
00:39:17-10.11.2020 - PVR-JNI-I: [PVRSockets::PVRStartAnnouncer] TCP error: Bad address
00:39:17-10.11.2020 - PVR-JNI-I: [TCPTalker::TCPTalker] Init'ed with p:33333 isServer:1 ip:
00:50:26-10.11.2020 - PVR-JNI-I: JNI callJavaMethod: Calling segueToGame
00:50:26-10.11.2020 - PVR-JNI-I: JNI stopAnnouncer
00:50:26-10.11.2020 - PVR-JNI-I: JNI createRenderer
00:50:26-10.11.2020 - PVR-JNI-I: JNI startSendSensorData 51423
00:50:26-10.11.2020 - PVR-JNI-I: JNI onResume
00:59:34-10.11.2020 - PVR-JNI-I: --------------------------------------------------------------------------------
00:59:34-10.11.2020 - PVR-JNI-I: JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
00:59:34-10.11.2020 - PVR-JNI-I: --------------------------------------------------------------------------------
00:59:34-10.11.2020 - PVR-JNI-I: JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
00:59:34-10.11.2020 - PVR-JNI-I: JNI startAnnouncer: :33333
00:59:34-10.11.2020 - PVR-JNI-I: [TCPTalker::TCPTalker] Init'ed with p:33333 isServer:1 ip:
00:59:39-10.11.2020 - PVR-JNI-I: JNI stopAnnouncer

Cannot save settings in app, connection is not working

logFromApp.txt
pvrlog.txt
vrserver.txt
SteamVr

If I want to change settings in the app, I can't because there is no saving button and if I go back by hitting the android triangle button, it will just cancel all my changes. Also if I want to connect it to the SteamVr, it crashes and restarts and say the addon was blocked because of the crash. If I try to unblock it, it will just restart and do the same thing.

My phone is: Xoami POCO X3 NFC
Sorry for the pictures it is in the Czech language.

[Issue] Phone tracking works - no video

Issue

SteamVR detects the phone and enables tracking, but the phone has a black screen. I could launch a game in a window and see the viewport move when I tilt the phone, but nothing shows up on the phone itself. I double-checked that the video port was the same for both the server and the client, but it seems to check out ok. This issue is for the PhoneVR-0.2-beta_70 release.

Phone Specs

Model: OnePlus Nord N200 5G
CPU: 2.0 GHz dual-core Kryo 460 Gold & 1.8GHz hexa-core Kryo 460 Silver
GPU: Adreno 619
Resolution: 2400 x 1080 (This is larger than my PC screen if that means anything)

Logs

pvrlog-phone.txt
pvrlog-server.txt
vrserver.txt
steamvr.vrsettings (I had to rename the file to .txt for GitHub to allow it)

[Issue] OpenGLSL Error: #version must be on the first line

Describe the bug/issue

RenderUtils::loadShader:: Error has Occurred while Compling Shader Object: ErrorLog: 0:2: P0005: #version must be on the first line in a program and only whitespace are allowed in the declaration

Local Time when Issue has occured
21:08:01-24.01.2021

Envirnoment (please complete the following information):

  • Desktop OS: __
  • Android OS: stock Oreo 8
  • Mobile Device Model: GS7 930f
  • OpenGL-ES v3.1 n v3.2, GPU: Qualcomm Adreno 530

Additional context
Also, app does not respond to back button, tracking keeps working while app is in background, this second one not really an issue, or maybe

Attached Logs
pvrlog Desktop.txt
pvrlog Android.txt

Reproted by: Aramož#2012

HMD Not Found

Hi
I've been trying to get PhoneVR working, but Steam VR does not see any HMD. I've just downloaded all the latest files again, and once again followed all steps.

Once I follow all steps, start the phone app, and then run a VR app on the PC, Steam says the HMD is missing. From there, I have been unable to move forward.

Log files attached.

To recreate, I just followed the instructions given.
I have used "auto" and manually input the IP for the PC, with same results.
I tested using the Windows Mixed Reality for SteamVR (although things never got to a stage where I could actually start setup or see this)

Windows 10, fully updated.
Android 9.10 fully updated.
Steam fully updated

"D:\Program Files (x86)\Steam\steamapps\common\SteamVR\bin\win64\vrcmd.exe"
VR_Init failed with VRInitError_Init_HmdNotFound

steamvr-vrsettings.zip
vrserver.txt
pvrlog.txt
pvrsettings-json.zip

PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : JNI startAnnouncer: :33333
PVR-JNI-I : JNI stopAnnouncer
PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : JNI startAnnouncer: :33333
PVR-JNI-I : TCP error: Bad address
PVR-JNI-I : [PVRStartAnnouncer] caught Exception: send_to: Operation not permitted
PVR-JNI-I : JNI stopAnnouncer
PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : JNI startAnnouncer: :33333
PVR-JNI-I : TCP error: Bad address
PVR-JNI-I : JNI stopAnnouncer
PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : JNI startAnnouncer: :33333
PVR-JNI-I : TCP error: Bad address
PVR-JNI-I : JNI stopAnnouncer
PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : JNI startAnnouncer: :33333
PVR-JNI-I : [PVRStartAnnouncer] caught Exception: send_to: Network is unreachable
PVR-JNI-I : JNI stopAnnouncer
PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : JNI startAnnouncer: 192.168.0.16:33333
PVR-JNI-I : TCP error: Bad address
PVR-JNI-I : JNI stopAnnouncer
PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : --------------------------------------------------------------------------------
PVR-JNI-I : JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
PVR-JNI-I : JNI startAnnouncer: 192.168.0.16:33333
PVR-JNI-I : JNI stopAnnouncer

Phone VR crash Issue...

Hi, PVR Devs, I am facing a crash with the following Error:

java.lang.RuntimeException: Unable to start activity ComponentInfo{viritualisres.phonevr/viritualisres.phonevr.GameActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.WindowInsetsController com.android.internal.policy.DecorView.getWindowInsetsController()' on a null object reference

You are doing a good job. Hope this helps ;)

[suggestion] better installer, like other apps

hi... i was testing another vr-phone app = irun vr

it functions similar to this in the sense you use your phone as vr visor, install a software/steamrv-plugin (as msi file)... then connects with phone each other through network (using mdns i guess)

what came my attention is installation for steamvr is so straightforward and seamless ... you install the msi and the software just appear inside steamvr by itself... and it launches and place an icon in system tray automatically, and steamvr recognizes it at once, all without user intervention

image

do you know how they do it?? .. try it, maybe you will get some ideas

Random disconnecting when in VR.

When Im playing in VR, sometimes, the app throws me back to the menu for finding the network. Would it be possible to make this app communicate through the USB cable? I also found a big latency even when Im on a 5G Wifi (300Mbps)

Hardware encoding support

I noticed that PhoneVR uses x264 encoding, is support for gpu Hardware encoding such as NVENC, Quick Sync, or VCE planned?

PhoneVR doesn't use full screen area (including notch)

I mean, even on a custom ROM without any Xiaomi crap, I still have the cropped and shifted image next to my notch.

Originally posted by @Mineplayerminer in https://github.com/ShootingKing-AM/PhoneVR/issues/88#issuecomment-1319661994

There are only 3 apps that don't have that issue:

  1. Youtube in "Watch in Cardboard" mode.
  2. RiftCat Vridge (as long as I don't use legacy backend, which doesn't have reprojection).
  3. Home Theater VR by blevok (after recent updates)

[Todo] Upgrading GoogleVR NDK SDK(deprecated) to Google Cardboard SDK

PhoneVR still uses Google deprecated GVR SDK to Gogole Cardboard NDK SDK. Though Google promises device compatibility, its better to move to more efficient SDK.

November 6, 2019 update:
There's a new open source Cardboard SDK that offers a streamlined API, improved device compatibility, and built-in viewer profile QR code scanning. We recommend that all developers actively building for Google Cardboard migrate to the new Cardboard SDK: iOS, Android NDK, Unity XR Plugin (SDK)

Vertical Movement detection

Hello,
I am having trouble moving up and down in steamvr. I set my headset position to 0cm in steamvr setup, and now I cannot move up or down. Adding vertical movement could be helpful in any game.
Thank you for your amazing software.

Gyro stops working

Sometimes, when I connect my phone (xiaomi poco m3 pro 5g) to my laptop via usb and tethering and start steamvr, it takes the gyro position where it was when it launched, but doesnt move when I move my phone, rn the only way to fix that is to restart the phone.

No USB Tethering support

I have a problem. I have 2 routers, so I have a double NAT. That means I can't use the PhoneVR as my PC is connected to my main router and my phone to the Wi-Fi router. I tried disabling the DHCP and re-plugging it onto the LAN port. It didn't work. I would like to see the USB Tethering feature. It would decrease the latency and increase the picture quality. This was causing the SteamVR to crash after I manually typed the IP of my PC on the phone.

driver installation fail in non english windows versions

error on "install-PhoneVR.bat" granting permissions on windows versions other than english

it doesn't found specified local user account and fails to grant installation directory permissions
for example, in my SPANISH windows installation i had to change line 35 (last commit 3 apr 2017) from

icacls %instpath% /grant:r Everyone:(OI)(CI)F

to

icacls %instpath% /grant:r Todos:(OI)(CI)F

install.bat should be aware of OS localization, or use numeric local user account instead

Edit: i forgot to mention i am on windows 7 pro x64 spanish

[Issue] NullPointerException: Attempt to invoke virtual method WindowsInsetsController

Describe the bug/issue
NullPointerException: Attempt to invoke virtual method WindowsInsetsController.
The app crashes a split second after Steamvr tries to establish a connection to it

Envirnoment:

  • Desktop OS: __
  • Android OS: Lineageos 18.1 (Android 11)
  • Mobile Device Model: Oneplus 5

Stacktrace:

java.lang.RuntimeException: Unable to start activity ComponentInfo{viritualisres.phonevr\/viritualisres.phonevr.GameActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.WindowInsetsController com.android.internal.policy.DecorView.getWindowInsetsController()' on a null object reference
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:223)
	at android.app.ActivityThread.main(ActivityThread.java:7660)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)\nCaused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.WindowInsetsController com.android.internal.policy.DecorView.getWindowInsetsController()' on a null object reference
	at com.android.internal.policy.PhoneWindow.getInsetsController(PhoneWindow.java:3880)
	at viritualisres.phonevr.GameActivity.setImmersiveSticky(GameActivity.kt:236)
	at viritualisres.phonevr.GameActivity.onCreate(GameActivity.kt:91)
	at android.app.Activity.performCreate(Activity.java:8000)
	at android.app.Activity.performCreate(Activity.java:7984)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404)
	... 11 more

LogCat:

01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1261)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:1117)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:680)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:532)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:479)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at viritualisres.phonevr.MainActivity.onCreate(MainActivity.kt:30)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.app.Activity.performCreate(Activity.java:8000)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.app.Activity.performCreate(Activity.java:7984)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.os.Handler.dispatchMessage(Handler.java:106)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.os.Looper.loop(Looper.java:223)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at android.app.ActivityThread.main(ActivityThread.java:7660)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at java.lang.reflect.Method.invoke(Native Method)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
01-26 21:49:21.814 E\/TypefaceCompatApi26Impl(23308): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
01-26 21:49:21.827 D\/PhoneVR (23308): ExtDir: \/storage\/emulated\/0\/Android\/data\/viritualisres.phonevr\/files, ExtRead Only? :false, ExtAvalb ?:true
01-26 21:49:21.827 D\/PVR-JNI-D(23308): Directory Error 17 (\/storage\/emulated\/0\/Android\/data\/viritualisres.phonevr\/files): \/storage\/emulated\/0\/Android\/data\/viritualisres.phonevr\/files\/PVR\/ - File exists
01-26 21:49:21.828 W\/alisres.phonevr(23308): type=1400 audit(0.0:488): avc: denied { bind } for scontext=u:r:untrusted_app:s0:c214,c256,c512,c768 tcontext=u:r:untrusted_app:s0:c214,c256,c512,c768 tclass=netlink_route_socket permissive=0 b\/155595000 app=viritualisres.phonevr
01-26 21:49:21.828 W\/alisres.phonevr(23308): type=1400 audit(0.0:489): avc: denied { bind } for scontext=u:r:untrusted_app:s0:c214,c256,c512,c768 tcontext=u:r:untrusted_app:s0:c214,c256,c512,c768 tclass=netlink_route_socket permissive=0 b\/155595000 app=viritualisres.phonevr
01-26 21:49:21.830 W\/GooglePlayServicesUtil(23308): Google Play Store is missing.
01-26 21:49:21.830 W\/FA      (23308): Service invalid
01-26 21:49:21.846 I\/FA      (23308): Tag Manager is not found and thus will not be used
01-26 21:49:21.852 I\/AdrenoGLES(23308): QUALCOMM build                   : 6209c5d, Ifdcc64d6e8
01-26 21:49:21.852 I\/AdrenoGLES(23308): Build Date                       : 12\/12\/19
01-26 21:49:21.852 I\/AdrenoGLES(23308): OpenGL ES Shader Compiler Version: EV031.27.05.03
01-26 21:49:21.852 I\/AdrenoGLES(23308): Local Branch                     : mybranchea1c9b4a-9e05-f149-a3b2-1458d0b52ae8
01-26 21:49:21.852 I\/AdrenoGLES(23308): Remote Branch                    : quic\/gfx-adreno.lnx.1.0.r85-rel
01-26 21:49:21.852 I\/AdrenoGLES(23308): Remote Branch                    : NONE
01-26 21:49:21.852 I\/AdrenoGLES(23308): Reconstruct Branch               : NOTHING
01-26 21:49:21.852 I\/AdrenoGLES(23308): Build Config                     : C O 9.0.3 AArch32
01-26 21:49:21.855 I\/AdrenoGLES(23308): PFP: 0x005ff112, ME: 0x005ff066
01-26 21:49:21.872 I\/Gralloc4(23308): mapper 4.x is not supported
01-26 21:49:21.872 W\/Gralloc3(23308): mapper 3.x is not supported
01-26 21:49:21.893 I\/TetheringManager(23308): registerTetheringEventCallback:viritualisres.phonevr
01-26 21:49:21.918 W\/ContextImpl(23308): Failed to ensure \/data\/user\/0\/com.google.android.gms\/shared_prefs: mkdir failed: ENOENT (No such file or directory)
01-26 21:49:43.139 W\/SdkConfigurationReader(23308): VrParamsProvider returned null params, using defaults.
01-26 21:49:43.141 V\/GvrLayoutFactory(23308): Dynamic library loading disabled, using built-in GvrLayout implementation.
01-26 21:49:43.159 D\/ConfigUtils(23308): Parameters file not found for reading: java.io.FileNotFoundException: \/storage\/emulated\/0\/Cardboard\/current_device_params: open failed: ENOENT (No such file or directory)
01-26 21:49:43.160 I\/GVR     (23308): [vr\/gvr\/capi\/src\/gvr.cc:103] Initialized GVR version 1.101.0
01-26 21:49:43.167 D\/GvrLayoutFactory(23308): Loaded GvrLayout from SDK.
01-26 21:49:43.168 D\/AndroidRuntime(23308): Shutting down VM
01-26 21:49:43.169 E\/AndroidRuntime(23308): FATAL EXCEPTION: main
01-26 21:49:43.169 E\/AndroidRuntime(23308): Process: viritualisres.phonevr, PID: 23308
01-26 21:49:43.169 E\/AndroidRuntime(23308): java.lang.RuntimeException: Unable to start activity ComponentInfo{viritualisres.phonevr\/viritualisres.phonevr.GameActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.WindowInsetsController com.android.internal.policy.DecorView.getWindowInsetsController()' on a null object reference
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.os.Handler.dispatchMessage(Handler.java:106)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.os.Looper.loop(Looper.java:223)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.app.ActivityThread.main(ActivityThread.java:7660)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at java.lang.reflect.Method.invoke(Native Method)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
01-26 21:49:43.169 E\/AndroidRuntime(23308): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.WindowInsetsController com.android.internal.policy.DecorView.getWindowInsetsController()' on a null object reference
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at com.android.internal.policy.PhoneWindow.getInsetsController(PhoneWindow.java:3880)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at viritualisres.phonevr.GameActivity.setImmersiveSticky(GameActivity.kt:236)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at viritualisres.phonevr.GameActivity.onCreate(GameActivity.kt:91)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.app.Activity.performCreate(Activity.java:8000)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.app.Activity.performCreate(Activity.java:7984)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404)
01-26 21:49:43.169 E\/AndroidRuntime(23308): 	... 11 more
01-26 21:49:43.169 E\/ACRA    (23308): ACRA caught a RuntimeException for viritualisres.phonevr
01-26 21:49:43.169 E\/ACRA    (23308): java.lang.RuntimeException: Unable to start activity ComponentInfo{viritualisres.phonevr\/viritualisres.phonevr.GameActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.WindowInsetsController com.android.internal.policy.DecorView.getWindowInsetsController()' on a null object reference
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431)
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595)
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.os.Handler.dispatchMessage(Handler.java:106)
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.os.Looper.loop(Looper.java:223)
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.app.ActivityThread.main(ActivityThread.java:7660)
01-26 21:49:43.169 E\/ACRA    (23308): 	at java.lang.reflect.Method.invoke(Native Method)
01-26 21:49:43.169 E\/ACRA    (23308): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
01-26 21:49:43.169 E\/ACRA    (23308): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
01-26 21:49:43.169 E\/ACRA    (23308): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.WindowInsetsController com.android.internal.policy.DecorView.getWindowInsetsController()' on a null object reference
01-26 21:49:43.169 E\/ACRA    (23308): 	at com.android.internal.policy.PhoneWindow.getInsetsController(PhoneWindow.java:3880)
01-26 21:49:43.169 E\/ACRA    (23308): 	at viritualisres.phonevr.GameActivity.setImmersiveSticky(GameActivity.kt:236)
01-26 21:49:43.169 E\/ACRA    (23308): 	at viritualisres.phonevr.GameActivity.onCreate(GameActivity.kt:91)
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.app.Activity.performCreate(Activity.java:8000)
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.app.Activity.performCreate(Activity.java:7984)
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
01-26 21:49:43.169 E\/ACRA    (23308): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404)
01-26 21:49:43.169 E\/ACRA    (23308): 	... 11 more
01-26 21:49:43.184 D\/CompatibilityChangeReporter(23308): Compat change id reported: 149924527; UID 10214; state: ENABLED
01-26 21:49:43.184 D\/CompatibilityChangeReporter(23308): Compat change id reported: 132649864; UID 10214; state: DISABLED

Issue reported by @barkely128

[Todo] Add Windows defender firewall inbound/outbound rules

Add Windows defender firewall inbound/outbound rules or promt for rules addition in installation.
Ideally there should be no issue, since SteamVR loads PhonvVR, therefore SteamVR firewall rules (normally to allow connections) should be applied for PhoneVR on desktop. But just to be sure...

[Todo] Add Funtions/Classes Documentation

Currently the codes dont have exact documentation, Makes it hard for contributors to understand and inhibits developmental process. Add Funtions/Classes/Files Documentation/Wiki

  • Desktop(Server) side
  • Android(Client) side

Is this application still working?

Last release more than a year ago...
I might try if it does tomorrow or sometime next week, but if anyone knows if it actually still works, I'd be happy to know

PhoneVR stuck at black screen

I have an issue in PhoneVR. Everything goes normally as it should be. But when i connect to the game. ig get stuck into a black screen. The game works fine, but in the cellphone, it just shows a black screen

[Issue] video on phone is too blurry

It still works and easy to install.the only problem to me is the video on Phone is too blurry。how can I set it to
a higher resolution?
image
image
I tried vridge,the video of that app is clear。

No Output

The Server is connected to my phone, but there is no display output on the phone

Did i break it?

I changed the install path of the driver and i manually had to add it to vrpathreg, to get it to register in the add-ons page.
But it doesn't connect to my phone at all.

Ran on Windows 10
With Android 9 phone

And the pvrlog is blank

Linux Support

Any chance this could be made compatible with SteamVR for Linux?

Does the server side rely on windows-specific APIs?

phoneVR shows as black screen when entering a game

Even after following the instructions, my phone could not get past the black screen. I previously got the correct screens, but now it's just black. I have completely shut down VR services and edited some settings (not ports) and tried again. The same thing happened. I tried reapplying the driver files to steamVR once Vr services were shut down. Still, nothing happened.

Computer PVR logs:
pvrlog.txt

Phone PVRlogs:
pvrlog.txt

in case you are wondering, I am using an S21 ultra and a PC on windows 11

Edit: I tried uninstalling driver4VR and it worked. However, I would like to use it along PVR. Once again, it had worked previously but I have no idea why this conflict happens

[Build] PhoneVR crash when I open SteamVR

I build a new PhoneVR APK without change any code,but when I test the case,apk crash

error log is aboult:

02-02 15:41:14.049  2436  2436 F libc    : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 2436 (alisres.phonevr), pid 2436 (alisres.phonevr)
02-02 15:41:14.070 17915 17915 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
02-02 15:41:14.070   796   796 I tombstoned: received crash request for pid 2436
02-02 15:41:14.070 17915 17915 I crash_dump64: performing dump of process 2436 (target tid = 2436)
02-02 15:41:14.073 17915 17915 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-02 15:41:14.073 17915 17915 F DEBUG   : Build fingerprint: 'OnePlus/OnePlus8Pro_CH/OnePlus8Pro:11/RP1A.201005.001/2202142213:user/release-keys'
02-02 15:41:14.073 17915 17915 F DEBUG   : Revision: '0'
02-02 15:41:14.073 17915 17915 F DEBUG   : ABI: 'arm64'
02-02 15:41:14.073 17915 17915 F DEBUG   : Timestamp: 2023-02-02 15:41:14+0800
02-02 15:41:14.073 17915 17915 F DEBUG   : pid: 2436, tid: 2436, name: alisres.phonevr  >>> viritualisres.phonevr <<<
02-02 15:41:14.073 17915 17915 F DEBUG   : uid: 10447
02-02 15:41:14.073 17915 17915 F DEBUG   : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
02-02 15:41:14.073 17915 17915 F DEBUG   : Abort message: 'JNI DETECTED ERROR IN APPLICATION: use of invalid jobject 0x948
02-02 15:41:14.073 17915 17915 F DEBUG   :     from long com.google.vr.ndk.base.GvrApi.nativeCreate(java.lang.ClassLoader, android.content.Context, long, int, int, float, float, com.google.vr.ndk.base.GvrApi$PoseTracker)'
02-02 15:41:14.073 17915 17915 F DEBUG   :     x0  0000000000000000  x1  0000000000000984  x2  0000000000000006  x3  0000007fe273c7b0
02-02 15:41:14.073 17915 17915 F DEBUG   :     x4  000000777ac2c000  x5  000000777ac2c000  x6  000000777ac2c000  x7  0000000000360b1e
02-02 15:41:14.073 17915 17915 F DEBUG   :     x8  00000000000000f0  x9  ec9e9c3efce75fbc  x10 0000000000000000  x11 ffffffc0fffffbdf
02-02 15:41:14.073 17915 17915 F DEBUG   :     x12 0000000000000001  x13 0000000000000112  x14 0002eb4b82461551  x15 00000c56f9ea9673
02-02 15:41:14.073 17915 17915 F DEBUG   :     x16 00000077764c7c80  x17 00000077764a9bb0  x18 000000777ab9e000  x19 0000000000000984
02-02 15:41:14.073 17915 17915 F DEBUG   :     x20 0000000000000984  x21 00000000ffffffff  x22 0000000000000002  x23 0000000000000002
02-02 15:41:14.073 17915 17915 F DEBUG   :     x24 0000007483060157  x25 0000000000000001  x26 000000748307711c  x27 000000748367c000
02-02 15:41:14.073 17915 17915 F DEBUG   :     x28 b4000074a3856ab0  x29 0000007fe273c830
02-02 15:41:14.073 17915 17915 F DEBUG   :     lr  000000777645d420  sp  0000007fe273c790  pc  000000777645d44c  pst 0000000000001000
02-02 15:41:14.172 17915 17915 F DEBUG   : backtrace:
02-02 15:41:14.172 17915 17915 F DEBUG   :       #00 pc 000000000004e44c  /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: 3b0dd94de78a8a796f793e81b7adfbd0)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #01 pc 000000000055d5f0  /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+2308) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #02 pc 0000000000013be4  /system/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+76) (BuildId: c232dee8f1f12bb33a7ae92577018c6b)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #03 pc 0000000000012fb4  /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+320) (BuildId: c232dee8f1f12bb33a7ae92577018c6b)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #04 pc 0000000000385378  /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+2572) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #05 pc 00000000003854e8  /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+188) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #06 pc 00000000005b2d74  /apex/com.android.art/lib64/libart.so (art::Thread::DecodeJObject(_jobject*) const+848) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #07 pc 00000000003f877c  /apex/com.android.art/lib64/libart.so (art::JNI<false>::NewWeakGlobalRef(_JNIEnv*, _jobject*)+636) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #08 pc 0000000000051ee4  /data/app/~~aPZgrPuTGcNyKwxxAQQA4g==/viritualisres.phonevr-FZjeHivIvn7a3q4Ie_0Rdw==/lib/arm64/libgvr.so (BuildId: a46362eab36141061a7de61fc7ae6803)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #09 pc 00000000001aa578  /data/app/~~aPZgrPuTGcNyKwxxAQQA4g==/viritualisres.phonevr-FZjeHivIvn7a3q4Ie_0Rdw==/lib/arm64/libgvr.so (Java_com_google_vr_ndk_base_GvrApi_nativeCreate+100) (BuildId: a46362eab36141061a7de61fc7ae6803)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #10 pc 000000000003eab8  /data/app/~~aPZgrPuTGcNyKwxxAQQA4g==/viritualisres.phonevr-FZjeHivIvn7a3q4Ie_0Rdw==/oat/arm64/base.odex (art_jni_trampoline+248)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #11 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #12 pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #13 pc 0000000000318460  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #14 pc 000000000030f84c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+696) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #15 pc 00000000006825c4  /apex/com.android.art/lib64/libart.so (MterpInvokeDirectRange+436) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #16 pc 000000000012dc14  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct_range+20) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #17 pc 00000000003073a0  /data/app/~~aPZgrPuTGcNyKwxxAQQA4g==/viritualisres.phonevr-FZjeHivIvn7a3q4Ie_0Rdw==/oat/arm64/base.vdex (com.google.vr.ndk.base.GvrApi.<init>+160)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #18 pc 000000000067f44c  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+1248) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #19 pc 000000000012d914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #20 pc 0000000000308878  /data/app/~~aPZgrPuTGcNyKwxxAQQA4g==/viritualisres.phonevr-FZjeHivIvn7a3q4Ie_0Rdw==/oat/arm64/base.vdex (com.google.vr.ndk.base.GvrLayoutImpl.init+38)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #21 pc 000000000067f44c  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+1248) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #22 pc 000000000012d914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #23 pc 00000000003086a2  /data/app/~~aPZgrPuTGcNyKwxxAQQA4g==/viritualisres.phonevr-FZjeHivIvn7a3q4Ie_0Rdw==/oat/arm64/base.vdex (com.google.vr.ndk.base.GvrLayoutImpl.<init>+80)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #24 pc 000000000067f44c  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+1248) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #25 pc 000000000012d914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #26 pc 0000000000308646  /data/app/~~aPZgrPuTGcNyKwxxAQQA4g==/viritualisres.phonevr-FZjeHivIvn7a3q4Ie_0Rdw==/oat/arm64/base.vdex (com.google.vr.ndk.base.GvrLayoutImpl.<init>+2)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #27 pc 000000000067f44c  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+1248) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #28 pc 000000000012d914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #29 pc 0000000000307828  /data/app/~~aPZgrPuTGcNyKwxxAQQA4g==/viritualisres.phonevr-FZjeHivIvn7a3q4Ie_0Rdw==/oat/arm64/base.vdex (com.google.vr.ndk.base.GvrLayoutFactory.createFromCurrentPackage+8)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #30 pc 000000000067fd2c  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+1224) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #31 pc 000000000012d994  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #32 pc 00000000003077f2  /data/app/~~aPZgrPuTGcNyKwxxAQQA4g==/viritualisres.phonevr-FZjeHivIvn7a3q4Ie_0Rdw==/oat/arm64/base.vdex (com.google.vr.ndk.base.GvrLayoutFactory.create+24)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #33 pc 0000000000305d88  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.11595045141414065483)+268) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #34 pc 000000000030dd78  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+200) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #35 pc 000000000030e770  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+968) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #36 pc 000000000067fa88  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+548) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.172 17915 17915 F DEBUG   :       #37 pc 000000000012d994  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #38 pc 00000000003090fe  /data/app/~~aPZgrPuTGcNyKwxxAQQA4g==/viritualisres.phonevr-FZjeHivIvn7a3q4Ie_0Rdw==/oat/arm64/base.vdex (com.google.vr.ndk.base.GvrLayout.init+26)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #39 pc 000000000067f44c  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+1248) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #40 pc 000000000012d914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #41 pc 0000000000309064  /data/app/~~aPZgrPuTGcNyKwxxAQQA4g==/viritualisres.phonevr-FZjeHivIvn7a3q4Ie_0Rdw==/oat/arm64/base.vdex (com.google.vr.ndk.base.GvrLayout.<init>+18)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #42 pc 000000000067f44c  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+1248) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #43 pc 000000000012d914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #44 pc 000000000037fac0  /data/app/~~aPZgrPuTGcNyKwxxAQQA4g==/viritualisres.phonevr-FZjeHivIvn7a3q4Ie_0Rdw==/oat/arm64/base.vdex (viritualisres.phonevr.GameActivity.onCreate+86)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #45 pc 0000000000305d88  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.11595045141414065483)+268) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #46 pc 000000000066b838  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+780) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #47 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #48 pc 00000000005d006c  /system/framework/arm64/boot-framework.oat (android.app.Activity.performCreate+492) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #49 pc 000000000032bb20  /system/framework/arm64/boot-framework.oat (android.app.Instrumentation.callActivityOnCreate+80) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #50 pc 000000000040f11c  /system/framework/arm64/boot-framework.oat (android.app.ActivityThread.performLaunchActivity+3388) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #51 pc 0000000000416560  /system/framework/arm64/boot-framework.oat (android.app.ActivityThread.handleLaunchActivity+752) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #52 pc 00000000005dd164  /system/framework/arm64/boot-framework.oat (android.app.servertransaction.LaunchActivityItem.execute+404) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #53 pc 0000000000359eb0  /system/framework/arm64/boot-framework.oat (android.app.servertransaction.TransactionExecutor.executeCallbacks+560) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #54 pc 0000000000359c00  /system/framework/arm64/boot-framework.oat (android.app.servertransaction.TransactionExecutor.execute+752) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #55 pc 00000000003f92fc  /system/framework/arm64/boot-framework.oat (android.app.ActivityThread$H.handleMessage+684) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #56 pc 000000000064f744  /system/framework/arm64/boot-framework.oat (android.os.Handler.dispatchMessage+180) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #57 pc 0000000000652ca4  /system/framework/arm64/boot-framework.oat (android.os.Looper.loop+1668) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #58 pc 000000000040e0b0  /system/framework/arm64/boot-framework.oat (android.app.ActivityThread.main+752) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #59 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #60 pc 00000000001a8a94  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #61 pc 0000000000555cb8  /apex/com.android.art/lib64/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1364) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #62 pc 00000000004d539c  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #63 pc 000000000008a6f4  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+180) (BuildId: aece9284df80b1815bdaf34e52f290399c49da97)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #64 pc 00000000008cf368  /system/framework/arm64/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+136) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #65 pc 00000000008d7b2c  /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2444) (BuildId: d9b42cde3931678834708023087ef2622a0eb425)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #66 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #67 pc 00000000001a8a94  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #68 pc 00000000005546f4  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+448) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #69 pc 0000000000554ba8  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #70 pc 0000000000438ccc  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+656) (BuildId: e841be9816817e37b70ebf4a461a916e)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #71 pc 000000000009a424  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+124) (BuildId: 73cd39496e0063b4d98d6a0c9d6f5b4c)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #72 pc 00000000000a24e8  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+836) (BuildId: 73cd39496e0063b4d98d6a0c9d6f5b4c)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #73 pc 0000000000003674  /system/bin/app_process64 (main+1580) (BuildId: a76323e5f4dd557adcc3874fc6b522de)
02-02 15:41:14.173 17915 17915 F DEBUG   :       #74 pc 00000000000499fc  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+108) (BuildId: 3b0dd94de78a8a796f793e81b7adfbd0)

Phone VR working so slow

Hi, PVR Devs, I am facing a crash with the following Error:

java.lang.SecurityException: Permission Denial: starting Intent { act=com.google.vrtoolkit.cardboard.CONFIGURE cmp=com.google.samples.apps.cardboarddemo/com.google.vr.cardboard.paperscope.carton.Settings } from ProcessRecord{a76970 31778:viritualisres.phonevr/u0a521} (pid=31778, uid=10521) not exported from uid 10185

You are doing a good job. Hope this helps ;)

SteamVR crashes when using PVR

When PVR is disabled SteamVR launches normally, but when I enable PVR and restart SteamVR it turns it back off and gives a notification that SteamVR crashed.

[Issue] Pairing between computer and phone failed

Describe the bug/issue
Having installed the driver on my computer and the app on my phone as described in the documentation, I stared the app, then SteamVR. Nothing happens on the phone, and SteamVR launches saying "No headset detected - Make sure your headset is connected and reinitialize it by clicking here".

Local (your) Time when Issue has occured
29 March 2021 22:26

To Reproduce
Steps to reproduce the behavior:

  1. Put the content of the "driver" folder into the SteamVR's "drivers" folder
  2. Install the app on android phone
  3. Make sure both the phone and the computer are on the same local network
  4. Launch the app
  5. Launch SteamVR (right click on Steam icon > SteamVR)
  6. The small SteamVR window launches, with a message bellow it saying "No headset detected - Make sure your headset is connected and reinitialize it by clicking here"

Expected behavior
The phone and the computer somehow connect, and the SteamVR view is visible on the phone.

Environment (please complete the following information):

  • Desktop OS: Windows 10 (Latest update)
  • Android OS: Android 10
  • Mobile Device Model: Xiaomi Redmi Note 7

Attached Logs
File C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\PVRServer\logs

PVR SERVER LOG HERE -->

22:26:01(745) - 29.03.2021 -- 01 max  ------------------------------------
22:26:01(746) - 29.03.2021 -- 01 000  Getting server
22:26:01(746) - 29.03.2021 -- 01 000  [ServerProvider::Init] Initializing server
22:26:01(754) - 29.03.2021 -- 01 008  [PVRSockets::PVRStartConnectionListener] Listener Started on Port : 33333
22:26:06(754) - 29.03.2021 -- 06 max  [ServerProvider::Init] Pairing failed! Cause: timeout ... for 5secs
22:26:10(292) - 29.03.2021 -- 10 max  ------------------------------------
22:26:10(293) - 29.03.2021 -- 10 001  Getting server
22:26:10(293) - 29.03.2021 -- 10 000  [ServerProvider::Init] Initializing server
22:26:10(294) - 29.03.2021 -- 10 001  [PVRSockets::PVRStartConnectionListener] Listener Started on Port : 33333
22:26:15(295) - 29.03.2021 -- 15 max  [ServerProvider::Init] Pairing failed! Cause: timeout ... for 5secs

Logs from my phone

22:25:49-29.03.2021 - PVR-JNI-I: --------------------------------------------------------------------------------
22:25:49-29.03.2021 - PVR-JNI-I: JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
22:25:49-29.03.2021 - PVR-JNI-I: --------------------------------------------------------------------------------
22:25:49-29.03.2021 - PVR-JNI-I: JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
22:25:49-29.03.2021 - PVR-JNI-I: JNI startAnnouncer: :33333
22:25:49-29.03.2021 - PVR-JNI-I: [TCPTalker::TCPTalker] Init'ed with p:33333 isServer:1 ip:
22:25:49-29.03.2021 - PVR-JNI-I: [TCPTalker::TCPTalker] Talker is Server and ip is Empty. Accepting All connection...
22:25:49-29.03.2021 - PVR-JNI-I: [Ancr]      Found interface:  name=[wlan0] desc=[unavailable] address=[192.168.1.11] netmask=[255.255.255.0] broadcastAddr=[192.168.1.255]
22:25:49-29.03.2021 - PVR-JNI-I: [Ancr]      Found interface:  name=[tun0] desc=[unavailable] address=[192.168.255.10] netmask=[255.255.255.252] broadcastAddr=[192.168.255.11]
22:25:49-29.03.2021 - PVR-JNI-I: [Ancr]      Found interface:  name=[lo] desc=[unavailable] address=[127.0.0.1] netmask=[255.0.0.0] broadcastAddr=[127.255.255.255]
22:26:00-29.03.2021 - PVR-JNI-I: JNI stopAnnouncer
22:26:00-29.03.2021 - PVR-JNI-I: [PVRSockets::PVRStopAnnouncer] Stopping Announcer.
22:26:00-29.03.2021 - PVR-JNI-I: [PVRSockets::PVRStartAnnouncer::PVRAnnounceToAllInterfaces] Announcer Stopped.
22:26:01-29.03.2021 - PVR-JNI-I: --------------------------------------------------------------------------------
22:26:01-29.03.2021 - PVR-JNI-I: JNI setExtDirectory: len: 60, copdstr: /storage/emulated/0/Android/data/viritualisres.phonevr/files
22:26:01-29.03.2021 - PVR-JNI-I: JNI startAnnouncer: :33333
22:26:01-29.03.2021 - PVR-JNI-I: [TCPTalker::send] Error Sending: Socket is not open
22:26:01-29.03.2021 - PVR-JNI-I: [PVRSockets::PVRStartAnnouncer] TCPTalker error: Bad address
22:26:01-29.03.2021 - PVR-JNI-I: [TCPTalker::TCPTalker] Init'ed with p:33333 isServer:1 ip:
22:26:01-29.03.2021 - PVR-JNI-I: [TCPTalker::TCPTalker] Talker is Server and ip is Empty. Accepting All connection...
22:26:01-29.03.2021 - PVR-JNI-I: [Ancr]      Found interface:  name=[wlan0] desc=[unavailable] address=[192.168.1.11] netmask=[255.255.255.0] broadcastAddr=[192.168.1.255]
22:26:01-29.03.2021 - PVR-JNI-I: [Ancr]      Found interface:  name=[tun0] desc=[unavailable] address=[192.168.255.10] netmask=[255.255.255.252] broadcastAddr=[192.168.255.11]
22:26:01-29.03.2021 - PVR-JNI-I: [Ancr]      Found interface:  name=[lo] desc=[unavailable] address=[127.0.0.1] netmask=[255.0.0.0] broadcastAddr=[127.255.255.255]
22:26:18-29.03.2021 - PVR-JNI-I: JNI stopAnnouncer
22:26:18-29.03.2021 - PVR-JNI-I: [PVRSockets::PVRStopAnnouncer] Stopping Announcer.
22:26:18-29.03.2021 - PVR-JNI-I: [PVRSockets::PVRStartAnnouncer::PVRAnnounceToAllInterfaces] Announcer Stopped.

[Todo] Class-ification of C programs

Class-ification of c Files, presently loose classes and procedure programming. Proper Descritiopn/Defination/Utilization of classes. Objectiify procedure programming in many files. To improve overall stability and memory handling.

[suggestion] [enhancement] make the "answer call" button (freehand earphones) the "vr action" button

hi... this would be very very useful and easy and practical and cheap...

everybody has some form of freehands headset with a "call answer" button...

would be amazing if that button could be used as "vr action" button to interact with the virtual world (press buttons, panels, switches, levers, etc), and could be the only vr app that make available this button

... because in the meantime the only other options i found are:

  • an htc vive, occulus quest, starvr one or another vr headset with its own controls (and a 1000+ $usd pc)
  • a bluetooth vr controller (rare, expensive and maybe not fully compatible)
  • a google cardboard with builtin button (the one that touches the screen inside or the other that interferes accelerometer)
  • buy a cheap plastic vr visor for smartpone and modify imitating the cardboard button (i actually tried this and was a disaster)
  • get an usb-otg adapter and attach an usb mouse (left click are recognized as "action"), but not so friendly (can see mouse cursor, sometimes click another screen elements and phone go crazy, etc...), and you get more hanging cables
  • get a "button remap" app and remap "answer call headset button" to "vr action", but complicated, a bit techie, and doesn't work always (maybe depending the phone model, the os version, if the phone is rooted, etc)
  • use the phone camera+motion track with paperstick or some other DIY controller
  • maybe use another phone+app as a controller (like daydream controller emulator?, see below)
  • maybe some other unknown, esoteric, complex or expensive way to do it

Can't pass Room Setup

Once the driver is set up, SteamVR requires Room Setup, but the fake headset can't pass it.

[Issue] OpenGLSL error: extension 'GL_OES_EGL_image_external_essl3' is not supported

Describe the bug/issue

20:55:07-24.01.2021 - PVR-JNI-I: RenderUtils::loadShader:: Error has Occurred while Compling Shader Object: ErrorLog: Fragment shader compilation failed.
ERROR: 0:3: '' :     GLSL error: extension 'GL_OES_EGL_image_external_essl3' is not supported
ERROR: 0:7: 'samplerExternalOES' : requires extension GL_OES_EGL_image_external to be enabled 
ERROR: 2 compilation errors.

Local Time when Issue has occured
20:55:07-24.01.2021

Envirnoment:

  • Desktop OS: __
  • Android OS: Aosp Android 7
  • Mobile Device Model: Nexus 5
  • OpenGL-ES v3.0, GPU: Qualcomm Adreno 330

Additional context
Basically open app, run steamvr game, game loads, head tracking works, screen black, closing game fine, closing steamvr fails

Attached Logs
pvrlog Desktop.txt
pvrlog Mobile.txt

Reproted by: Aramož#2012

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.