Configuration on Linux

The program is written for Windows and uses the .NET Framework version 4.7.2. It runs on computers with Windows 7 and newer.

From now on, nothing stands in the way
of running RigAndLog on Linux as well! *

 

* Though here’s a small asterisk — with some limitations.

The program runs on Linux through Wine, and I’ll describe how to configure it later. Because of this, there are several limitations — Linux is not Windows, and emulation will never be 100% perfect.
I’m not a Linux expert and have only limited experience with it, so I apologize in advance for any technical inaccuracies or controversial opinions. These are simply my personal experiences, not an attempt to discredit anyone.

As for providing help with Linux-specific issues when something doesn’t work — unfortunately, my knowledge in that area is limited.

List of known limitations:

  • No support for Omnirig – this is very difficult to implement, and I was unable to force Linux to work with the Omnirig program. Even if it could be launched, it would definitely conflict with other Linux applications using the radio, so I do not recommend attempting it. The problem was solved by implementing the Hamlib libraries. Hamlib works on many platforms, so it can run natively on Linux and will “communicate” with the application running under Wine. I will not describe how to set this up here — there are many articles about it. You can also rely on the Windows-based instructions and the description provided on this website.

  • Operation similar to Windows 7. Wine does not include all Windows controls — for example, WebView2 (Edge browser). Even if installed, it basically doesn’t work. As a result, several windows (e.g., map displays) open in an external browser like Firefox instead of within the program. The problem is solved by installing the appropriate module. The installation is available in the configuration in the Maps tab.

  • LoTW – LoTW support is in Beta and requires further testing.

  • Avoid using schedulers and limit background operations.

  • Time synchronization and camera support have been disabled. Linux has better native solutions for these features, and enabling them in Wine would likely cause problems. The modules can of course be launched, although it’s pointless. Only their default startup in the application has been disabled.

  • Some errors may occur. Since Wine emulates Windows, it’s not 100% compatible. For example, in one of the dialogs, a text containing the Polish letter Ł repeatedly appeared — and although it worked fine elsewhere, in that specific place it caused Wine to freeze. In general, my impression is that Linux constantly needs a little “push” to move forward — copy-paste issues, network browsing quirks, etc., always something to tweak in the console to make it work. That’s just my personal opinion as a long-time Windows user after briefly exploring the topic. No offense intended. 😜

  • Running on a virtual machine — e.g., Linux inside Windows — is slow and not worth it. Wine draws program controls very slowly.

  • File system differences. The Windows file system is emulated and mapped to Linux paths by Wine. You’ll need to get used to where things are located and how to work with them in this setup.

🛠️ Configuration on Linux

In the file manager, navigate to the RigAndLog program folder, right-click it, and select Open Terminal Here (or a similar option).
You can also launch the console using the keyboard shortcut ALT+CTRL+T, but it’s better to run the scripts directly from the RigAndLog program folder.

First, we need to improve the copy-paste functionality in the terminal window. If pasting already works correctly, you can skip this step:

bind 'set enable-bracketed-paste off'
echo "bind 'set enable-bracketed-paste off'" >> ~/.bashrc
echo "DISABLE_BRACKETED_PASTE=true" >> ~/.zshrc

I’ve created a script for a full installation (for the brave ones, though I don’t recommend it). You can run it as follows:

chmod +x *.sh 
./install_all.sh

However, because of the variety of Linux distributions and the possibility of a number of problems along the way, I will describe step by step how I ran it on Linux Mint version 22.2. By performing the installation step by step you can react to errors as they occur and a single mistake won’t affect the rest of the configuration. Unfortunately, if you lack Linux experience I probably won’t be able to help much in case of problems. The configuration was created thanks to Google, ChatGPT, etc., and many days of trial and error.

I take no responsibility for any errors or losses caused by faulty operation… you know the drill.

Let’s begin:


🧩 STEP 1 — Make sure your system is up to date

In the terminal, type:

sudo apt update && sudo apt upgrade -y

and wait until everything is fully updated.


🧰 STEP 2 — Install Wine

Wine is a “compatibility layer” that allows you to run Windows programs on Linux.

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install wine winetricks -y
sudo apt install wine-gecko2.47.4

If the last command doesn’t work — which is quite likely — run the following instead:

