Download PerritoDeck

Version 0.1.0 · free and open source · no account needed

You need two things: PerritoDeck on your computer, and Perrito on your tablet or phone. The computer does what your buttons ask, and the tablet shows them.

Not released yet. PerritoDeck is in early development, and the download links below start working on launch day. Until then, you can build it from the source code.

1. Install PerritoDeck on your computer

The desktop app sits in your tray, pairs tablets, and lets you lay out your buttons. This release has an installer for Windows. On Linux, build it from source for now. The Mac version isn't ready yet.

Windows Your system

Tested on Windows 11 with a real tablet

Windows 10 or 11, 64-bit. Installs just for you, no administrator needed.

Download installer (.exe)
  • winget package coming

Uses Microsoft Edge WebView2, which Windows 11 already has. The installer adds it on Windows 10 if it's missing.

Linux Your system

Build from source for now

64-bit (x86_64), X11 or Wayland. Tested in automated test runs, but not yet on a Linux desktop with a tablet, so this release has no Linux packages.

How to build it
  • Packages come in a later release, once tested on real hardware

Needs WebKitGTK 4.1 (Ubuntu 22.04, Debian 12, Fedora 36 or newer). On Wayland, your desktop asks once per start to allow keyboard and mouse control.

macOS Your system

Not yet

The Mac version is written for macOS 10.15 Catalina or newer, Apple silicon and Intel, but it hasn't been tried on a real Mac. It comes in a later release, once it has been.

To press keys for you, PerritoDeck asks for Accessibility access in System Settings → Privacy & Security.

2. Install Perrito on your tablet

Any Android tablet or phone running Android 5.1 or newer, including Amazon Fire tablets.

System requirements

WindowsWindows 10 or 11, 64-bit, with WebView2 (installed automatically if missing)
LinuxBuilt from source for now. x86_64 with GTK 3 and WebKitGTK 4.1; a tray that supports AppIndicator/StatusNotifier (GNOME needs the AppIndicator extension). Wayland input uses the Remote Desktop portal (GNOME and KDE Plasma).
macOSNot in this release. The Mac version is written for macOS 10.15 or newer, Apple silicon or Intel.
Tablet or phoneAndroid 5.1 (Fire OS 5) or newer, on the same Wi-Fi as the computer or connected by USB
Plugins (optional)The plugins that come with PerritoDeck (OBS, Proxmox, timers and more) need Python 3. Plugins written in JavaScript, and Stream Deck plugins, need Node.js 20 or newer. Without them, everything else works.
USB connection (optional)Android's adb tool (Android SDK Platform-Tools) on the computer

Getting Python 3 and Node.js

First launch of an unsigned build

Until the apps are code-signed, your system warns you the first time you open them. That's expected for any app without a paid certificate, and you can check the file yourself first (below).

Check your download

Each release comes with a file called SHA256SUMS that lists a SHA-256 checksum, a fingerprint of the exact bytes, for every file. If your file's checksum matches its line there, you got exactly what was built from the published source, with nothing changed or cut off along the way. Download SHA256SUMS into the same folder, then run:

Windows (PowerShell)

Get-FileHash .\perritodeck-0.1.0-windows-x64-setup.exe -Algorithm SHA256

Linux, for the APK

sha256sum -c SHA256SUMS --ignore-missing

macOS, for the APK

shasum -a 256 -c SHA256SUMS --ignore-missing

(If your shasum doesn't know --ignore-missing, run shasum -a 256 perrito-0.1.0.apk and compare by eye.)

On Windows, compare the long hash with the line for that file in SHA256SUMS (upper or lower case doesn't matter); Get-FileHash works the same for the APK. On Linux and macOS each file should say OK.

Every file is built from the tagged source by GitHub Actions, in public, and the build log shows the same checksums.

Android: the signing certificate

The APK on this page and in GitHub Releases, which IzzyOnDroid and Obtainium use, is signed with the PerritoDeck release key. Copies from F-Droid are signed by F-Droid instead. The SHA-256 fingerprint of the release key's certificate is published here with the first signed release:

Not published yet

To check an APK from here or from GitHub Releases, run apksigner from the Android SDK's build tools:

apksigner verify --print-certs perrito-0.1.0.apk

The line with certificate SHA-256 digest: should end in the fingerprint above, and there should be no ERROR lines (warnings about files in META-INF/ are normal). Some tools show the fingerprint in capitals with colons between the pairs; it's the same value. If it doesn't match, don't install the file. Android won't install an update signed with a different key over the app you have, so this check matters most the first time. For the same reason, a copy from F-Droid can't be updated with the APK from here, or the other way round.

Command-line host

For servers, kiosks and scripting: the same host without a window, perritodeck-host, plus perritodeck-fakedeck, a test client that needs no tablet. They aren't downloads in this release: build them from source with Rust, then in host/ run cargo run -p perritodeck-host -- --pair to pair a tablet.

Build it yourself

Until the first release, this is the way to try PerritoDeck. On Linux, it's the way to run it for now. Everything is on GitHub under the Apache-2.0 licence (plugins and SDKs under MIT). You need:

  1. Desktop app: cd host/app, npm ci, then npx tauri dev to run it, or npx tauri build for an installer.
  2. Tablet app: cd android, then ./gradlew assembleDebug (.\gradlew.bat on Windows), and install android/app/build/outputs/apk/debug/app-debug.apk on the tablet.
  3. No tablet handy? In host/, cargo run -p perritodeck-fakedeck -- pair <code> pairs a test client the way a tablet would, and -- watch shows its keys.

CONTRIBUTING.md has every build and test command, and how to send changes. Release notes will be on the releases page.