Coder Social home page Coder Social logo

winelink's Introduction

logo

Winelink

A Winlink (RMS Express & VARA) installer Script for the Raspberry Pi 4.

This script will help you install Box86, Wine, winetricks, Windows DLL's, RMS Express, & VARA. You will then be prompted to configure RMS Express & VARA to send/receive audio from a USB sound card plugged into your Pi. This installer will only work on the Raspberry Pi 4B for now. This project is still very early in development and has lots of bugs

To run Windows .exe files on RPi4 (ARM/Linux), we need an x86 emulator (Box86) and a Windows API Call interpreter (Wine). Box86 is open-source and runs about 10x faster than ExaGear or Qemu. Box86 is much smaller in file size and much easier to install too.

Installation

Simply copy and paste these commands into your Raspberry Pi 4's terminal:

sudo apt install git -y
rm -rf ~/Downloads/Winelink # remove any old winelink installs
cd ~/Downloads
git clone https://github.com/WheezyE/Winelink
cd Winelink
sudo chmod +x install_winelink.sh
./install_winelink.sh

Installation takes about 90 minutes and lots of errors will appear in the terminal (just ignore those).

You should then be able to run RMS Express with this command: wine ~/.wine/drive_c/RMS\ Express/RMS\ Express.exe

If you wish to run VARA directly, you can do so with this command: wine ~/.wine/drive_c/VARA/VARA.exe

Sometimes after Wine crashes, software will refuse to run. We can sometimes get around this bug by running wineserver -k in the terminal and then trying again.

If you would like to install this software on an older Raspberry Pi (3B+, 3B, 2B, Zero, for example), Winlink may run very slow (and you will need to compile a custom 2G/2G split memory kernel by yourself before installing - auto-detection/installation of a custom kernel is planned for a future release of this script).

Known issues

  • The internet isn't working for some reason (this is a bug in Box86).
  • VARA's CPU gauge doesn't display (this is a bug in Wine).
  • The installation takes about 90 minutes
  • If you get crashes when running RMS Express, just keep re-running RMS Express until it doesn't crash anymore. (If programs refuse to run in Wine after a crash, try running wineserver -k in another terminal window before trying again.)
  • I haven't actually tested over-the-air connections yet since I'm still just a tech. If some generals could test, that would be awesome.
  • My installer isn't very elegant at the moment, but I'll try to make it look a bit better in the future.

Examples

VARA-Pi4 VARA running on a Raspberry Pi 4B (Twister OS)

Credits

 (ptitSeb, pale, chills340, phoenixbyrd, Botspot, !FlameKat53, epychan,
  Heasterian, monkaBlyat, SpacingBat3, #lukefrenner, Icenowy, Longhorn,
  #MonthlyDoseOfRPi, luschia, Binay Devkota, hacker420, et.al.)
  • K6ETA & DCJ21's 'Winlink on Linux' guides

  • KM4ACK & OH8STN for inspiration

  • N7ACW & AD7HE for getting me started in ham radio

      "My humanity is bound up in yours, for we can only be human together"
                                                  - Nelson Mandela
    

Legal

All software used by this script is free and legal to use (with the exception of VARA, of course, which is shareware). Box86, Wine, winetricks, and AutoHotKey, are all open-source (which avoids the legal problems of use & distribution that ExaGear had - ExaGear also ran much slower than Box86 and is no-longer maintained, despite what Huawei says these days). All proprietary Windows DLL files required by Wine are downloaded directly from Microsoft and installed according to their redistribution guidelines. Raspberry Pi is a trademark of the Raspberry Pi Foundation

Future work

  • Make a logo for the github page.
  • Add updated example images
  • Make the script's user-interface look better.
  • Add an AHK script to click the "Ok" button after VARA is installed.
  • Add an AHK script to help the user with VARA first time soundcard setup.
  • Add more clean-up functions to the script.
  • Have the script download all files into the cloned repository directory (instead of into ~/Downloads)
  • Add shortcuts to the desktop
  • Rely on archive.org box86 binaries instead of compiling (give user the choice to compile or not; add auto-detection of failed downloads)
  • Find Box86 stability bugs for Winlink & dotnet35sp1 (and ask ptitSeb very nicely if he can fix them).
    • Address internet issues.
    • Eliminate need for downgrading Box86 to install dotnet & upgrading Box86 to run Winlink.
    • Find crashes.
  • Work with the Wine team to find graphical errors in VARA.
  • Add the fix for VARA graphical errors to the script
  • Re-fix the VARA graphics errors using a different method (winecfg reg keys)
  • Work with the Wine team to figure out why VARA's CPU gauge isn't working.
  • Add pdhNT4 to winetricks to streamline this installer.
  • Add more error-checking to the script.

Add more platforms

  • Add detection of Raspberry Pi kernel memory split (and install the correct kernel if needed) for RPi 2-3 support.
  • Expand this script to detect/include Android (Termux + proot-distro + Ubuntu ARM + termux-usb).
  • Expand this script to detect/include x86 Linux.
  • Expand this script to detect/include Mac.
  • Expand this script to detect/include ChromeBook Linux beta.

Distribution

If you use this script in your project (or are inspired by it) just please be sure to mention ptitSeb, Box86, and myself (KI7POL). This script is free to use, open-source, and should not be monetized (for further information see the license file).

Donations

If you feel that you are able and would like to support this project, please consider sending donations to ptitSeb or KM4ACK - without whom, this script would not exist.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.