Hello, this article discusses the process of installing and starting the RTKRCV application from the open RTKLIB library, developed by the team of Tomoji Takasu (Japan).

RTKLIB is an open source software package for standard and accurate positioning using GNSS technology (global navigation satellite system).

Who is this article for?

This material is of practical importance for all those who want to integrate accurate positioning into their devices, and can also serve as a reference for optimizing work with software products provided by the RTKLIB library. The information in this material is designed to optimize the interaction of a specialist with CUI on Windows 10.

First, let's figure out what RTKRCV is. RTKRCV is a CUI analogue of the RTKNAVI software product designed to work with navigation data. In real time, the AP receives the raw observations from the GPS/GNSS receivers and performs real-time navigation processing.

When solving engineering problems in the field of geodesy, it is possible to use the console analogue of RTKRCV. For this CUI there is quite complete information on the use of this product, which is in the instructions for the library.

To develop your own post-processing scenarios or to solve any tasks, switching between Linux and Windows provokes serious inconvenience. At a minimum, you must have a separate system or use a virtual machine, which can also be inconvenient.

The rescue turned out to be the presence in Windows 10 support for the subsystem on the Linux kernel.

RTKRCV Subsystem Setup and Launch Algorithm:

  1. Installing WSL (Ubuntu, Debian, etc.);
  2. Installing the necessary utilities on WSL;
  3. ssh-key setup (PC & lt; - > GitHub);
  4. Getting a repository with RTKLIB;
  5. Install RTKRCV;
  6. Configuring the configuration file;
  7. Start RTKRCV.

1. Installing WSL (ubuntu)

Before starting the installation, you must run PowerShell with administrator rights and run the following command:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 

When prompted, restart your computer.

To download and install your preferred distributions, you have three options:

  • Download and install from the Microsoft Store;
  • Download and install using the command line or script;
  • Download, and then manually unzip and install.

We will install our distribution from the Microsoft app store.

This example will be reviewed using the Ubuntu 18.04 LTS distribution

After installing the configurations in PowerShell and downloading the distribution package, run your distribution package and wait for it to be fully installed.


After the installation is complete, you will be prompted to create a user account (and its password).

New Linux user account information

  • The account is intended for a regular user without administrator rights, which will be used by default to log in when the distribution starts;
  • You can select any username and password that are not associated with the Windows username;
  • When you open a new instance of the distribution, you will not be asked to enter a password, but if you increase the privileges of the process using sudo, you will need to specify a password. Therefore, make sure that you select a password that you can easily remember. For more information, see "User Accounts and Permissions for the Windows Subsystem for Linux" .

Update distribution packages

sudo apt update && sudo apt upgrade 

2.Installing the necessary utilities on WSL

We need to install make to build our application and a set of gcc compilers, since the RTKLIB library is written in C/C++.

sudo apt install make sudo apt install gcc 

3. Configuring ssh-key (PC & lt; - > GitHub)

Set up an SSH connection between our GitHub and WSL

  1. ssh-keygen -t rsa -b 4096 -C “Ваш E-mail” 

    Message: Enter file in which to save the key (* standard directory *) (Press Enter if you agree with the storage location of the ssh key)
    Message: Enter passphrase: (Set the password for the connection)
  2. eval $(ssh-agent -s) 

    * Receive messages like: Agent pid 1234
  3. ssh-add ~/.ssh/id_rsa 

    * After entering the password, get: Identity added: * directory *
  4. cat < ~/.ssh/id_rsa.pub 

    * Copy the received message *
  5. We go into the settings of our GitHub account and find the SSH and GPG key tab. Give a name and paste the copied message into the Key column.


4. Getting Repository with RTKLIB

After setting up ss

h key, we can use git and add a repository with RTKLIB (https://github.com/tomojitakasu/RTKLIB/tree/rtklib_2.4.3)

  1. mkdir rtk 

    Create the rtk directory for the repository. Optional Action
  2. cd rtk 

    Go to the rtk directory.
  3. git clone git@github.com:tomojitakasu/RTKLIB.git -b rtklib_2.4.3 

    Check the name of the branch before downloading.

5. Install RTKRCV

Go to the main directory with RTKRCV:

cd ~/rtk/RTKLIB/app/rtkrcv/gcc 

Then we build our application:

make CC=gcc 

To start rtkrcv use the command./rtkrcv
But before starting, you need to fix a number of errors and configure the configuration file.

  • Set equal access rights to all gcc directory files. From inside the gcc directory, run the command chmod 755 *
  • Install the configuration file for rtkrcv to work. In order to manage files in WSL, you need to install Visual Studio Code . With this editor, we can access WSL files.
  • Install the special WSL utility in the add-on manager.

  • After installing the utility in Code, you can connect to the directories in WSL (Everything is intuitively simple);
  • Now it is possible to edit any files that are in the WSL;
  • Find the configuration files in the conf folder, move them to the gcc folder and correct them to your configuration (comments in the document itself, understandable);
  • In order to connect files from local drives to Windows, you must specify the path as follows/mnt/c, where c is the local drive C.

6. Launch of RTKRCV

  • Go to the gcc folder
  • Run the command:./rtkrcv
  • For a complete list of rtkrcv program commands, use help
  • Run the command: load [configuration file name]
  • Run the command: restart


Using this algorithm will allow you to run rtkrcv without using a virtual machine or an installed linux system as the main OS. Also use local files on your PC.

Thank you for your attention!

Sources used

  1. www.rtklib.com/prog/manual_2.4.2.pdf
  2. www.rtklib.com
  3. docs.microsoft.com/en-us/windows/wsl/user-support

You can also refer to the video for more information.