Getting Started
Getting Started with RF Swift π
This guide will help you get started with RF Swift by covering system requirements, installation steps, and next actions.
Supported Platforms
RF Swift is designed to work across multiple platforms and architectures to suit your specific environment.
Operating Systems
Platform | x86_64/amd64 | arm64/v8 | riscv64 |
---|---|---|---|
Windows | β Fully supported | β Limited testing | β Not supported |
Linux | β Fully supported | β Fully supported | β Fully supported |
macOS | β Limited support | β Supported (better inside a VM for USB devices) | β Not supported |
Tested Single-Board Computers
SBC | Status | Comments |
---|---|---|
Raspberry Pi 5 | β | Works perfectly with most tools |
Milk-V Jupiter | β | Works perfectly with most tools, but slower than Raspberry Pi 5 |
Milk-V Mars | β | Software support is currently unavailable. Docker installation is problematic |
UP Squared Series | β | Works perfectly with most tools |
System Requirements
The minimum requirements to run RF Swift are:
Linux Requirements
install.sh
script included in the repository.
Essential Components
- Docker: Required to run RF Swift containers
curl -fsSL "https://get.docker.com/" | sh
- xhost: Required for GUI application support (install via your distribution’s package manager)
- PulseAudio: Required for audio support (install via your distribution’s package manager)
Optional Components
- Go Compiler: Required if you want to build RF Swift from source
- BuildX: Required for cross-architecture compilation
Quick Installation
RF Swift provides a comprehensive installation script that automatically installs all required tools and dependencies on Linux systems.
# Clone the repository
git clone https://github.com/PentHertz/RF-Swift.git
cd RF-Swift
# Run the installation script to automatically install all dependencies
./install.sh
The install.sh
script will:
- Install Docker if not already present
- Set up BuildX for cross-architecture support
- Install Go compiler if needed
- Configure xhost for GUI application access
- Set up PulseAudio for sound
- Configure user permissions for Docker
- Download and install the latest RF Swift binary
This is the recommended method for Linux users as it ensures all components are correctly configured to work together.
Windows Requirements
Required Software
- Docker Desktop to run containers
- usbipd to bind USB devices to the host
For Audio Support
For programs requiring PulseAudio:
- Follow the setup guide on Linux Uprising
- Use the updated binaries available at pgaskin.net/pulseaudio-win32
Installation Steps
- Install Docker Desktop and ensure WSL2 integration is enabled
- Install usbipd for USB device support
- Set up PulseAudio if audio functionality is needed
- Download the latest RF Swift binary from the releases page
macOS Requirements
Current Status
- Container functionality works without USB forwarding
- For full functionality including USB device support, running in a Linux VM is recommended
Required Software
- Docker Desktop for macOS
- XQuartz for X11 forwarding (optional)
Known Limitations
- USB device forwarding is not currently supported natively
- Some specialized RF tools may have compatibility issues
Architecture Overview
RF Swift organizes its functionality in a hierarchical structure:
graph TD A[rfswift] --> B[Host manager] B --> C[Host] B --> D[USB] B --> F[Sound] B --> G[Images Container manager] H[Dockerfiles] --> G G --> I[Pull] G --> J[List] G --> K[Save] G --> L[Tag] G --> M[Run] G --> N[Exec] style A fill:#f9f,stroke:#333,stroke-width:4px style B fill:#bbf,stroke:#333,stroke-width:2px style H fill:#afa,stroke:#333,stroke-width:2px style G fill:#bbf,stroke:#333,stroke-width:2px
This structure allows RF Swift to provide:
- Comprehensive container management
- Host resource integration
- Device forwarding (USB, audio, display)
- Streamlined workflow for RF testing and development
Next Steps
Dive right into the following sections to continue:
Troubleshooting
If you encounter issues during installation or usage:
- Check the GitHub Issues page for known problems
- Verify your Docker installation is working correctly with
docker run hello-world
- Ensure you have the required permissions (e.g., user is in the docker group on Linux)
- Join our Discord community for direct assistance
Feature Compatibility Matrix
Feature | Linux | Windows | macOS |
---|---|---|---|
Container Execution | β | β | β |
GUI Applications | β | β | β (with XQuartz) |
USB Device Forwarding | β | β (with usbipd) | β |
Audio Support | β | β (with PulseAudio) | β Limited |
Hardware Acceleration | β | β Limited | β Limited |
Cross-Compilation | β | β (in WSL) | β |