I’m having some issues with GPS based location services on the Librem 5 and wondering if anyone can give me some ideas for how to look into this.
I’ve tried several apps that make use of location and essentially location accuracy seems to vary a lot and in some cases is not useable. In some apps it works perfectly so I don’t think there are any hardware or firmware/device driver issues.
PureMaps 3.2.0 installed from Flathub Flatpak - works as expected, accurate fix acquired quickly
Gnome Maps 3.38.6 installed from Purism apt repo .deb - works as expected
Gnome Maps 44.4 installed from Flathub Flatpak - location significantly less accurate (reported accuracy of ~3000m is typical), jumps around too much to be useable
ASHPD Demo - installed from Flathub Flatpak - same as above, location significantly less accurate, jumps around too much to be useable
I’m trying to work out what might be causing the discrepancy. ASHPD and Gnome Maps installed from Flatpak both use the Freedesktop Location portal, which uses the host Geoclue service. PureMaps uses QT location which should also use Geoclue, Gnome Maps from .deb uses Geoclue but not the portal?
Has anyone else seen this or is able to replicate?
@dos I can see in Bustle that accuracy: uint32 5 is being passed by ashpd which corresponds to exact here but I guess that’s what’s being requested by ASHPD of the portal rather than by the portal of geoclue? If that’s correct how would I log that?
The system bus logs also all look correct to me. Testing with ASHPD-demo flatpak, with Wifi switched off and in a location I haven’t got a wifi location cached I see the GeoClue client being setup with the correct params and location being requested:
Accuracy level 5 is GCLUE_ACCURACY_LEVEL_NEIGHBORHOOD, so the Geoclue’s behavior seems correct and it’s the portal that needs to be fixed to pass correct values.
I see this was already fixed upstream (since 1.10.0), but it didn’t make it to the version from bullseye (1.8.1):