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.
Leave a Reply