Skip to main content

Install OpenScreen on Windows, macOS, and Linux

On Windows, the recommended route is the Microsoft Store. Everywhere else, download the latest installer for your platform from the download page, or straight from GitHub Releases.

System requirements​

MinimumRecommended
WindowsWindows 10 version 1903 (build 18362) or later, x64, Intel 8th Gen / AMD Ryzen 2000 series or newer. Native capture needs Windows 10 version 2004 (build 19041) or later; older builds record through the browser-capture fallbackWindows 11, Intel 12th Gen / AMD Ryzen 4000 series or newer
macOSmacOS 13 (Ventura) — required by ScreenCaptureKit for capture. Recording the microphone needs macOS 15 or latermacOS 15.2 or later
Linuxx64. xdg-desktop-portal and PipeWire, which recording needs: the native capture helper goes through them, and a failure there is reported as an error. The browser-capture fallback only takes over when a build is missing the helper itself. System audio additionally needs PipeWire as the sound server (the default on Ubuntu 22.10+ and Fedora 34+). Recording mouse clicks on Wayland needs your user in the input group — see Mouse clicks on WaylandSame, kept up to date
RAM8 GB16 GB
Older integrated graphics on Windows

Machines with integrated graphics older than roughly 8th-generation Intel (or the equivalent AMD Ryzen 2000 series) are not blocked from installing, but some have known driver stability issues that can make a recording fail to stop and save — see #460. If you hit this, open the tray icon or Help → Save Diagnostics right after the failure (before starting another recording) and attach the file to a bug report.

macOS​

Download the .dmg installer from Releases and drag OpenScreen into your Applications folder. Builds from 1.9.0 onward are signed with a Developer ID certificate and notarized by Apple, so Gatekeeper does not block them and no terminal step is needed.

The first time you open it, OpenScreen shows a permissions window that lists every permission it uses, each with a button to grant it. You can reopen it at any time from OpenScreen's menu bar icon: Permissions…. What macOS asks for depends on its version:

  • macOS 15.2 and later: you pick the screen or window in Apple's system picker, and that pick is your consent, so no Screen Recording permission is needed. System audio asks for its own, narrower permission: System Audio Recording Only.
  • macOS 13 to 15.1: OpenScreen uses its own source picker and needs Screen Recording, which also covers system audio. On 15.0 and 15.1, macOS also asks from time to time whether OpenScreen may access the screen directly, without the system picker: allow it.

Accessibility is what the default editable cursor needs to record the cursor shape and clicks: in that mode, pressing record without it opens the permissions window, and recording starts once you have granted it and press record again.

Upgrading from a version older than 1.9.0?

Those builds were not signed with a Developer ID certificate, and macOS ties Screen Recording and Accessibility grants to an app's signature — so it cannot tell the new build is the same app, and the permissions you granted the old one do not carry over. If a new version won't record even after granting them, remove OpenScreen's entries under both permissions in System Settings, then launch it again and grant them fresh.

Windows​

Recommended: Microsoft Store. Get OpenScreen from the Microsoft Store, or install the same package from a terminal:

winget install --source msstore OpenScreen

Microsoft signs the Store package during certification, so it installs without a security warning, and the Store keeps it up to date.

Alternative: standalone installer. Download and run the .exe from Releases if you can't use the Store — Windows LTSC, a locked-down work machine, an offline install, or a specific older version.

SmartScreen warning on the .exe

The .exe is not code-signed, so Windows SmartScreen shows Windows protected your PC and reports an unknown publisher. Choose More info → Run anyway to continue. Download the .exe only from the Releases page; if you want a signed package, use the Store build.

Linux​

Four x64 packages are published per release — pick the one matching your distro. On aarch64, use the Nix flake below, which builds from source.

Debian / Ubuntu / Pop!_OS

sudo apt install ./Openscreen-Linux-*.deb

Fedora / RHEL / CentOS

sudo dnf install ./Openscreen-Linux-*.rpm

Arch / Manjaro

sudo pacman -U Openscreen-Linux-*.pacman

Any distro (AppImage)

