Running N1MM+ logger with Wine on Debian Buster

Posted by Nate Bargmann on Tue, Dec 4, 2018

I’m certainly not the first to attempt to run the popular N1MM Logger+ contest logging program on Linux through Wine.  I do think that I’m one of the few (NF8M, W2NRL (thanks to both of you for putting your experiences out on the Web)) that has found that this may now be possible after years of frustration.  Wine has clearly become more capable and short of N1MM Logger+ being written to work with Mono, hams wanting to transition away from Microsoft Windows to Linux may well have one less reason to prevent them from doing so.

In recent weeks I have been working with Debian Buster which at this time is nearing its freeze before it is released as the next Debian Stable release.  I have found Buster to very well integrated and have been enjoying Gnome on Wayland and finding its font rendering to be among the best I have seen on the Linux desktop.  This newfound capability led me to consider how well Wine had evolved and I must say that I am pleasantly impressed.

Wine installation

This section assumes that you’re familiar with the Debian packaging tools such as apt-get or aptitude.  As I prefer aptitude, I’ll be noting package installation through its UI.

Wine in Buster supports both 32 and 64 bit applications.  As I understand, the best compatibility is obtained by having both 64 and 32 bit versions installed simultaneously.  For those of us running the Debian amd64 architecture, this means the i386 architecture needs to be enabled and packages from it installed.  For adding the i386 architecture, the command is:

sudo dpkg --add-architecture i386

Next you can update the package list using aptitude or apt-get update, whatever is your preference.

In the aptitude UI select the wine package and see that it depends on either the wine32 or wine64 package.  Also, both can be installed at once as this screenshot shows.

Aptitude screenshot showing Wine selection.

In addition to the wine and its dependent packages, the winetricks package should also be installed.  Start the installation process which will take some time as a lot of i386 architecture packages are downloaded and installed.

Setting up the wineprefix

Wine has the capability of multiple virtual Windows installations through the use of multiple wineprefixes which are stored as additional “hidden” directories in your home directory.  The default wineprefix is, appropriately enough, .wine.

A bit of a shortcut can be taken that will create the wineprefix and configure Wine to smooth (antialias) the Windows application fonts (the following command assumes your display uses RGB sub pixel rendering).

WINEPREFIX=$HOME/.wine-n1mm winetricks settings fontsmooth=rgb

A small window from winecfg will appear and the following will be printed to the terminal before winetricks exits:

------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20180815 - sha256sum: 29e664ec1e879271a33167bf367deaa188cbe803d44b540e692bd669c44a2804 with wine-3.0.3 (Debian 3.0.3-2) and WINEARCH=win64
Executing w_do_call fontsmooth=rgb
Executing load_fontsmooth rgb
Setting font smoothing to rgb
Executing wine regedit C:\windows\Temp\_fontsmooth=rgb\fontsmooth.reg
Executing wine64 regedit C:\windows\Temp\_fontsmooth=rgb\fontsmooth.reg

Next make a few settings in winecfg to configure the virtual Windows installation.  The following screen video shows setting the Drives to point to various locations in your system (click the full screen icon in the lower right of the video play to view it in full size).

Next winetricks will be run to install the Microsoft .NET 4.0 runtime library as shown in the following screen video.

The video cuts off but once winetricks returns to the selection screen, just press the Cancel button to exit the screens in succession.

Now that the prerequisites are in place, the N1MM Logger+ full installer and  most recent update may be downloaded, installed, and configured.  Again, the WINEPREFIX will be used to make sure that N1MM Logger+ will be installed in the correct virtual Windows installation.  From the directory where your browser saved the downloaded files run the following commands (Note that N1MM Logger+ is updated often and the versions you download will differ from those shown here, please use the version you downloaded):

WINEPREFIX=$HOME/.wine-n1mm wine N1MM\ Logger+\ FullInstaller\ 1.0.7182.exe<

and:

WINEPREFIX=$HOME/.wine-n1mm wine N1MM\ Logger+\ Update\ 1.0.7342.exe

Simply follow the on-screen prompts of each installer.  Wine will create desktop icons that link into the correct WINEPREFIX for N1MM Logger+ into the standard Free Desktop menu system.  Be aware that the N1MM menus will often close before they can be clicked with the mouse (I am guessing, but have not confirmed, that this is an issue between Wine and MS .NET 4.0).  Oft times using the keyboard arrow keys and the Enter key for selection is required.  This has been needed in the main Configure menu.  Actual logging is not affected even though the cursor bar is rather frenetic.

Have fun!

As a side note, I operated the 2018 ARRL 160m contest using N1MM Logger+ on my Debian Buster desktop running Gnome and it worked quite well.  I set it up to key the K3 via the RTS line through the CAT serial port and that part performed flawlessly.

Tip

If you get an error after setting up the radio on a serial port that another application is using the port, it’s quite likely that your Linux user account does not have permission to access the port.  Adding your username to the dialout group will clear the error and allow using the serial ports as your normal user. You can do this from a terminal as:

sudo usermod -aG dialout <username>

Logout of your desktop and log back in and N1MM Logger+ should be able to access the ports now.

Comments

Comment by Nate Bargmann on 2022-10-30 07:15:00 -0600

I’m no longer using this setup as after about 18 months changes to N1MM+ and .Net rendered the entire exercise moot. Changes to N1MM+ meant that it no longer did automatic updates as I recall, and newer versions of .Net simply could not be installed under Wine. It was fun for a little bit.