wget https://dl.winehq.org/wine/wine-gecko/2.47.4/wine-gecko-2.47.4-x86.msi
wget https://dl.winehq.org/wine/wine-gecko/2.47.4/wine-gecko-2.47.4-x86_64.msi
wine msiexec /i wine-gecko-2.47.4-x86_64.msi

🍷 STEP 3 — Configure the Wine environment

Run the Wine configuration tool:

winecfg

The launch may take a little while. On the first run, Wine will create the ~/.wine directory and open the configuration window. Here’s how I set up the configuration:

⚠️Important!!!

You must uncheck the options “Allow the window manager to decorate the windows” and “Allow the window manager to control the windows”.

Options unchecked
Applications launched under Wine look like programs straight out of Windows 98.
There are issues with window minimization — after minimizing, windows are not visible on the taskbar, and the minimization occurs above the taskbar instead of into it.
Additionally, windows may remain always on top, covering native Linux applications.

Options checked
Windows of applications launched under Wine have a more modern appearance and minimize correctly to the taskbar.
Unfortunately, in this mode the minimum window size is not respected — the window can be resized almost to zero, which may cause parts of the user interface to disappear.

Compatibility limitations and recovery mechanisms

Regardless of the selected options, it is not possible to achieve 100% compatibility with Windows.
For this reason, the program includes the F5 (Refresh) key, which attempts to restore reasonable minimum window dimensions if they become corrupted (though not always with 100% effectiveness).

In some cases, it may also be necessary to manually move the window to force the window manager to recalculate its layout.

Additionally, in Program Options → Wine tab, there is a setting that allows you to specify whether the application should automatically attempt to fix the missing minimum window size constraint.

🖋 STEP4 — Install fonts, text rendering and libraries

winetricks -q corefonts consolas gdiplus
winetricks vcrun2019
winetricks dxvk

🧰STEP5 — Reducing the number of Wine messages

echo 'export WINEDEBUG=-all' >> ~/.bashrc && source ~/.bashrc

⚙️ STEP 6 — Install .NET Framework 4.7.2

winetricks dotnet48

💡 This step will take the longest. Wine will download installers from Microsoft servers.

Winetricks can automatically install the full chain of previous .NET versions:

.NET 2.0 → 3.0 → 3.5 → 4.0 → 4.5 → 4.6 → 4.7 → 4.7.2 →4.8

Although the program works with .NET 4.7.2, it is recommended to also install 4.8 — supposedly it slightly improves performance and buffering.

During installation:

  • Accept the license agreement.
  • Do not restart the system if prompted — click Cancel / Later or similar.

💾 STEP 7 — Copy RigAndLog to Linux

Download the 64-bit version of the program, unpack it, and copy the program folder to your Linux home directory, for example:~/RigAndLog

▶️ STEP 8 — Launch the application

In the terminal:

cd ~/RigAndLog
wine RigAndLog_SP4THK.exe

⚙️ Additional options:

🖥️ Desktop and Start Menu shortcuts

Here I’ve created a script — run it in the terminal window by typing:

chmod +x *.sh 
./install_shortcuts.sh

📡 COM Ports / Radio

If RigAndLog uses COM ports (e.g., for CW), you need to map them in Wine:

Check available ports:

ls /dev/tty*

Create a symbolic link, for example for /dev/ttyUSB0:

ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1

In the program, select COM1 in the CW windows.

However, I don’t think Wine and RigAndLog handle CW transmission very well. There are better native Linux programs for this purpose.

🚀 Launching the Program

Once started, the program detects that it’s running under Wine and knows it’s on Linux. It tries to adapt to the challenging environment it has to operate in — in this hostile, letter-sensitive system. 😉

On the first launch window, it’s best to leave the options as they are:

It’s worth considering whether to enable or disable the visual style. This may slightly slow down Wine, but it’s not a drastic slowdown. The option can be chosen depending on your hardware.

After opening the LogBook window, select Configuration ⚙️.

Unlike the program on native Windows, there is an additional tab in the configuration, aptly named Wine:

Here we set the drive mapping options, similar to those in the Wine configuration itself. Wine translates from Linux paths to Windows-style paths; we will translate in the opposite direction.

Wine emulates a Windows file system — for example, drives C: and D:. Windows also has its specific folders like My Documents, Program Files, etc. Wine maps these to the Linux file system. The program essentially doesn’t see the Linux directories directly, only the mapped Linux paths to virtual drives like C:.

