Skip to content
ShiftPane
Documentation

Install ShiftPane

What you need, then build and run it. Windows needs one driver, once.

ShiftPane runs on Windows, macOS and Linux, and each release comes as an installer: nothing to clone or build.

0:00 / 0:00

ShiftPane in a minute: the phone as a second screen or a widget board, and making your own widgets.

Download

Get the installer for your system from the latest release:

SystemFile
WindowsShiftPane-<version>-win-x64.exe
macOS (Apple silicon)ShiftPane-<version>-mac-arm64.dmg
LinuxShiftPane-<version>-linux-x86_64.AppImage or ShiftPane-<version>-linux-amd64.deb

Run it, and the window opens on the Devices page with a QR code to pair your first phone. The widget board works everywhere. The virtual monitor is the part that differs by system (below), and it's the part that's only been tried on Windows so far.

The installers aren't signed yet. On Windows, SmartScreen says "Windows protected your PC": choose More info → Run anyway. On macOS, right-click the app and choose Open the first time. Each file's SHA-256 is on the release page, so you can check what you downloaded, and the workflow that builds the installers is in the repository.

Build it yourself

You need:

Node.js 22.12+
For the desktop app, the phone app and the build.
pnpm 10
Run corepack enable once and Node provides it.
Rust, stable
For the native helper. The repository pins the toolchain in rust-toolchain.toml.
A phone or tablet
On the same Wi-Fi as the PC, with a current browser.

On Windows, building the native helper also needs Visual Studio (or its Build Tools) with the C++ workload, as any Rust program on Windows does.

  1. Get the code

    Clone the repository and open a terminal in its folder.

    Terminal
    git clone https://github.com/kwiruu/shiftpane.git
    cd shiftpane
  2. Install and build the phone app

    The desktop app serves the phone app to your phone, so build it once first:

    Terminal
    pnpm install
    pnpm --filter @shiftpane/phone build
  3. Start the desktop app

    Terminal
    pnpm dev:desktop

    The window opens on the Devices page, with a QR code to pair your first phone.

The virtual monitor

Display mode needs a virtual monitor, and each OS makes one differently. Widgets work without it.

The virtual monitor

Windows
Virtual Display Driver, which you install once. ShiftPane never bundles it.
macOS
Built in from macOS 11. Nothing to install.
Linux
Depends on the desktop: GNOME, KDE, wlroots compositors, or X11.

On Windows, install Virtual Display Driver once:

PowerShell
winget install --id=VirtualDrivers.Virtual-Display-Driver -e

Then open VDD Control from the folder winget installed it to and click Install. ShiftPane tells you if the driver is missing when you first ask for a monitor.

Make an installer

To package the app for the OS you're on, run pnpm package. The installer lands in apps/desktop/release/; this is how the releases are made.

Next: pair a phone.