Skip to content

Releases: KunalSiyag/gpu-recorder-rs

HyperGSR 1.2.0

Choose a tag to compare

@KunalSiyag KunalSiyag released this 17 Oct 17:48

Install it like a desktop app

  • Flatpak bundle. Download hypergsr.flatpak below and run flatpak install --user hypergsr.flatpak. It bundles gtk4-layer-shell, libportal, the capture helper, and FFmpeg 8.1 with NVENC (NVIDIA driver 530+), VAAPI, and x264, on the GNOME 50 runtime from Flathub. It is self-hosted, not on Flathub, so upgrade by installing the next release's bundle. If the attachment is not there yet, CI is still building it.
  • App menu entry for npm installs. After npm install -g hypergsr, run hypergsr --install-desktop to add HyperGSR to your app menu, and hypergsr --uninstall-desktop to remove it. The entry starts the native binary directly, so it does not need Node.js on the desktop session's PATH.

Changes

  • New app ID io.github.KunalSiyag.gpu_recorder_rs, shared by the GTK application, desktop file, icon, and new AppStream metainfo, so launchers and docks match the window to its entry.
  • The portal restore token now lives in $XDG_CONFIG_HOME/hypergsr (default ~/.config/hypergsr, so existing tokens keep working).
  • gtk4-layer-shell is also found in /app/lib.
  • AUR hypergsr-bin installs the desktop file, icon, and metainfo under the new app ID.

Install

flatpak install --user hypergsr.flatpak   # from the assets below
npm install -g hypergsr && hypergsr --install-desktop
cargo install gpu-recorder-rs             # needs the build dependencies from the README

Or download hypergsr-v1.2.0-linux-x86_64.tar.gz, extract it, and run ./target/release/gpu-recorder-rs. The prebuilt binary needs glibc 2.39 or newer.

Known limitations

  • The docked control bar needs a compositor with wlr-layer-shell (KDE Plasma, COSMIC, Hyprland, Sway). GNOME does not support it.
  • On bare-metal GPUs the kernel does not expose the cursor hotspot, so the camera target can sit a few pixels off the pointer tip for centered cursors like the text I-beam.
  • With several monitors, positions are relative to the monitor the cursor is on.
  • Mouse clicks are not detected on Wayland yet, so click-to-zoom only works on X11.

v1.1.0 — Cursor tracking fixes and packaging

Choose a tag to compare

@KunalSiyag KunalSiyag released this 17 Oct 15:12

What's fixed

  • Cursor tracking no longer drifts when the hardware cursor is hidden. Compositors detach the cursor plane while the pointer is hidden (for example while typing) or when they draw the cursor in software (Hyprland cursor:no_hardware_cursors, common on NVIDIA). HyperGSR used to fall through to a synthetic orbit; it now holds the last known position.
  • Correct positions on any resolution. Cursor coordinates are normalized against the real CRTC size from KMS instead of a hard-coded 1920×1080.
  • Hotspot correction where the kernel exposes it. HOTSPOT_X/HOTSPOT_Y are added on drivers that report them (virtio-gpu, vmwgfx, qxl). Thanks to the commenter who pointed out that CRTC_X/Y is the buffer's top-left, not the pointer tip.

Packaging

  • Works outside a source checkout. The PipeWire capture helper and UI icons are compiled into the binary, so cargo install gpu-recorder-rs works. System packages can install them under /usr/lib/hypergsr and /usr/share/hypergsr.
  • gtk4-layer-shell is found in distro library paths (/usr/lib, /usr/lib64, /usr/lib/x86_64-linux-gnu), not only /usr/local.
  • Removed hard-coded home-directory fallbacks, and the desktop entry now uses Exec=hypergsr.
  • Added AUR PKGBUILDs for hypergsr-bin and hypergsr-git in packaging/aur/.

Install

npm install -g hypergsr          # or: npx hypergsr
cargo install gpu-recorder-rs    # needs the build dependencies from the README

Or download hypergsr-v1.1.0-linux-x86_64.tar.gz below, extract it, and run ./target/release/gpu-recorder-rs. The prebuilt binary needs glibc 2.39 or newer.

Known limitations

  • On bare-metal GPUs the kernel does not expose the cursor hotspot, so the camera target can sit a few pixels off the pointer tip for centered cursors like the text I-beam.
  • With several monitors, positions are relative to the monitor the cursor is on, not to the captured output.
  • Mouse clicks are not detected on Wayland yet, so click-to-zoom only works on X11.

v1.0.0 — HyperGSR Studio (Screen Studio for Linux Wayland)

Choose a tag to compare

@KunalSiyag KunalSiyag released this 16 Oct 20:03

⚡ HyperGSR Studio v1.0.0 — Initial Public Release

Screen Studio for Linux Wayland in ~56 MB of Native Rust.

✨ Highlights

  • 🎯 Rootless Wayland Global Cursor Tracking (DRM Plane #92): Direct libdrm hardware cursor plane polling (CRTC_X, CRTC_Y, FB_ID) at 60 Hz across all native Wayland & X11 windows without sudo.
  • 🎥 240 Hz Critically-Damped Spring Camera & Trajectory Planner: Smooth $C^2$ continuous virtual camera (Smart Follow, Click Lock, Cinema Tour, Manual Combo Only) that never gets stuck zoomed in.
  • 🎮 Self-Registering Custom Zoom Combinations (🎯 Record Combo…): Bind Cursor Shake, Double-Click, Middle/Right Click, Mouse4/Mouse5, Ctrl+Alt, Ctrl+Shift, Super+Z, or Scroll Wheel (1.0×–3.2×).
  • 🏝️ Native Wayland Layer-Shell Dynamic Island (zwlr_layer_shell_v1): Top-center floating capsule with 32-bit RGBA rounded corners, live 16:9 Viewfinder Radar, and 1-click Obsidian Dark (🌙) & Pearl Light (☀️) themes.
  • 🚀 Standalone PipeWire + XDG Desktop Portal + NVENC/VAAPI Capture: Includes native bin/hypergsr-pw-capture with persistent restore_token reuse.