I am an avid birdwatcher and have been using Graphene OS for a little over three weeks and I haven't been able to get Merlin Bird ID to work properly. I am wondering if anyone has suggestion for troubleshooting issues with location specifically. I have toggled google play services permission as well as app specific permissions and have not had any luck as of yet.
TLDR Merlin Bird ID location troubleshooting suggestions
Merlin Bird ID
moonshine_yarrow The location requests are sent using the OS location service by default. To get a location lock, you'll realistically need to be outside. You'll might be able to lock the location faster if you have mobile data on to use GNSS, but it'll also work without mobile data on.
Having said that, I've had some apps though which simply fail to get the location this way. In which case, you could route your Location requests through Google Play Services, if you don't mind giving this information to Google. You can do that by opening Settings > Apps > Sandboxed Google Play and switching off the toggle to reroute location requests to the OS. You'll then be instructed to give Google Play Services unrestricted battery usage.
Merlin has been brought up in other dicussions previously, and to my knowledge a solution has yet to be found. I know I've tried every permutation of location settings, sandbox play service configurations, even multiple user profiles. My observations are always the same, the application fails to find your location and after that you'll see the location indicator show up in the notification bar. I'm convinced it is doing something non-standard for the android location API. I have reached out to the Merlin / Ebird support team as well but never received a response. With someone in the family working for a major birding instuition, having two of us switch to grapheneos and cease our reporting has been a major dissapoint for them.
notenoughbears I really appreciate the reply! That does suck that there hasn't been a work around found yet. Happy birding!
There is an alternative that works, and it is also associated with Cornell: BirdNET Sound ID.
I have used this on my Pixel 6 Pro w/Play services installed, no additional location services / precision configured; I don't know if Play Services are required.
Been a while. Has there been any progress getting location working for Merlin?
I tried again a week ago and had the same issue.
I've been using another play store app from Cornell called birdNET. Not as good but it works so long as you have net access to send the call to be processed.
I don't know enough about android to know if this is common, but I'm seeing a lot of logs that appear to be SELinux violations. Adding a link here in case some kind soul would care to shed some light on what they mean.
https://drive.google.com/file/d/1H8ltORRqJ70E-GfIh88OA6bajMVrWQvo/view?usp=drivesdk
I found version 3.1 has worked for me, but later versions did not. I uninstalled the play store version and manually installed the apk I found from apkmirror at that specific version. I do have play location services enabled, so not sure if that is what is making this work or not. I am very confused as to why this started working and later stopped working, or why the location detection in Merlin is so different from eBird (which works great for me — though that had a hiccup streak, too).
It doesn't work as smooth but have you tried WhoBIRD from f-droid?
It works fine on my p7a running GOS.
@jacobb no, haven't yet, but thanks for the suggestion.
Just a heads up… apparently Merlin works without location now.
What's new
Location, Location, Location!
- No Location? No Worries! Even without location data, you can set your spot on the map and let Merlin do its thing, providing top-notch answers every time.
- Smoother Messaging
Sound ID Enhancements: We’ve polished our messaging for areas where Sound ID isn’t supported, giving you clearer info and a better user experience.Upgrade to 3.2 now and dive into a more flexible, privacy-friendly, and user-centric Merlin!
I'm using Lineage ATM so I can't confirm if it does work on GOS
I can't seem to get that version (3.2.1) working. Oof, man this is so frustrating.
Damn. I'm trying today and cannot get Merlin to work either. I'd be down for a writing campaign to them. I wonder if a lot of us wote maybe they'd respond or do aomething.
This is one of my favorite apps and I'm really sad I can't use it.
So I got into the beta on google play and the latest version started working for me (3.3-beta02)
Just updated to 3.3 (not beta) and this is also working. Maybe this is finally behind us. I am grabbing a backup of the apk and setting google play not to auto-update this app going forward, so I can always keep a backup of working versions and downgrade if needed. Hopefully this functionality will be permanent and that won't be needed.
Oh! I think I got it early because I'm in the beta group for the app. I see the public release on Play store is 3.2.1 still. Hopefully soon for public/aurora.
The "Likely Birds" feature (Merlin's most useful feature, IMHO) in the Explore tab seems to not be working because it's using android's geocoding api (import android.location.Geocoder;
) which GrapheneOS hasn't implemented yet.
A quick websearch revealed numerous threads relating to this topic, all of them pointing to https://github.com/GrapheneOS/os-issue-tracker/issues/23
It seems os-level geocoding has been a known missing feature for a while; the above referenced github issue saw little activity the past 5 years, but was recently tagged as "high priority".
Until this feature is added to GrapheneOS I don't know if there is much to be done besides donating. In theory it could be possible to reverse enginner Merlin and replace the android.location.Geocoder
calls with an alternate API, but I haven't looked into Merlin's Terms of Service to check the legality of that.