chmod +x Openscreen-Linux-*.AppImage
./Openscreen-Linux-*.AppImage

If the AppImage fails to launch with a sandbox error:

./Openscreen-Linux-*.AppImage --no-sandbox

NixOS / Nix (flake)

Try it without installing:

nix run github:getopenscreen/openscreen

Install into your user profile:

nix profile install github:getopenscreen/openscreen

As a NixOS system module:

{
inputs.openscreen.url = "github:getopenscreen/openscreen";

outputs = { nixpkgs, openscreen, ... }: {
nixosConfigurations.<host> = nixpkgs.lib.nixosSystem {
modules = [
openscreen.nixosModules.default
{ programs.openscreen.enable = true; }
];
};
};
}

Home Manager users can use openscreen.homeManagerModules.default with the same programs.openscreen.enable = true;.

You may need to grant screen-recording permission depending on your desktop environment.

Mouse clicks on Wayland​

Wayland exposes no portal for input events, so OpenScreen reads left-button presses straight from the kernel's evdev interface (/dev/input/event*) instead. Those device nodes are owned by root:input, so a recording only distinguishes a click from ordinary cursor movement when your user is in the input group:

sudo usermod -aG input $USER

Log out and back in for the new group to take effect. Nothing breaks without it — recording works exactly as it did before, and every cursor sample is simply recorded as a move.

The scope is deliberately narrow: only the left mouse button (BTN_LEFT) is ever read, never keystrokes. To turn the reader off entirely even where the permission exists, set OPENSCREEN_DISABLE_CLICK_CAPTURE=1 in the environment OpenScreen is launched from.

caution

The input group is not limited to OpenScreen: every program running as your user can then read every input device, keyboard included. Add yourself only if you accept that on this machine.

Touchpads: only a physical click — pressing the pad down until it depresses — is recorded. Tap-to-click is not, because your compositor's input stack (libinput) synthesises those taps for its own use and never writes them back to the kernel device that OpenScreen reads, so there is nothing at the evdev layer to see. A mouse, or a touchpad with tap-to-click turned off, records every click.

Platform differences​

The editing tools are the same everywhere — zooms, backgrounds, crop/trim/speed, annotations, transcription, captions, and projects. Every export format works on every platform; what differs is capture, and which encoder the Linux MP4 export can use:

macOSWindowsLinux
Capture pipelineNative (ScreenCaptureKit)Native (Windows Graphics Capture) on build 19041 and later; browser fallback on older builds or without the helperNative (PipeWire via the ScreenCast portal); browser fallback without the helper, losing hardware encode and cursor telemetry
Custom cursor / click effects✅ — clicks and cursor shape need the Accessibility permission✅✅ on Wayland — click capture needs the input group (details)
WebcamBrowser capture, saved as a separate file (still works as PiP)Native capture, saved as a separate fileBrowser capture, saved as a separate file (still works as PiP)
System audioWorks out of the box; its own permission prompt on macOS 15.2+, covered by Screen Recording on older versionsWorks out of the boxNeeds PipeWire as the sound server (default on Ubuntu 22.10+, Fedora 34+)
MP4 export✅✅✅ — H.264 on the GPU through VAAPI when the GPU stack allows it (see the note below), software otherwise
GIF export✅✅✅
On-device transcriptionMetal (Apple Silicon) / CPUVulkan / CPUVulkan / CPU
MP4 export on Linux

The GPU compositor behind the live preview and MP4 export has three backends — Direct3D 11 on Windows, Metal on macOS, wgpu/WGSL on Linux — and ships in all three builds. On Linux, an H.264 export hands each composited frame to h264_vaapi without a CPU copy when the GPU driver exposes VAAPI and the Vulkan device can hand the frame over as a dmabuf (VK_KHR_external_memory_fd and VK_EXT_external_memory_dma_buf). When any of that is missing — no render node, a driver without VAAPI, a Vulkan device without those extensions — the export falls back to a software encoder and simply takes longer; nothing else changes.

What OpenScreen does on each system, and when another tool fits it better, is summarized on the Windows, Mac and Linux pages.

Next: Quick start walks through your first recording.