However, if a user clicks Show in Explorer, natively this works poorly. There’s no straightforward way to handle it. That’s why in the program, all options that would open files or folders in Explorer are remapped to Linux paths and opened in the default Linux file manager — much more convenient and easier to navigate. Therefore, it’s necessary to configure reverse mapping in the program.

There may be ways to extract these paths directly from Wine settings, but this setup also has advantages — for example, you can customize it your way.

Unfortunately, this is a one-way option: if you open a file in LogBook (e.g., an ADI file for import), it must reside in the mapped directories; otherwise, the program won’t be able to see it. This is a bit cumbersome and requires getting used to, but there’s no alternative.

As mentioned, the program essentially runs like on Windows 7, though under Wine it’s better to set it to Windows 10.

Testing:

We have two buttons to test the file system: opening a folder and opening a file.

There are also three buttons to test how the browser works.

The program opens web pages in several ways:

  • Local file, e.g., C:/mapa.html
  • Local file with parameters, e.g., C:/mapa.html?CallSign=Sp4THK&Option1=XX...
  • Internet file, e.g., https://sp4thk.elfro.pl
  • Internet file with parameters, similar to option 2

Because, as usual, Wine + Linux… the so-called query string (the ? and parameters in the URL) gets mangled, causing the link to break. This is why there are three separate launch methods.

For the user, it’s important to test all three browser launch options, as well as the two file and folder opening options.

Additional options:

1. Fix unsupported Unicode characters to ¿?

Wine has known issues with handling some Unicode characters outside the basic ASCII set.
While diacritical characters such as ą, ę, ł, etc. are usually displayed correctly, more exotic characters, for example:龘靐䶮 may not be supported. In such cases, Wine displays empty squares (so-called “tofu”) instead of the correct characters.
This issue has been known in Wine for many years and is still marked as unresolved. Changing fonts, experimenting with font sets, or adjusting rendering settings usually does not provide reliable results.
When this option is enabled, the application replaces unsupported characters with ¿? instead of a square (), giving the user a clear visual indication that a character was present but could not be displayed correctly.


2. Try fix minimum forms(windows) size bug

Wine also has a known problem related to handling the minimum size of windows (forms).
Depending on the configuration options selected during installation, the user may encounter either:

  • visually appealing and functional windows that do not respect a minimum window size, or
  • windows resembling Windows 98–style behavior, covering other applications and often ignoring the taskbar.

Enabling this option, in combination with the visual window mode, significantly reduces this inconvenience and provides a reasonable compromise between appearance and usability.

However, it should be noted that the behavior and effectiveness of this feature depend on the specific Linux distribution, desktop environment, and window manager in use.

For this reason, the F5 (Refresh) key was added to the application. It attempts to restore reasonable minimum window dimensions if they become corrupted, although this does not work with 100% reliability in all cases.

System / Environment Rating Notes
Windows 10 / 11 ★★★★★ Full compatibility and the best user experience.
Windows 7 ★★★★☆ Maps are supported via an additional module.
Linux (Wine) – XFCE ★★★☆☆ Maps as in Windows 7 (via an additional module).
Window handling with nearly 100% compatibility.
Linux (Wine) – KDE Plasma ★★☆☆☆ Maps as above.
Windows with limited ability to automatically fix window size issues.
Linux (Wine) – Cinnamon and similar ★☆☆☆☆ Maps as above.
Window behavior highly dependent on the desktop environment (“best effort”).

Does this mean that, for example, Linux Mint Cinnamon is not suitable?
Absolutely not.

It simply means that in this environment the user needs to be aware of certain limitations — for example, avoiding excessive manual resizing of application windows, as this may lead to interface display issues.


Maps.

In the default Wine installation, maps are opened in the system browser. This is a poor solution because every map call or update may open a new tab, which can slow down the system and cause high memory usage.
To solve this inconvenience and run a proper map window, go to the Map tab in the configuration.

Click the Download now button. Additional libraries will be loaded, and the program will be ready to use the maps.


The end!!! 🥳 Configuration complete 🎉

The program’s operation on Linux has been tested for basic scenarios, but it’s possible that some things may still not work 🤷🤔😕. Please provide feedback if you encounter any issues.

No penguins were harmed in the making of this guide. 😉