How to choose, use and configure a VPN in RISC OS Open (Guide)

Choosing the Right VPN Clients for RISC OS Open

RISC OS Open is a specialised ARM-only operating system, popular among hobbyists, retro-computing enthusiasts and educators. Unlike most Linux distributions it doesn’t use apt or dnf—instead you’ll manage third-party applications via the built-in !PackMan package manager (with modules, resource forks and the WIMP desktop paradigm). Users are familiar with Acorn-style filetypes and the “pinboard” desktop there’s no systemd or native kernel support for tun/tap modules. That means any VPN solution must either run entirely in userland (like OpenVPN) or come as a pre-built PackMan module tailored for the RISC OS TCP/IP stack.

In practice the most suitable candidates for RISC OS Open are:

  • OpenVPN – battle-tested SSL/TLS user-space daemon, already packaged for PackMan.
  • SoftEther VPN – a versatile multi-protocol server and client, also available as a module.
  • WireGuard – very lightweight, but requiring a userland port and a custom build (since there’s no native kernel module).

Comparison of Top VPN Solutions on RISC OS Open

VPN Protocol PackMan
Availability
Installation Method Config
Complexity
Website
OpenVPN SSL/TLS Yes !PackMan Medium openvpn.net
SoftEther VPN SSL/TLS, L2TP/IPsec, OpenVPN Yes !PackMan High softether-download.com
WireGuard WireGuard No (source build) Compile from source High wireguard.com

Installing and Configuring OpenVPN

OpenVPN is the easiest route on RISC OS because it comes direct from the PackMan archives. You’ll get a ready-to-run module, integration with the built-in TCP/IP stack and a command-line client.

Steps:

!PackMan
 Get
 Update
 Choices
  gt net
  gt openvpn
 Install

Once the module is installed you’ll have an openvpn executable in your Apps. directory. Copy your provider’s .ovpn file into the same directory or your Downloads. pinboard directory. Then start:

openvpn --config Downloads!myvpn.ovpn

You can background it by appending --daemon or create a simple !Script in Apps. Watch the TaskWindow for connection logs.

Installing and Configuring SoftEther VPN

SoftEther offers multiple protocols under one roof. The PackMan module provides both server and client binaries. This is ideal if you need L2TP/IPsec or want to connect to OpenVPN-type servers using SoftEther’s own client.

Installation:

!PackMan
 Get
 Update
 Choices
  gt net
  gt softethervpn
 Install

After installation you’ll find vpnclient and vpncmd in your Apps. To configure:

vpncmd
# At the vpncmd prompt:
> AccountCreate myvpn
   /SERVER::443
   /USERNAME:youruser /NICNAME:VPN
> AccountPasswordSet myvpn /PASSWORD:yourpassword
> AccountEnable myvpn
> AccountConnect myvpn

The embedded TCP/IP stack will bring up a network interface called “VPN”. You can check status with:

vpncmd /CLIENT /CMD AccountStatusGet myvpn

Building and Configuring WireGuard (Userland)

WireGuard offers unbeatable performance, but lacks a native RISC OS kernel module. You’ll need to compile a userland port from GitHub. Ensure you’ve installed GCC or Clang via PackMan’s dev category.

Step 1: Install development tools

!PackMan
 Get
 Update
 Choices
  gt dev
  gt gcc
  gt make
 Install

Step 2: Fetch and compile WireGuard

wget https://github.com/Marvellous/riscos-wireguard/archive/refs/heads/main.zip
Unzip main.zip
cd riscos-wireguard-main
make CC=gcc

This produces wg and wg-quick binaries in your build folder. Copy them into Apps. for easy launching.

Step 3: Configure a tunnel

# Create wg0.conf in Downloads.
[Interface]
PrivateKey = 
Address = 10.0.0.2/24

[Peer]
PublicKey = 
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0

Step 4: Bring up the interface

Apps!wg-quick up Downloads!wg0.conf

You’ll see the interface listed in SocketsCL and your IP updated in the WIMP desktop’s “Network Status” window.

Wrapping Up

For most RISC OS Open users, OpenVPN via PackMan is the simplest and most reliable choice. If you need multi-protocol flexibility, SoftEther VPN is the Swiss-army knife. Should you be feeling adventurous and comfortable with compiling your own tools, the userland WireGuard port gives the performance crown. Each solution respects the unique module-and-resource-fork nature of RISC OS, integrates with its TCP/IP stack and can be driven from the familiar WIMP interface or the built-in TaskWindow.

Download TXT




Leave a Reply

Your email address will not be published. Required fields are marked *