alvr-org/PhoneVR

[Issue][Ubuntu] Rendering on mobile is Cut

NintyS opened this issue · 23 comments

NintyS commented

Is there an existing issue for this?

  • I have searched the existing issues

Is this issue has already been addressed in documentation?

  • I have read the readme file

Describe the bug/issue

I and my friend are testing a PhoneVR. I on Linux ( Ubuntu 23.04 noLTS )

The symptoms:

Linux

  • Using RealMe 7i
  • I can connect, my phone is tracked, I guess the orientation drifts and IDK if that's my phone or app.
  • App isn't black, I have a small line of image from computer.

Local (your) Time when Issue has occurred

Somewhere around 14.08.2023 00:57

How To Reproduce your issue

On linux:

  • Install ALVR
  • Set firewall
  • Install mobile app
  • Open app
  • Add new device
  • Start SteamVR
  • Connect with phone

Expected behaviour

On linux:
App show full image in both eyes.

Screenshots

View from RealMe 7i x Ubuntu 23.04 noLTS
XDXD

Environment (please complete the following information)

  • Desktop Ubuntu 23.04 noLTS
  • Android 11
  • Android 12 AFAIK
  • RealMe 7i

Additional context

No response

Attached Logs

I will attach when I will know how to do it. AFAIK I need a com.name.app to get logs of app via adb.

If you are using ALVR, ALVR logs are PhoneVR logs, You can export the log thats available on ALVR log screen or send its screenshots.

Thanks for the elaborate explanation, but without logs it will be hard to pinpoint the issue. And dont use latest ALVR, use the ALVR version specificed in the Readme : ) dunno if you did the same, just to be sure

Do specify the

  • ALVR Version (if applicable)
  • PhoneVR Version
NintyS commented

ALVR v20.1.0 and PhoneVR 1 ( Beta ).

NEW THING: Flashes probably after auto setiing 60Hz ( sadly without voice )
https://github.com/PhoneVR-Developers/PhoneVR/assets/31569763/80f48e87-e97b-45e7-ba69-7cb632d23d44

Gyroscope in SteamVR now is completely mad:
https://github.com/PhoneVR-Developers/PhoneVR/assets/31569763/8006d109-4d63-45df-8d02-e7b563029baa

Logs from linux ( From window I will be have when My firend wake up):
image

IDK If it's helps but I will give statistics too:
image

