-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for ARCore #1672
Comments
Best would be to have it as a separate library that microG would use and that other apps can integrate. So for example StreetComplete wouldn't need to use a non-libre dependency on any device. Regardless of Play Services installed or not. Maybe there is already a libre library for some of the AR features needed for ARCore? |
BTW, I looked into this again and had a big surprise. Because the ARCore (Play Services) app is a separate app, which I could just install. According to Exodus there are also not a lot of trackers, basically just the one you get with Google Play Services lib. I tested it with the Google-developed apps "AR Elements" and "Depth Lab"… so next I am trying this with StreetComplete (it already detected that I have everything installed.) Pixel 4 with CalyxOS 3.3.0 and microG |
I can confirm, this works for StreetComplete. So this is fine for me personally. 🙂 More information (to keep it in one place): streetcomplete/StreetComplete#2093 (comment) |
I use a Sony Xperia XA2 (running Sailfish OS, which uses an emulator for AOSP-Android 10), which is unfortunately not among the supported devices cited on https://developers.google.com/ar/devices, the installation aborts immediately when I try my luck with the Aurora Store (Edit: I was able to install it with help of Aurora's "device spoofing" [in this case pretending to be a Realme 5 Pro], however it unsurprisingly doesn't work beyond that). Therefore, I would be very keen to see a possibility to make it work in conjuction with MicroG. Are those "supported devices" selected by absolute necessity (meaning, the hardware of devices not mentioned forbids ARCore to work properly), or could ARCore theoretically run on more devices (with a sufficient Android API level), e.g. a Xperia XA2? |
There is probably an hard-coded list of devices inside "Google Play Services for AR" apk, so probably it need to be patched to enable support for unsupported devices. |
…which again, likely would not help. I can totally understand that their algorithm may need some access to special sensors or so and cannot do this on any device. So it may be a hardware limitation indeed. |
Not really, it doesn't work also on high-end phones that aren't certified. |
Well I have no i idea what it needs. Google publicly only says:
So if anyone has any information, feel free to post it here… |
I think it simply check "is device on my list" then ok, otherwise refuse to run. |
tomthecarrot/arcore-for-all#139 (comment) Can someone check if this method still works with recent releases? Reading the comments, it at least did into 2021. |
I will confirm, but you can use adb backup only until android 11, on 12+ you need root to push the file on the correct folder. I'm actually making a config file for my phone. |
Thank you, but as far as I can see (11 months later), implementing "ARCore" into GmsCore might be unfeasible as a whole, unfortunately. Their license file (https://github.com/google-ar/arcore-android-sdk/blob/master/LICENSE) specifies under "Section 1" seemingly the majority of binary files being restrained by the terms laid out on this page (https://developers.google.com/ar/develop/terms), which does specify for example the requirement "Your product or service must contain substantial, independent value and features beyond the Google products or services", which GmsCore may not be able to meet. @mar-v-in Since you're the lead developer, and haven't said a word on the topic of "ARCore"-implementation so far (at least in this dedicated thread), I would like to hear your assessment on this - also since you're assumably dealing with Google's licensing fine print and requirements all the time. |
How for most things the best way is "Clean-room reverse engineer". |
This is not a solution, but the proprietary ARCore apk can be downloaded by AuroraStore(device spoofing), then you can add your config file (on lineageos for example uoy can root only adb) . About clean room seems very difficult, it's difficult to calibrate without documentations so reimplementation would be hard. |
Is your feature request related to a problem? Please describe.
ARCore is an quite oldish (2017-released) already SDK for doing AR/VR related things like measuring via your camera.
Now StreetComplete is working on integrating it.
The problem is it depends on Google Play Services/a proprietary app as far as I see.
Describe the solution you'd like
Of course, it would be awesome if one could make it work:
Describe alternatives you've considered
I know especially the second solution is very likely a huge and quite impossible task for this project (or are FLOSS AI models and tensorflow stuff already enough to implement such a thing?), so that's why I also looked into your wiki status page but could not find that feature listed there.
As such, the alternative would be to document the (intended) support status at least.
Additional context
The text was updated successfully, but these errors were encountered: