There are numerous tutorials for installing VarAC (and VARA) on a Linux/Pi.
As some installtions can be different than others, we have brought to you 3 tutorials from our VarAC community member.
VIDEO (by KM4ACK)
Installation kit (By K7MHI @kellykeeton)
Follow these instructions on this github page:
https://github.com/SpudGunMan/bapi/blob/main/data/VARA.md
MANUAL (By K7MHI @kellykeeton)
This is how it looks...
I assume this will work on 32bitDebian (had a report of no) I do run in 64bit mode bullseye RPi4 fully updated to the day of this post. the very nice Build-A-Pi project is also used to load ham software.
There are some nice tools for ham radio included in this project.
https://github.com/km4ack/pi-build
1. Install WineLink
WineLink deploys WINE with a full Winlink RMS version and VARA using this following project script. We only need the WINE and the VARA modem part of it but this installer simplifies the installation.
https://github.com/WheezyE/Winelink
2. Install WINE fonts that are needed by VarAC
sudo apt install ttf-mscorefonts-installer
Also follow the instructions here to install "Segoe UI Emoji" font which is also required by VarAC.
3. Download VarAC
Download, unzip and place the files in the ~/.wine/drive_c/VarAC directory
4. Launch VarAC
Using the following command. You can use in a menu.desktop object:
env WINEDEBUG=-all wine /home/pi/.wine/drive_c/VarAC/VarAC.exe
I had to launch a few times and get the settings saved and working but it did work with no major issues! using a IC-705.
5. Enable "Linux compatible mode" in VarAC settings
You can do it by directly editing the VarAC.ini file using the following command:
sed -i 's/LinuxCompatibleMode=OFF/LinuxCompatibleMode=ON/' ~/.wine/drive_c/VarAC/VarAC.ini
Or alternatively you can launch VarAC and do it through the settings menu:
Go to Settings --> Rig control & Vara configuration
Check the "Linux compatible mode" checkbox:
Click Save & Exit
OS/HW specific configuration
by @kellykeeton
Pi5 & Bookworm:
Pi5 only bookworm 16K pagesize is incompatible with wine/box (Dec42023)
Switch to 4k-page by adding 'kernel=kernel8.img' to /boot/config.txt
Reboot
To manually install VARA and VarAC on a Pi:
Load up Pi-Apps via http://pi-apps.io
run: wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash
Use the Pi-Apps GUI navigate to Tools->Emulation
Install Box86 (also installs wine)
Install DLL with winetricks by running "winetricks" from CLI
Press OK for 'default prefix'
Choose install a DLL or component
Select some needed DLL and press OK to install
comdlg32ocx, pdh-nt4, vb6run
Download Vara, VarAC
Install them all, if you install VarAC first it will open the Vara Modem download page
from CLI you can run setup’s with "wine setup.exe"
copy all the OCX files in VARA rather then set paths or register
cp ~/.wine/drive_c/VARA/OCX/* ~/.wine/drive_c/VARA/
Works. I don't have to install windows afterall thank God!
I have had success with pi-apps loading wine/box on 32bit OS/wine
Mint uses wine 6 or 7 by default and I noticed mono(.net) and such no longer support it. Try upgrading to a new wine 8.0 or newer
Also if on 8+ and still having issue sometimes deleting the wine instance and create a new one fixes issues.
I have issues in “Linux mode” and don’t enable that option due to a font error I always see
Thats not working, VarAC died with error:
Unhandled exception: 0xe0434352 in 32-bit code (0x7b642447).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:7b642447 ESP:0031eaec EBP:0031eb40 EFLAGS:00000246( - -- I Z- -P- )
EAX:0031eaec EBX:00000000 ECX:00000010 EDX:0031eb9c
ESI:0031eb9c EDI:01598de8
Stack dump:
0x0031eaec: e0434352 00000001 00000000 7b642447
0x0031eafc: 00000005 80131534 00000000 00000000
0x0031eb0c: 00000000 771c0000 0031eb24 02000059
0x0031eb1c: 0031eb28 771dbc5e 03ccc828 0031eb38
0x0031eb2c: 7724a99c 03ebf730 0000014e 0031eb48
0x0031eb3c: 00000005 0031ebd0 7724ac08 e0434352
Backtrace:
=>0 0x7b642447 RaiseException+0x42(code=<is not available>, flags=<is not available>, count=<is not available>, args=<is not available>) [/usr/src/packages/BUILD/dlls/kernelbase/debug.c:378] in kernelbase (0x0031eb40)
1 0x7724ac08 in clr (+0x8ac08) (0x0031ebd0)
2 0x77435e83 in clr (+0x275e83) (0x0031ebf0)
3 0x77435eff in clr (+0x275eff) (0x0031ec1c)
4 0x77435f3d in clr (+0x275f3d) (0x0031ec4c)
5 0x77435f50 in clr (+0x275f50) (0x0031ec60)
6 0x77360896 in clr (+0x1a0896) (0x0031f5b8)
7 0x77372a34 in clr (+0x1b2a34) (0x0031f604)
8 0x773640e3 in clr (+0x1a40e3) (0x0031f610)
9 0x77215685 in clr (+0x55685) (0x0031f898)
10 0x7721550e in clr (+0x5550e) (0x0031f8ec)
11 0x7721118a in clr (+0x5118a) (0x0031f964)
12 0x772acbcc in clr (+0xecbcc) (0x0031fe54)
13 0x772ad199 in clr (+0xed199) (0x0031fea8)
14 0x772ad09a in clr (+0xed09a) (0x0031fef4)
15 0x7732af00 in clr (+0x16af00) (0x0031ff2c)
16 0x78cf55ab in mscoreei (+0x55ab) (0x0031ff38)
17 0x78d77f16 in mscoree (+0x7f16) (0x0031ff48)
18 0x78d74de3 in mscoree (+0x4de3) (0x0031ff68)
19 0x7bd64d73 in ntdll (+0x54d73) (0x0031ff80)
20 0x7bd661d2 in ntdll (+0x561d2) (0x0031ffec)
0x7b642447 RaiseException+0x42 [/usr/src/packages/BUILD/dlls/kernelbase/debug.c:378] in kernelbase: mov -0x04(%ebp), %ebx
Unable to access file '/usr/src/packages/BUILD/dlls/kernelbase/debug.c'
Modules:
Module Address Debug info Name (58 modules)
PE 400000- e18000 Deferred varac
PE 4190000- 4688000 Deferred mscorlib
PE 771c0000-7782f000 Export clr
PE-Wine 77c70000-77c8a000 Deferred version
PE-Wine 782f0000-78353000 Deferred imm32
PE 78a80000-78a90000 Deferred nlssorting
PE 78aa0000-78b00000 Deferred clrjit
PE-Wine 78b10000-78baf000 Deferred uxtheme
PE-Wine 78bc0000-78c09000 Deferred winex11
PE 78c20000-78cde000 Deferred msvcr100_clr0400
PE 78cf0000-78d56000 Export mscoreei
PE 78d70000-78dba000 Export mscoree
PE-Wine 78ec0000-78f00000 Deferred shcore
PE-Wine 78f10000-78fee000 Deferred shlwapi
PE-Wine 79ca0000-79ce0000 Deferred coml2
PE-Wine 79cf0000-79d27000 Deferred win32u
PE-Wine 79f20000-7a126000 Deferred rpcrt4
PE-Wine 7a140000-7a61f000 Deferred user32
PE-Wine 7a630000-7a869000 Deferred gdi32
PE-Wine 7a880000-7a9bd000 Deferred combase
PE-Wine 7a9d0000-7ae0c000 Deferred ole32
PE-Wine 7aec0000-7b1c9000 Deferred ucrtbase
PE-Wine 7b1e0000-7b26b000 Deferred sechost
PE-Wine 7b280000-7b518000 Deferred msvcrt
PE-Wine 7b530000-7b61d000 Deferred advapi32
PE-Wine 7b630000-7bb71000 Dwarf-4 kernelbase
PE-Wine 7bb90000-7bcf6000 Deferred kernel32
PE-Wine 7bd10000-7bfeb000 Dwarf-4 ntdll
ELF f72fb000-f7303000 Deferred libxfixes.so.3
ELF f7303000-f7310000 Deferred libxcursor.so.1
ELF f734d000-f7362000 Deferred libxi.so.6
ELF f7362000-f7367000 Deferred libxcomposite.so.1
ELF f7367000-f7376000 Deferred libxrandr.so.2
ELF f7376000-f7384000 Deferred libxrender.so.1
ELF f7384000-f738c000 Deferred libxxf86vm.so.1
ELF f738c000-f739a000 Deferred libmd.so.0
ELF f739a000-f73b2000 Deferred libbsd.so.0
ELF f73b2000-f73ba000 Deferred libxdmcp.so.6
ELF f73ba000-f73e8000 Deferred libxcb.so.1
ELF f73e8000-f753a000 Deferred libx11.so.6
ELF f753a000-f7551000 Deferred libxext.so.6
ELF f7575000-f7600000 Deferred winex11.so
ELF f7702000-f7707000 Deferred libxinerama.so.1
ELF f7707000-f770d000 Deferred libxau.so.6
ELF f77f4000-f77fe000 Deferred libuuid.so.1
ELF f77fe000-f782e000 Deferred libexpat.so.1
ELF f782e000-f787e000 Deferred libfontconfig.so.1
ELF f787e000-f78a1000 Deferred libbrotlicommon.so.1
ELF f78a1000-f78af000 Deferred libbrotlidec.so.1
ELF f78af000-f78cd000 Deferred libz.so.1
ELF f78cd000-f790d000 Deferred libpng16.so.16
ELF f790d000-f79da000 Deferred libfreetype.so.6
ELF f79da000-f7ae2000 Deferred libm.so.6
ELF f7ae2000-f7c63000 Deferred win32u.so
ELF f7c63000-f7d19000 Export ntdll.so
ELF f7d19000-f7f4e000 Deferred libc.so.6
ELF f7f74000-f7fac000 Deferred ld-linux.so.2
ELF f7fac000-f7fb1000 Deferred <wine-loader>
Threads:
process tid prio name (all IDs are in hex)
00000038 services.exe
0000003c 0
00000040 0 wine_rpcrt4_server
00000078 0 wine_rpcrt4_io
0000008c 0 wine_rpcrt4_io
000000c0 0 wine_rpcrt4_io
000000d8 0 wine_rpcrt4_io
000000f4 0 wine_rpcrt4_io
0000011c 0
00000130 0 wine_rpcrt4_io
00000064 svchost.exe
00000068 0
0000007c 0
00000080 0 wine_sechost_service
0000006c MicrosoftEdgeUpdate.exe
00000070 0
000000b0 0 wine_threadpool_worker
000000b4 0 wine_threadpool_waitqueue
000000b8 0 wine_threadpool_timer_queue
000000bc 0
00000084 winedevice.exe
00000088 0
00000090 0
00000094 0 wine_sechost_service
00000098 0
0000009c 0
000000a0 0
0000017c 0
00000180 0
000000a4 plugplay.exe
000000a8 0
000000c4 0
000000c8 0 wine_sechost_service
000000cc 0 wine_rpcrt4_server
000000d0 svchost.exe
000000d4 0
000000dc 0
000000e0 0 wine_sechost_service
000000e4 0
00000158 0 wine_rpcrt4_server
0000015c 0 wine_rpcrt4_server
000005c4 0 wine_rpcrt4_io
000000e8 winedevice.exe
000000ec 0
000000fc 0
00000100 0 wine_sechost_service
00000104 0
00000108 0
00000128 rpcss.exe
0000012c 0
00000134 0
00000138 0 wine_sechost_service
0000013c 0 wine_rpcrt4_server
00000140 0 wine_rpcrt4_server
000005f4 0 wine_rpcrt4_io
000005f8 0 wine_threadpool_worker
000005d4 (D) C:\VarAC.exe
After many attempts trying to get VarAC running on my Pi400 I gave up and went back to my windows laptop. Did get VarAC running fine under Linux Mint on my other laptop.
When I ran the install script, I got this warning :warning: 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.
When I run varac I get the stuff below.
env WINEDEBUG=-all wine /home/js/.wine/drive_c/VarAC/VarAC.exe
Unhandled Exception:
System.NotImplementedException: The method or operation is not implemented.
at System.Drawing.Font.FromLogFont (System.Object lf, System.IntPtr hdc) [0x0009c] in <bfeb5fdca71942e18134223465f4f838>:0
at System.Drawing.Font.FromHfont (System.IntPtr hfont) [0x00029] in <bfeb5fdca71942e18134223465f4f838>:0
at System.Drawing.SystemFonts.get_DefaultFont () [0x0009e] in <bfeb5fdca71942e18134223465f4f838>:0
at System.Windows.Forms.Control.get_DefaultFont () [0x00007] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.Control.get_Font () [0x00054] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.Control.get_FontHeight () [0x00076] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.TextBoxBase.get_PreferredHeight () [0x00000] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.TextBoxBase.get_DefaultSize () [0x00000] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.Control..ctor (System.Boolean autoInstallSyncContext) [0x000cd] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.Control..ctor () [0x00000] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.TextBoxBase..ctor () [0x00012] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.TextBox..ctor () [0x0000b] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at (wrapper remoting-invoke-with-check) System.Windows.Forms.TextBox..ctor()
at VarAC.VarAC.InitializeComponent () [0x000a7] in <25a82340646d4f2fa5e9200edb4293ed>:0
at VarAC.VarAC..ctor (System.String[] args) [0x00869] in <25a82340646d4f2fa5e9200edb4293ed>:0
at (wrapper remoting-invoke-with-check) VarAC.VarAC..ctor(string[])
at VarAC.Program.Main (System.String[] args) [0x0000e] in <25a82340646d4f2fa5e9200edb4293ed>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.NotImplementedException: The method or operation is not implemented.
at System.Drawing.Font.FromLogFont (System.Object lf, System.IntPtr hdc) [0x0009c] in <bfeb5fdca71942e18134223465f4f838>:0
at System.Drawing.Font.FromHfont (System.IntPtr hfont) [0x00029] in <bfeb5fdca71942e18134223465f4f838>:0
at System.Drawing.SystemFonts.get_DefaultFont () [0x0009e] in <bfeb5fdca71942e18134223465f4f838>:0
at System.Windows.Forms.Control.get_DefaultFont () [0x00007] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.Control.get_Font () [0x00054] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.Control.get_FontHeight () [0x00076] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.TextBoxBase.get_PreferredHeight () [0x00000] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.TextBoxBase.get_DefaultSize () [0x00000] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.Control..ctor (System.Boolean autoInstallSyncContext) [0x000cd] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.Control..ctor () [0x00000] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.TextBoxBase..ctor () [0x00012] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at System.Windows.Forms.TextBox..ctor () [0x0000b] in <462e49eb7aa34bdea8cf98f8bc777938>:0
at (wrapper remoting-invoke-with-check) System.Windows.Forms.TextBox..ctor()
at VarAC.VarAC.InitializeComponent () [0x000a7] in <25a82340646d4f2fa5e9200edb4293ed>:0
at VarAC.VarAC..ctor (System.String[] args) [0x00869] in <25a82340646d4f2fa5e9200edb4293ed>:0
at (wrapper remoting-invoke-with-check) VarAC.VarAC..ctor(string[])
Jason km4ack was kind enough to make a video for getting vara working in 2023 which is step one and varac is getting more and more stable on wine! https://youtu.be/aOnXCiIp4XM
I have followed these instructions 3-4 times with absolutely no luck installing VarAC on my Pi400. Vara HF starts up ok but after a few seconds totally locks up the Pi and have to restart the Pi.
Also no ~.wine/pi/c: is created so I am unable to install VarAC.
What am I doing wrong? Or is the Pi400 able to run VarAC?
I am having one other issue that I can't seem to figure out. That is running VarAC from a menu.desktop object. The file is in the /usr/local/share/applications folder and contains this;
[Desktop Entry] Name=VarAC Comment=VarAC Chat application Exec=env WINEDEBUG=-all wine /home/n3dlu/.wine/drive_c/VarAC/VarAC.exe Icon=/home/n3dlu/.wine/drive_c/VarAC/VarAC.png Type=Application Terminal=false
When I try to start VarAC with it I get a couple of errors.
First this one.
If I click continue I get this:
VarAC will open but all settings are blank, like it is not reading my .ini file. Also since it can't find the Cat commands file the rig dropdowns are empty. I can run VarAC by double clicking the VarAC.exe file directly from file explorer. Both VaraHF and VarAC open this way and full rig control with PTT function. I have tried running env WINEDEBUG=-all wine /home/n3dlu/.wine/drive_c/VarAC/VarAC.exe In a Terminal window with the same 2 errors. It's like the .desktop execution is running as a different user and starting over or is missing some of the Wine windows components
Warren
Looks like I have it working!!
Initially I used Jason's KM4ACK's procedure to install Vara, VaraFM and Pat winlink (https://www.youtube.com/watch?v=2YfSvSZdjuI). After I installed it I could use Vara HF to send and receive emails with Pat Winlink. It seems that my VarAC issue was the version of Wine that was used. I initially had Wine 6.0.3 installed. I uninstalled that then installed the newer version listed for Linux Mint 21, which is 7.0.1.
After that VarAC opened fine and I could update the settings for Vara file path, Linux Compatibility Mode and save it. After restarting VarAC, Vara automatically started (both Vara regular and Monitor instance) then VarAC started.
I sure appreciate everyone's help with getting this working. Now to go through the manual and figure out how it all works.
Thanks,
Warren
I cannot get it to run, I assume I have missed something but don't know what ?
Richard G7OED
Still no go for me. Updated VARA,VaraFM and VarAC. Vara runs on its own. Same as before trying VarAC. Firewall is in-active. Matched settings with a working Windows version And manually set up a Vara Monitor instance.
warren
Ok great, I’ll give it a try. Saw the email for update but making thanksgiving rounds. Haha. I’m ru. Ing linux mint on a Microsoft Surcace Pro 2 as well as on two Pi 4, 4gb. I’ll try them also.
This was the last part I was missing from my Linux/Raspberry Pi setups.
I already have Vara installed and working on my Linux Mint, using Jason's (KM4ACK) scripts/instruction. I can use Pat Winlink to send and receive emails with VaraHF currently.
For VarAC, I downloaded the new version and unzipped it. I copied the unzipped VarAC folder to my .wine/drive_c folder. Trying to run VarAC with env WINEDEBUG=-all wine /home/pi/.wine/drive_c/VarAC/VarAC.exe in a Terminal window just went to a new home directory prompt line with no errors. VarAC did not start. I tried this several times waiting between tries. I even opened the ini file and changed the Linux Compatibility Mode to ON manually. Restarted and still no go. I also tried from a menu desktop item with the same results. Starting Vara first then trying to start VarAC, no go.
Any ideas what to check or try next?
Thanks,
Warren
N3DLU