os-issue-tracker icon indicating copy to clipboard operation
os-issue-tracker copied to clipboard

Google Play network location - Permanently stops working after initial setup

Open brokoler opened this issue 2 weeks ago • 4 comments

Per documentation native Google Play location accuracy is supported: https://grapheneos.org/usage#sandboxed-google-play-configuration

After following the tutorial, I validated that this feature works with Google Maps but it stopped working permanently after initial setup when the phone was rebooted. Since the phone was rebooted, Google location accuracy stopped working which means instead of a few seconds, the location cannot be found indoors.

Based on my DNS server logs, GrapheneOS stops to lookup following domain after the phone reboot: voilatile-pa.googleapis.com

Above domain was only requested one time after initial setup in GrapheneOS when it worked. Compared with Stock Pixel Play Services, this domain should be contacted each time Maps are opened since Google Play Location Accuracy is enabled. Currently there sems to be an issue with the Sandboxed Play Services implementation, since this feature works on Stock but stops working on GrapheneOS permanently after rebooting the phone. Per design Google location accuracy only works when the domain above is contacted, since this is not the case after initial setup + reboot the feature is not fully working in GrapheneOS with Sandboxed Play Services enabled.

The issue can be reproduced as following:

  1. Setup a DNS server which logs all DNS requests and point your GOS phone to it (e.g. via DHCP, also turn off Private DNS)
  2. Follow all 4x configuration steps described: https://grapheneos.org/usage#sandboxed-google-play-configuration
  3. Enable Airplane mode
  4. Open Google Maps and see that location indoors is found in 1-2 seconds
  5. Check DNS server logs and verify that domain "voilatile-pa.googleapis.com" was logged
  6. Reboot phone
  7. Open Google Maps and see that location indoors can't be allocated anymore
  8. Check DNS server logs and verify that domain "voilatile-pa.googleapis.com" was not logged additional times

brokoler avatar Dec 14 '25 17:12 brokoler

Strongly recommend using location rerouting with the GrapheneOS network location implementation instead of giving Location to Google Play with rerouting disabled to use their Network Location Accuracy service. Why not use our service? We can fix this but there shouldn't be a need for it.

thestinger avatar Dec 14 '25 19:12 thestinger

Fully understand your recommendation. Using Google Play Location services is a personal preference, since they work very reliable and quick in my tests with Pixel Stock OS and least battery impacting. Since only the GrapheneOS implementation is working for now, I will use it and probably be convinced. If this can be fixed in the long run it would be great though.

brokoler avatar Dec 14 '25 20:12 brokoler

Our implementation is based on Apple's service which has the significant advantage of being able to work offline once it gets the initial data. If people in your region owns a lot of iPhones then it should work well. It should only be significantly worse in developing countries without lots of iPhones where Google will have much better data.

thestinger avatar Dec 14 '25 20:12 thestinger

Compared both methods in my environment and Google Location Accuracy is quickest with no waiting time. Opening Google Maps indoors even with Airplane mode enabled allocates my location under 1 second each time, which is impressive. With GOS implementation and Apple's service it takes around 3-20 seconds for me and as you say mostly based on my environment. Thanks for the quick reply, appreciate your work.

brokoler avatar Dec 14 '25 20:12 brokoler