Search | Sailfish OS | Running | PineTime | All Posts

Use Yandex as replacement for Mozilla location service on SailfishOS

January 12, 2021 — Nico Cartron

If you're a fellow SailfishOS sailor, you certainly have noticed that since version 3.3 "Rokua", Mozilla locations services have stopped working correctly. (More details available here).

Fortunately, Coderus recently gave the possibility of using the Yandex location service as a substitute for the Mozilla service.


Before we start, a quick disclaimer: while I have successfully followed the steps below, I haven't found it to work properly - i.e. it still took quick some time to get a GPS fix on my XA2.

However, when using another workaround (basically manually downloading the files from the Mozilla Location Services), I found that it worked much better - I'll document that in an upcoming blog post.

Since the Yandex procedure seems to work for some folks, I am still publishing this article, as it may be useful.

This article is a translation from the excellent one done by Fernando Lanero

To activate Yandex location services follow these simple steps:

  1. Log in or register at:

    https://yandex.ru/dev/locator/keys/get/?service=locator

    Keep in mind that the Yandex pages are in Russian, so you can use a real-time translation (e.g. Google Chrome browser).
    Also, the authorisation page for "Yandex passport" asks to type some random characters, which are using the Russian alphabet. The fastest way I found is to add the Russian keymap as input in my laptop settings, then use the virtual keyboard to type the characters :)

    In addition, when registering, if you're receiving an error message, it means Yandex considers your IP address as coming from outside its scope of use - in that cast, try to use a VPN service that allows access from any location within Asia.

  2. To activate its API-Key, Yandex asks for a URL where its mapping services will be embedded. I just used my website URL, which seemed to work fine.

  3. Once the API-Key is generated, copy it.

  4. Use a text editor such as Vim and in the device terminal:

    cd /etc
    devel-su vi yandex.key

  5. Paste the API key and save the file.

  6. Download and install: geoclue-providers-yandex from Openrepos (e.g. using Storeman, or by downloading the rpm file and installing it through CLI with a devel-su pkcon install-local geoclue-provider-yandex-0.2.0-1.armv7hl.rpm

  7. Go to "Settings - Location" and enable all the options in "Custom settings":

    • "GPS positioning"
    • "Offline position lock from Mozilla location services mobile phone tower information"
    • "Online position lock from Mozilla location services mobile phone tower and wireless network information"

Once everything is configured, the device should find your location in a few seconds with a good precision. However, as stated at the beginning of this article, I haven't found any improvement.

Tags: SailfishOS, Tips


I don't have any commenting system, but email me (nicolas at ncartron dot org) your comments!
If you like my work, you can buy me a coffee!