OSM Scout Server

Rating: 
4.958335
Your rating: None Average: 5 (72 votes)

OSM Scout Server is a native offline maps provider. This server can be used as a drop-in replacement for online map services providing map tiles, search, and routing. As a result, together with the map client, a full offline solution is available for map search and navigation (car, bicycle, and walking).

The server can be used to provide:

  • map tiles for other applications;
  • search for locations and free text search;
  • search for POIs next to a reference;
  • calculate the route between two or more locations.

To use the server, you have to start it and configure the client to access it. Poor Maps and modRana have support for the server already with no additional configuration needed.

NB! For SFOS < 3.4. users - starting from 1.17.1 release, SFOS 3.4.0 is required for the builds published at OpenRepos. For older SFOS, please use OBS. Currently, SFOS 3.3.0 is supported in addition to SFOS 3.4.0.

OBS: https://build.merproject.org/project/show/home:rinigus:maps

 

 

 

Specific update instructions:

1.15.0 Valhalla database format has been updated. Please update maps after installation.

1.14.3 I suggest to uninstall old version of the server, check if anything stayed in /usr/share/harbour-osmscout-server and if that folder is there and/or not empty, remove it using devel-su. After that, install a new version (1.14.3 and up).

NB! When Mapbox GL schema is changed (as for 1.4.0), please remove Mapbox GL application caches.

NB! When a new backend is added, such as with the release of 0.9.0 and 0.10.0, please ensure that you have subscription information updated. For that, in Map Manager, click on "Check for updates", decline updates, and unsubscribe/subscribe each territory that you have subscribed. After that, proceed with the downloads. This is not needed if you don't want to use the added backend(s).

For detailed up-to-date description, please see https://github.com/rinigus/osmscout-server/blob/master/README.md

License: GPL
Source code: https://github.com/rinigus/osmscout-server

User's guide: https://rinigus.github.io/osmscout-server

Official TMO thread: http://talk.maemo.org/showthread.php?t=97823

Donations: https://rinigus.github.io/donate

Screenshots show the running server and, as an example client application, Poor Maps accessing the map tiles and calculated route prior to navigation.

Maps are hosted by Natural Language Processing Centre (https://nlp.fi.muni.cz/en/ , Faculty of Informatics, Masaryk University, Brno, Czech Republic) through modRana (http://modrana.org)
data repository.

Map data from OpenStreetMap, Open Database License 1.0. Maps are converted to a suitable format from downloaded extracts and/or using polygons as provided by Geofabrik GmbH.

Screenshots: 
Application versions: 

Comments

rinigus's picture

Latest release should work now on SFOS 3.3.0.20

martijntje's picture

Indeed it works again, awesome. I can see map tiles again. Navigation doesn't work in modrana still, but looking at the logs that seems to be an issue in modrana itself.

rinigus's picture

I suspect we will have to wait till OBS gets 3.3 target - assuming that you use SFOS 3.3.

martijntje's picture

You're right in that I'm using 3.3. I suspect it's due to the upgrade to gcc 8.3, which breaks ABI compatibility here and there. It is a shame though. I have tried a number of things and failed to get it to work:

- built mapnik from source, which resulted in a .so missing symbols for osmscout-server

- tried building the whole chain on the phone, got stuck on libpostal, which gets through the configure fine, but then doesn't find emmintrin.h

 

I was also thinking if it wouldn't be possible to simply remove usage of boost::regex and use std::regex instead. The only thing I saw that needs more than a simple search-and-replace would be boost::regex_split, which doesn't have a direct counterpart, but that should be relatively easy to do using an std::regex_iterator. Are all targets we compile for able to do c++11?

rinigus's picture

Building is far from trivial, hence I am using OBS exclusively for this project. Unless you use modRana, you probably don't need Mapnik. It's possible to build it without Mapnik support as well, but you will have to look into build scripts for it

martijntje's picture

I'm actually using it with modRana, which actually breaks osmscout-server when it requests map data. Got a little further further building libpostal by disabling sse2, but it keeps failing with a "conditional branch out of range".

Would switching to std::regex be a possible solution? Is there a reason not to do this?

itoss's picture

Unbeliveable - IT WORKS ;)

At first many thanks to ringus for coding, compilinig, and developing the code - you made my day ;)

I'll explain you how to get OSM scoutserver working on my device and a litte workaround to start the server from the SFOS UI:

current system data :

