RDPilot RDPilot
winget install --id=RDPilot.RDPilot -e Experimental Avalonia RDP client backed by FreeRDP.
winget install --id=RDPilot.RDPilot -e Experimental Avalonia RDP client backed by FreeRDP.
RDPilot is a fast Avalonia RDP client backed by FreeRDP. It focuses on responsive remote desktop sessions, dynamic resolution, secure saved profiles, and a clean tabbed interface.
RDPilot currently supports Windows and Linux.
Install on Windows with winget:
winget install RDPilot.RDPilot
The latest Windows installer is also available from the GitHub Releases page:
https://github.com/ErnieBernie10/RDPilot/releases
The installer is per-user and installs to:
%LOCALAPPDATA%\Programs\RDPilot
On Arch Linux, RDPilot is currently available from the GitHub Release package:
curl -LO https://github.com/ErnieBernie10/RDPilot/releases/download/v0.2.0/rdpilot-0.2.0-1-x86_64.pkg.tar.zst
sudo pacman -U rdpilot-0.2.0-1-x86_64.pkg.tar.zst
Linux is supported, but the package has not been published to the AUR yet.
Connect to open a new session tab.Each Connect action opens a separate tab. Switching tabs keeps background sessions connected and routes input, resize, and clipboard updates only to the active session.
Saved connection metadata is stored per user:
%APPDATA%/RDPilot.Client/connections.json~/Library/Application Support/RDPilot.Client/connections.json$XDG_CONFIG_HOME/RDPilot.Client/connections.json, or ~/.config/RDPilot.Client/connections.jsonPasswords are stored separately:
secret-toolgfx-gdi.classic-gdi is kept as a fallback: RDPILOT_RENDERING_MODE=classic-gdi.RDPILOT_GFX_CODEC_POLICY=server, avc, avc420, or sharp.RDPILOT_GFX_FRAME_ACK=on|off. QoE acknowledgements can be enabled with RDPILOT_GFX_QOE_ACK=on.[PERF_NATIVE], [PERF_UI], [PERF_INPUT], and [CLIPRDR] logs.docs/dependencies.md.RDPilot contains two main projects:
RDPilot.Client: .NET/Avalonia desktop client.RDPilot.Wrapper: native C wrapper around FreeRDP 3 APIs.Requirements:
Prepare vcpkg dependencies:
scripts/setup-windows-vcpkg.ps1
Build and run:
scripts/run-windows.ps1
Build only:
scripts/build-windows.ps1
Build a Release installer:
scripts/build-installer-windows.ps1 -AppVersion 0.1.0
The installer is written to:
artifacts/installer/RDPilot-Setup--win-x64.exe
The default vcpkg location is a sibling of this repository, for example C:/Users//Sources/vcpkg when this repo is C:/Users//Sources/rdp-client. Pass -VcpkgRoot to use a different location.
See docs/dependencies.md for the current dependency inventory.
Linux is supported. The notes below are for contributors working on Linux builds.
Requirements:
freerdp3, freerdp-client3, winpr3secret-tool and a working Secret Service session for password storageOn Arch/CachyOS:
sudo pacman -S dotnet-sdk cmake gcc pkgconf freerdp
Build and run:
scripts/run-linux.sh
Build only:
scripts/build-linux.sh
Build a Release configuration:
scripts/build-linux.sh --configuration Release
Equivalent direct commands:
dotnet build RDPilot.slnx
dotnet run --project RDPilot.Client/RDPilot.Client.csproj
The .NET project builds the native wrapper with CMake and copies the native library beside the managed output so DllImport("freerdp_wrapper") can load it. On Linux, the wrapper is built at RDPilot.Wrapper/build/native/libfreerdp_wrapper.so.
Release versions use major.minor.patch tags. The tag version is used for the .NET assembly, Inno installer, GitHub Release asset name, and winget package version.
Create a release:
git tag v0.1.0
git push origin v0.1.0
The Windows Installer workflow publishes:
RDPilot-Setup-0.1.0-win-x64.exe
RDPilot-Setup-0.1.0-win-x64.exe.sha256
The Linux Arch Package workflow publishes:
rdpilot-0.1.0-1-x86_64.pkg.tar.zst
rdpilot-0.1.0-1-x86_64.pkg.tar.zst.sha256
PKGBUILD
.SRCINFO
The generated PKGBUILD and .SRCINFO are release artifacts for now. The package has not been published to the AUR yet.
Submit or update winget manually with wingetcreate after testing the release installer.
New package:
wingetcreate new https://github.com/ErnieBernie10/RDPilot/releases/download/v0.1.0/RDPilot-Setup-0.1.0-win-x64.exe
Package values:
PackageIdentifier: RDPilot.RDPilot
PackageName: RDPilot
Publisher: RDPilot
PackageVersion: 0.1.0
PackageUrl: https://github.com/ErnieBernie10/RDPilot
PublisherUrl: https://github.com/ErnieBernie10/RDPilot
ShortDescription: Fast Avalonia RDP client backed by FreeRDP.
Moniker: rdpilot
InstallerType: inno
Scope: user
Architecture: x64
Update package:
wingetcreate update RDPilot.RDPilot --version 0.1.1 --urls https://github.com/ErnieBernie10/RDPilot/releases/download/v0.1.1/RDPilot-Setup-0.1.1-win-x64.exe