I did a few more tests and: there no more flashes when I set 60Hz and the lowest resolution. And sometimes ( once on X turn on's of app ) that I see a line of image from PC.

Something more I can do what will help you?

PS. How to check what crash the app? Is there any way to get a logs from app which isn't connected to ALVR or PhoneVR server?

The best and surest way to get what crashed the app in Android bugreport, its there in readme under Troubleshooting (if Unexpected android app crashes occur(unexpected means, you did NOT....)

Can you attach full logs? Thanks !

Decoder saturation means, the decoder on your mobile is unable to keepup with the decoding request put up by ALVR, this can be by a lot of factors like bitrate, resolution, encoding type, fps, etc., most direct way is to decrease the burden on decoder is to decrease the resolution even more via ALVR setting, until you get an resolution the mobile is capable of. You can do that via Transcoding view resolution setting -> Advanced -> Transcoding view resolution. (Do note that you need to restart SteamVR to set these settings)

My recomendation would be:

  • Transcoding View resolution : H = your device Resolution Height, W = your device Resolution Width/2
  • Emulated Headset Resoltion : H = your device Resolution Heigh, W = your device Resolution Width/2

There is lot of wiki on ALVR settings, you can gothough it there https://github.com/alvr-org/ALVR/wiki/, https://github.com/alvr-org/ALVR/wiki/Troubleshooting, https://github.com/alvr-org/ALVR/wiki/Troubleshooting#overloaded-decoder, https://github.com/alvr-org/ALVR/wiki/Settings-tutorial, etc.

NintyS commented

I did it, still the same, but without errors/warnings about decoder. And now I noticed that the image is upsidedown. I will fight with it more

NintyS commented

O! I know what is with gyroscope. A magnetic field of my iPhone SE2 caused this XDDD

I did it, still the same, but without errors/warnings about decoder. And now I noticed that the image is upsidedown. I will fight with it more

Can you goto SteamVR -> VRView and check if the image output is as per your expectation ?

NintyS commented

Ya, I did this not even once. I wanted to sure myself more while writing this reply, but today I can't reproduce my error with line of image, but all other flashes still are. I will try to get you a log from Xiaomi after about 15 hours. And when I wake up I will send you a log form PhoneVR because if you connect with ALVR and end the connection, and reconnect then app crash.
I will take a bug report with this: adb bugreport ~/Desktop/.

Ya, I did this not even once. I wanted to sure myself more while writing this reply, but today I can't reproduce my error with line of image, but all other flashes still are. I will try to get you a log from Xiaomi after about 15 hours. And when I wake up I will send you a log form PhoneVR because if you connect with ALVR and end the connection, and reconnect then app crash. I will take a bug report with this: adb bugreport ~/Desktop/.

This is a known issue (warm start ALVR crash) #129. Bug report can be directly shared via Android UI, it will give you a notification to share when the bugreport is complete, you dont need ADB just for your info. Btw i cannot reproduce the issue, with your given steps :c

NintyS commented

On my Realme 7i I don't have notification after crash and my friend had this notifications and sended me this as a output IDK if this will help you:

Build fingerprint: 'Redmi/begonia_eea/begonia:10/QP1A.190711.020/V12.0.6.0.QGGEUXM:user/release-keys'Revision: '0'ABI: 'arm64'Timestamp: 2023-08-18 18:49:07+0200pid: 9687, tid: 9899, 
name: Thread-9  >>> viritualisres.phonevr <<<uid: 10312signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0Cause: null pointer dereference    x0  0000007944388000  x1  000000794449a800  x2  0000000000000001  x3  0000000000000001    x4  000000794b28a5b0  x5  0000000000000000  x6  0000000000000001  x7  0000000000000000    x8  0000000000000001  x9  00000000003d2c44  x10 0000000000020c88  x11 0000007a40000000    x12 0000000000020c78  x13 0000000000000000  x14 0000000000000001  x15 000000794b28a540    x16 0000007a59431c68  x17 0000007a588aa698  x18 000000790830c000  x19 0000000000000000    x20 000000794449a800  x21 0000007944388000  x22 0000007944388000  x23 0000000000000007    x24 000000794449a970  x25 0000007a59431350  x26 0000007a594312d0  x27 0000007a5940e150    x28 000000795b066799  x29 000000794a03f980    sp  000000794a03f960  lr  0000007a5941b168  pc  0000007a588aa6b4

backtrace:      
#00 pc 000000000000f6b4  /system/lib64/libutils.so (android::RefBase::decStrong(void const*) const+28) (BuildId: 1ac8f463e7f8a797baaf294d144fad08)      
#01 pc 000000000001b164  /system/lib64/libstagefright_foundation.so (android::AMessage::clear()+268) (BuildId: b78d052f82cdd4767488afd9882d0a81)      
#02 pc 000000000001b010  /system/lib64/libstagefright_foundation.so (android::AMessage::~AMessage()+32) (BuildId: b78d052f82cdd4767488afd9882d0a81)      
#03 pc 000000000000f708  /system/lib64/libutils.so (android::RefBase::decStrong(void const*) const+112) (BuildId: 1ac8f463e7f8a797baaf294d144fad08)      
#04 pc 000000000001e8c4  /system/lib64/libmediandk.so (AMediaFormat_delete.cfi+116) (BuildId: be60f749cffc5b994a100815dc649303)      
#05 pc 00000000002ca694  /data/app/viritualisres.phonevr-JIutPLjW6-UdDHA_ASzjsQ==/base.apk (offset 0x4b9000)      
#06 pc 0000000000000003  <unknown>

seems like the issue is here https://github.com/alvr-org/ALVR/blob/4afd1b3a9eeda2a041380f5aa9dd5068eb3cf198/alvr/client_core/src/platform/android/decoder.rs#L293 - warm start crash is not a priority right now, since you can reopen the app continue using it. But its a known issue and being tracked in #129

Lets restrict this thread to that improper rendering on mobile :3

On my Realme 7i I don't have notification after crash and my friend had this notifications and sended me this as a output IDK if this will help you:

Build fingerprint: 'Redmi/begonia_eea/begonia:10/QP1A.190711.020/V12.0.6.0.QGGEUXM:user/release-keys'Revision: '0'ABI: 'arm64'Timestamp: 2023-08-18 18:49:07+0200pid: 9687, tid: 9899, 
name: Thread-9  >>> viritualisres.phonevr <<<uid: 10312signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0Cause: null pointer dereference    x0  0000007944388000  x1  000000794449a800  x2  0000000000000001  x3  0000000000000001    x4  000000794b28a5b0  x5  0000000000000000  x6  0000000000000001  x7  0000000000000000    x8  0000000000000001  x9  00000000003d2c44  x10 0000000000020c88  x11 0000007a40000000    x12 0000000000020c78  x13 0000000000000000  x14 0000000000000001  x15 000000794b28a540    x16 0000007a59431c68  x17 0000007a588aa698  x18 000000790830c000  x19 0000000000000000    x20 000000794449a800  x21 0000007944388000  x22 0000007944388000  x23 0000000000000007    x24 000000794449a970  x25 0000007a59431350  x26 0000007a594312d0  x27 0000007a5940e150    x28 000000795b066799  x29 000000794a03f980    sp  000000794a03f960  lr  0000007a5941b168  pc  0000007a588aa6b4

backtrace:      
#00 pc 000000000000f6b4  /system/lib64/libutils.so (android::RefBase::decStrong(void const*) const+28) (BuildId: 1ac8f463e7f8a797baaf294d144fad08)      
#01 pc 000000000001b164  /system/lib64/libstagefright_foundation.so (android::AMessage::clear()+268) (BuildId: b78d052f82cdd4767488afd9882d0a81)      
#02 pc 000000000001b010  /system/lib64/libstagefright_foundation.so (android::AMessage::~AMessage()+32) (BuildId: b78d052f82cdd4767488afd9882d0a81)      
#03 pc 000000000000f708  /system/lib64/libutils.so (android::RefBase::decStrong(void const*) const+112) (BuildId: 1ac8f463e7f8a797baaf294d144fad08)      
#04 pc 000000000001e8c4  /system/lib64/libmediandk.so (AMediaFormat_delete.cfi+116) (BuildId: be60f749cffc5b994a100815dc649303)      
#05 pc 00000000002ca694  /data/app/viritualisres.phonevr-JIutPLjW6-UdDHA_ASzjsQ==/base.apk (offset 0x4b9000)      
#06 pc 0000000000000003  <unknown>

What are the alvr logs for this issue ? btw

NintyS commented

This is what he got after a makeing bug report on phone after PhoneVR crash. Crash what happens everytime after connection to the ALVR server. He said he don't had anything else. I and him aren't a android users so we don't know if this is correct.

This is what he got after a makeing bug report on phone after PhoneVR crash. Crash what happens everytime after connection to the ALVR server. He said he don't had anything else. I and him aren't a android users so we don't know if this is correct.

I mean he will definately have ALVR Logs. ALVR Server GUI -> Logs, screenshot those complete logs. This seems like a 3rd bug now. At this point it will be better if we have different Issues for different bugs xD

On the side note, which flavour of Linux ? (imo Linux is very hard to deal with in OpenVR case)

Also ask your friend to try chaning the codec in ALVR Settings -> Preferred Codec -> HEVC. Please do get the logs, without logs nothing can be inferred about the issue since i cannot reproduce the issue on my end. Thanks !

NintyS commented

This was ONLY one error what he had:
obraz

He is on Windows + ALVR + PhoneVR. I'm on Linux.

Edit1: We tested it and this is the only error log. We can try again later.

This was ONLY one error what he had: obraz

He is on Windows + ALVR + PhoneVR. I'm on Linux

The issue occured before this line, need complete logs, Errors or warnings or Info, everything. Thanks ! :3 You can save logs to file from ALVR Settings too, fyi

It seems disabling foveated encoding works to fix this on certain smartphones, did you try that ?

NintyS commented

No, because I don't quite understand. What is foevated?

my typo XD
image

NintyS commented

I will send this to my friend. Funfact when I tried this on Linux x Xiaomi Redmi 9 then screen froze on IP but tracking work.

Did it work ?

NintyS commented

On linux no. For windows I wait for answer. In CET now is 8:22 he is probably asleep