nemo@Sailfish:~> cat /etc/*release*
# This file is copied as hw-release (analogous to os-release)
NAME="Sony Xperia X"
ID=f5121
MER_HA_DEVICE=f5121
MER_HA_VENDOR=qualcomm
VERSION="0.2.1.2 (armv7hl)"
VERSION_ID=0.2.1.2
PRETTY_NAME=" 0.2.1.2 (armv7hl)"
SAILFISH_BUILD=2
SAILFISH_FLAVOUR=release
HOME_URL="https://sailfishos.org/"
NAME="Sailfish OS"
ID=sailfishos
VERSION="3.0.3.10 (Hossa)"
VERSION_ID=3.0.3.10
PRETTY_NAME="Sailfish OS 3.0.3.10 (Hossa)"
SAILFISH_BUILD=10
SAILFISH_FLAVOUR=release
HOME_URL="https://sailfishos.org/"
NAME="Sailfish OS"
ID=sailfishos
VERSION="3.0.3.10 (Hossa)"
VERSION_ID=3.0.3.10
PRETTY_NAME="Sailfish OS 3.0.3.10 (Hossa)"
SAILFISH_BUILD=10
SAILFISH_FLAVOUR=release
HOME_URL="https://sailfishos.org/"

Installing OSM scoutserver :

root@Sailfish:> wget http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_3.0.3.9_armv...
--2020-04-18 12:19:22-- http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_3.0.3.9_armv...
Resolving repo.merproject.org (repo.merproject.org)... 5.9.68.173
Connecting to repo.merproject.org (repo.merproject.org)|5.9.68.173|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6385008 (6.1M) [application/x-redhat-package-manager]
Saving to: 'harbour-osmscout-server-1.16.0-1.127.1.jolla.armv7hl.rpm'

harbour-osmscout-server-1.16.0-1 100%[==========================================================>] 6.09M 1.45MB/s in 4.6s

2020-04-18 12:19:26 (1.34 MB/s) - 'harbour-osmscout-server-1.16.0-1.127.1.jolla.armv7hl.rpm' saved [6385008/6385008]

root@Sailfish:> md5sum harbour-osmscout-server-1.16.0-1.127.1.jolla.armv7hl.rpm
af5905ed45f20532961a4fa6520b46fb harbour-osmscout-server-1.16.0-1.127.1.jolla.armv7hl.rpm

root@Sailfish:> zypper install harbour-osmscout-server-1.16.0-1.127.1.jolla.armv7hl.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW package is going to be installed:
harbour-osmscout-server

1 new package to install.
Overall download size: 6.1 MiB. Already cached: 0 B. After the operation, additional 34.7 MiB will be used.
Continue? [y/n/...? shows all options] (y): y
Retrieving package harbour-osmscout-server-1.16.0-1.127.1.jolla.armv7hl (1/1), 6.1 MiB ( 34.7 MiB unpacked)
harbour-osmscout-server-1.16.0-1.127.1.jolla.armv7hl.rpm:
Package is not signed!

harbour-osmscout-server-1.16.0-1.127.1.jolla.armv7hl (Plain RPM files cache): Signature verification failed [6-File is unsigned]
Abort, retry, ignore? [a/r/i] (a): y
Invalid answer 'y'. [a/r/i] (a): i
Checking for file conflicts: ...............................................................................................[done]
(1/1) Installing: harbour-osmscout-server-1.16.0-1.127.1.jolla.armv7hl .....................................................[done]

root@Sailfish:>zypper install harbour-osmscout-server-module-fonts

----------------------------------------------------------------------

I created a md5sum check to ensure the right build version to compare recompiled versions an found differences

Starting the OSM Scout server from terminal works, starting from SFOS ui only shows a blank screen preview in overview screen
Solution : create a desktop link icon, execute the terminal code including a base64 icon.

create a *.desktop file in /home/nemo/.local/share/applications/ containig the following content
(touch /home/nemo/.local/share/applications/osm-scout-server-workaround.desktop):

[Desktop Entry]
Type=Application
Name=OSM Server Workaround
Icon=data:image/png;base64,,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
Exec=harbour-osmscout-server
Comment=OSM Scout Server Terminal start

So now i have an Working OSM Scoutserver, no issus updatin maps, starting from SFOS UI to manage maps an other server configurations ;)

More useful tips and scripts on my blog : https://speefak.spdns.de/oss_lifestyle/sailfish-os-das-alternative-betri...

didilalalagon9's picture

Hi rinigus, It was a while since i realy neded my maps and just found out that latest maps versions where now invalid VS my OMS Scout version. I am on ported SFOS 3.0.1.11 for Onyx. So far only pacakge 1.13.1 from here will install and is runnable & of course any atempt to subscribe to a map set, return that they are invalid for the current version. I followed the note about my SFOS version and tried to install: '' harbour-osmscout-server-1.15.6+master.20200103084349.3.g7de1a34-1.126.1.jolla.armv7hl.rpm''

from : '' http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_3.0.2.8_armv...'' .

That install successfully but the app does not open any more it snap back to an empty tile on the home screen.Any tips to get me back on track? Note: I downloaded the rpm only then install for the phone GUI. Was i suppose to get the package from console command? Sorry for my lack of knowledge in that regard.

rinigus's picture

Hi! Try to run it in terminal and see what errors that will lead to. Why don't you update to later versions? SFOS 3.1.0.12 is available for onyx.

didilalalagon9's picture

HI. upgrading SFOS for me is unlikely for very personal preferences VS newest inprovement and one other bug I encontered while atempting preivous update that make me stick to this version witch is the most stable for me as daily driver. So starting it from terminal as point me to 2 patchs that was interfering. So both of them are disabled now witch leve me with the following result; yet still if atemp to start normally it will, afret a very long aninated loading tile, brifely show me the text ''initialising'' with the animated loading circle in full screen just before snaping back as minimise tile on the home screen but this time the tile cover do show OSM icon and it's state. Pressing the minised tile give a ''busy'' animated circle and then turn back empty after a while. however starting it with terminal as ''nemo'' I got this :

[nemo@Sailfish ~]$ harbour-osmscout-server
[D] unknown:0 - Using Wayland-EGL
[W] unknown:57 - file:///usr/share/harbour-osmscout-server/qml/platform/PagePL.qml:57:9: QML Loader: Binding loop detected for property "active"
[W] unknown:447 - file:///usr/lib/qt5/qml/Sailfish/Silica/private/PulleyMenuBase.qml:447:13: QML State: Binding loop detected for property "when"
[W] unknown:38 - file:///usr/lib/qt5/qml/Sailfish/Silica/private/Util.js:38: TypeError: Cannot read property 'parent' of null
[W] unknown:447 - file:///usr/lib/qt5/qml/Sailfish/Silica/private/PulleyMenuBase.qml:447:13: QML State: Binding loop detected for property "when"
[W] unknown:53 - file:///usr/share/harbour-osmscout-server/qml/platform/TextFieldPL.qml:53:19: Unable to assign [undefined] to QString
[W] unknown:38 - file:///usr/lib/qt5/qml/Sailfish/Silica/private/Util.js:38: TypeError: Cannot read property 'parent' of null
[W] unknown:447 - file:///usr/lib/qt5/qml/Sailfish/Silica/private/PulleyMenuBase.qml:447:13: QML State: Binding loop detected for property "when"
[W] unknown:447 - file:///usr/lib/qt5/qml/Sailfish/Silica/private/PulleyMenuBase.qml:447:13: QML State: Binding loop detected for property "when"

Witch at least let the app start in aparence normally just after that, if I use it trough out various menu & function it work including that now, the maps version in the map manager do match the ones on the updated maps server to download. In the sequence above I activate in order ; menu ''about OSM.., Settings, Profile and Map Manager.

now if I start if as ''root'' the terminal give me this on why it will not let it start:

[root@Sailfish ~]# harbour-osmscout-server
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: hwcomposer, minimal, wayland-egl, wayland.

Reinstalling the application may fix this problem.
Aborted
[root@Sailfish ~]#

 

So do you think that I will be able to come out of this without to resolve myself to undergo SFOS update?

edited: So after all, this does not affect the map server loding in the background when using with Pure maps. I completed my map update/download and let run Pure maps in mix mode for OSM maps and now I am back with usable offline maps. So it is soly an inconvenient while tring to use the Server platform using it's own GUI. So now, knowing that even if you dont kind of fix futur versions to compensate older SFOS versions compatibility , at least I am still in the game by launching OSM via terminal to do what ever maintenance on the maps i may need.

-By the way for your information the 2 patch/mod that where intrefering on top was ''prepatch patch:Bouton Vibrate'' was making the menu ''settings'' hang on selection unless I assume ; ''-R'' on terminal prompt and any way causing error log. The other is more of a manual tweak than a patch. from this : ''https://together.jolla.com/question/183151/hackingmodding-system/'' I had for a while replaced the stock ''PageStackIndicator.qml'' to enable the, dormant/phased out, old page stack indication system for the various menus trought out Sailfish UI.

 

 

rinigus's picture

Don't start it as root.

So, when the server is started from the terminal, all works as it should? Only starting from the application drawer is a problem, right?

didilalalagon9's picture

That is correct, from terminal, as nemo user ,the app open and i can go and use any menu and every thing in the map manager menu is usable,; subscribing to new maps, update check and downloads works fine as well.

Bramba's picture

Out of curiosity:

How can I contribute to update the OSM maps? Is it enough to place my updates just to the common maps on OpenStreetMaps, e.g. via QGIS/OsmInEdit etc.?

How and how frequently do the offline maps get updated in OSM Scout Server?

rinigus's picture

Yes, through contribution to OSM maps via their tools. I have to import them and distribute in corresponding formats. I had a target to update once in 2 months, in 2019 it had longer delay between updates. Should start a new update soon.

itoss's picture

hi im trying to update the OSM Scoutserver manually for SFOS 3.0.3.10, but the message of missing libc.so.6 still remains when i install the harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl.rpm package from http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_3.0.2.8_armv...

is it necessary to add the repo ? how do i add the repo using zypper ?

zypper ar http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_3.0.3.9_armv...

EDIT : i tried all versions of the repo ( 3.0.2.8 / 3.0.3.09 and latest ) but there were different dependecies issus :

Missing lib for latest / 3.0.3.09 : libicuuc.so.52 but libicuuc.so.63 is installed, install breaking dependecies => server dont start
Missing libs for 3.0.2.9 : missing lib => libc.so.6 ( caused by compile errors from x86 code to amd compiler say the internet )

so actually i cant use any instance or version of OSM scout server with SFOS Version 3.0.3.10.
Really bad when you need the offline navi.

In past this problems makes the OSM Scout Server temporary unusable, especially without a PC System that you can use.

Can you make an Snap ( or any other packages ) that contains ALL needed files in the right version to prevent user from searching solutions that never works ?

So is there anyone who get the OSM Scout server working with the latest SFOS Version ?

rinigus's picture

You don't need to add the repos in this case. Please remove them, as it looks like they are conflicting with each other. Its sufficient to download RPM and try to install it. But, if in your case you have icu63, you'd have to get version which depends on it

itoss's picture

where i can get the right version of what ? (But, if in your case you have icu63, you'd have to get version which depends on it)

OSM Scout Server using Version ICU63 ?

itoss's picture

Ok so what have i to do now ? i am really confused now ;/

1. remove the repo http://repo.merproject.org/obs/home:/rinigus:/maps/
2. remove completely harbour-osm-scout-server ( all osm scout packaped like fonts mapboxgl etc. )
3. clear the repos cache ( zypper clean -a )
4. update repo cache ( zypper ref )

install OSM Scout server via Storeman :
1. Open Storeman and add ringus repo viua storeman to install OSM Scout Server package
2. Install OSM Scoutserver causes ERROR => Problem: nothing provides libc.so.6(GLIBC_2.28) needed by harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl

Other solution via SFOS Shell :

$#> wget http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_3.0.2.8_armv...
$#> zypper install harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl.rpm
Error : harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl requires libicudata.so.52, but this requirement cannot be provided

$#> zypper install libicudata.so.52
Error : installed libicu-63.1+git5-1.1.6.jolla.armv7hl obsoletes libicu52 provided by libicu52-52.1+git6-1.4.1.jolla.armv7hl

force install will backport the entire System to preversion libs = system will be destroyed - no option !

ignoring version dependecies when installing harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl.rpm the OSM Scoutserver dont start ( icon show loading 1-2 seconds an then closed )

so what ca i do now ?

EDIT : Manually download

root@Sailfish:/run/media/nemo/512_GB_sdcard/Downloads> wget http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_latest_armv7... && zypper install har*
--2020-01-01 18:45:23-- http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_latest_armv7...
Resolving repo.merproject.org (repo.merproject.org)... 5.9.68.173
Connecting to repo.merproject.org (repo.merproject.org)|5.9.68.173|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6999312 (6.7M) [application/x-redhat-package-manager]
Saving to: 'harbour-osmscout-server-1.15.6-1.125.3.jolla.armv7hl.rpm'

harbour-osmscout-server-1.15.6-1.125.3.jolla.armv7hl. 100%[========================================================================================================================>] 6.67M 1.21MB/s in 6.7s

2020-01-01 18:45:29 (1.00 MB/s) - 'harbour-osmscout-server-1.15.6-1.125.3.jolla.armv7hl.rpm' saved [6999312/6999312]

Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides libc.so.6(GLIBC_2.28) needed by harbour-osmscout-server-1.15.6-1.125.3.jolla.armv7hl
Solution 1: do not install harbour-osmscout-server-1.15.6-1.125.3.jolla.armv7hl
Solution 2: break harbour-osmscout-server-1.15.6-1.125.3.jolla.armv7hl by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c): c
root@Sailfish:/run/media/nemo/512_GB_sdcard/Downloads> rm harbour-osmscout-server-1.15.6-1.125.3.jolla.armv7hl.rpm
root@Sailfish:/run/media/nemo/512_GB_sdcard/Downloads> wget http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_3.0.3.9_armv... && zypper install har*
--2020-01-01 18:46:23-- http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_3.0.3.9_armv...
Resolving repo.merproject.org (repo.merproject.org)... 5.9.68.173
Connecting to repo.merproject.org (repo.merproject.org)|5.9.68.173|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6440580 (6.1M) [application/x-redhat-package-manager]
Saving to: 'harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl.rpm'

harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl. 100%[========================================================================================================================>] 6.14M 1.33MB/s in 5.1s

2020-01-01 18:46:28 (1.21 MB/s) - 'harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl.rpm' saved [6440580/6440580]

Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl requires libicudata.so.52, but this requirement cannot be provided
not installable providers: libicu52-52.1+git6-1.4.1.jolla.armv7hl[openrepos-piggz]
Solution 1: do not install harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl
Solution 2: break harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c): 1
Resolving dependencies...
Resolving package dependencies...

Nothing to do.
root@Sailfish:/run/media/nemo/512_GB_sdcard/Downloads> rm harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl.rpm
root@Sailfish:/run/media/nemo/512_GB_sdcard/Downloads> wget http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_3.0.2.8_armv... && zypper install har*
--2020-01-01 18:47:15-- http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_3.0.2.8_armv...
Resolving repo.merproject.org (repo.merproject.org)... 5.9.68.173
Connecting to repo.merproject.org (repo.merproject.org)|5.9.68.173|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6441408 (6.1M) [application/x-redhat-package-manager]
Saving to: 'harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl.rpm'

harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl. 100%[========================================================================================================================>] 6.14M 1.43MB/s in 4.6s

2020-01-01 18:47:20 (1.34 MB/s) - 'harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl.rpm' saved [6441408/6441408]

Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl requires libicudata.so.52, but this requirement cannot be provided
not installable providers: libicu52-52.1+git6-1.4.1.jolla.armv7hl[openrepos-piggz]
Solution 1: do not install harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl
Solution 2: break harbour-osmscout-server-1.15.6-1.125.1.jolla.armv7hl by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c): 1
Resolving dependencies...
Resolving package dependencies...

Nothing to do.
root@Sailfish:/run/media/nemo/512_GB_sdcard/Downloads>

rinigus's picture

The build is finished and looks like it depends on icu63. Get it at http://repo.merproject.org/obs/home:/rinigus:/maps/sailfish_3.0.3.9_armv...

rinigus's picture

Do not force any install - it should install as it is without issues.

I will try to rebuild a version for 3.0.3.9 - I don't know why it used icu52 there. Follow https://build.merproject.org/project/monitor/home:rinigus:maps and when the build is finished (all green in corresponding version), let's see if https://build.merproject.org/package/binary/home:rinigus:maps/osmscout-s... will still have icu52 dependency

alex000090's picture

Rinigus, thanks for your trying and for your work!

As far as I know, at the building process the version of libraries depend on devel library files of the Toolchain. And so the toolchain works as fully-closed system without any breaks in libraries. But target system have to use identically or higer library versions if there is no incompatibility in rising version. So, I think, if you use prebuilt toolchain (by Jolla or other) of 3.0.3.9 version to build OSM, you can't easy change the version of icu or libc.

Which toolchain you use to build OSM? Prebuild or manual or something else?

rinigus's picture

Its built at OBS and should be correct for 3.0.3.9. Earlier I mixed it with 3.0.2 as I have to use newer gcc which comes from my repo. Hence a mixup that should be resolved now

alex000090's picture

Unfortunately, the new build needs GLIBC_2.28 again.

rinigus's picture

I wanted to avoid gcc recompile, but looks like this is needed. I'll start it and ping you when its ready

alex000090's picture

Thank you Rinigus!

rinigus's picture

Hi! Try again. This time its compiled with newer compiler and I haven't had a chance to test it yet, as gcc for my SFOS version is still compiled by OBS. Let me know how it went

rinigus's picture

Great! Then you can grab MapboxGL QML from there as well

alex000090's picture

I tested the maps. Poor maps work fine with OSM server. Excellent!

rinigus's picture

Nice to hear, enjoy!

alex000090's picture

Hi Rinigus! I've installed OSM from 3.0.3.9 repo. There was no errors due to installation. The program starts fine. Thank you wery much!

Pages