Changelog

Every update to Hosaka Studio, newest first.

v0.1.154 Bug fix

Fix EGL_BAD_MATCH on native Wayland

This release fixes a crash on native Wayland compositors where EGL rejected OpenGL context sharing due to a surface format mismatch.

What's changed

  • Fix EGL_BAD_MATCH on native Wayland (COSMIC and others) — Qt requires the default QSurfaceFormat to be set before QApplication initialises so that all internal GL contexts share the same format as the preview. Without this, EGL rejects context sharing with EGL_BAD_MATCH on native Wayland compositors such as COSMIC. GLX/XWayland silently tolerated the mismatch; EGL does not.
v0.1.153 Bug fix

Dark theme and export bug fixes

This release fixes several bugs affecting export reliability and theming, and ships improvements to the transcription feature.

What's changed

  • Fix VAAPI export on AMD GPUs — NV12 exports via VAAPI were failing on AMD radeonsi with an ENOSYS error. A passthrough scale filter now produces proper AVFrames for hwupload without a costly YUV→RGB→YUV round-trip, so hardware-accelerated export works correctly on AMD hardware.
  • Fix dark theme on Wayland compositors without Qt platform plugin — dark theme detected via the XDG portal was silently ignored on compositors like Hyprland that don't provide a Qt platform theme plugin. Hosaka now builds and applies an explicit QPalette that the Fusion style always respects.
  • Fix export overwriting existing captures — a bug where starting a new export would overwrite a previously captured recording has been resolved.
v0.1.152 Bug fix

Fix Flatpak build broken by ctranslate2 dep

The Flatpak build was broken after a recent dependency change, preventing the Flatpak package from being built and distributed. This release restores it.

What's changed

  • Fix Flatpak build failure — the Flatpak package can now be built and distributed again. Users on Flatpak were unable to receive updates until this was resolved.
v0.1.151 Bug fix

Fix ctranslate2 missing from native packages

ctranslate2 was missing from native package builds, preventing background transcription from working on non-Flatpak installs. This release adds it to the packaging allowlist.

What's changed

  • Fix ctranslate2 missing from native packages — ctranslate2 is now included in the native package bundle, restoring background transcription and SRT generation for users on .deb and other non-Flatpak distributions. Flatpak builds were unaffected.
v0.1.150 New feature

Background transcription and SRT subtitle generation

Recordings now transcribe mic audio in the background using Whisper and produce an SRT subtitle file alongside the exported video. Also fixes R2 path prefix not loading on startup, and multi-monitor recording failures.

What's changed

  • Background transcription and SRT subtitles — After recording stops, mic audio is transcribed automatically using Whisper (via CTranslate2). The resulting .srt file is included with exports. Use --no-transcribe to disable. Auto-export waits for transcription to finish before writing.

  • Model download progress in status bar — Whisper model downloads now show progress in the app status bar so you can see when the model is ready.

  • Fix R2 path prefix not loading on startup — The export dialog now loads cloud config from the credential store at init time, so your configured R2 key prefix (and other cloud fields) are applied without needing to re-open the Configure dialog first.

  • Fix second monitor recordings failing — An undamaged second monitor output no longer causes recordings to fail.

v0.1.149 New feature

GPU-accelerated background segmentation and camera fixes

Background segmentation now runs on the GPU via the LiteRT WebGPU/Vulkan backend, with automatic fallback to CPU. Also includes fixes for external camera handling and AMD VAAPI export.

What's changed

  • GPU-accelerated background segmentation — Background removal now uses the LiteRT WebGPU/Vulkan accelerator, offloading inference to the GPU with automatic CPU fallback. This reduces CPU usage during recordings that use background effects.

  • Fix external camera aspect ratio — External cameras now render at their correct aspect ratio in the picture-in-picture overlay. The recording dialog also refreshes available video and audio devices when they change.

  • Fix AMD VAAPI export — A second export code path has been added for AMD GPUs to work around a hwupload format negotiation quirk where the original NV12 path triggered an ENOSYS error. AMD users now get hardware VAAPI encoding during export using a BGR24 readback path, with CPU libx264 as a last resort fallback.

  • Camera settings icon — The camera settings button now uses a video camera icon.

v0.1.148 Bug fix

Fix AMD encoding regression and layout transition bug

Hotfix for two regressions shipped in v0.1.147.

What's changed

  • Fix AMD encoding regression — AMD GPU hardware encoding was broken by the layout modes changes in v0.1.147. This has been corrected.

  • Fix layout transition on first segment — The first layout segment in the timeline was incorrectly playing a transition animation instead of cutting directly to the initial layout.

v0.1.147 New feature

Video layout modes

Switch between different video layout arrangements directly in the editor timeline.

What's changed

  • Video layout modes — A new layout track in the editor lets you switch between different arrangements of your screen and webcam feeds. Change the layout at any point in your timeline to mix and match compositions across a single recording.

  • Fix export on AMD devices — A bug that prevented encoding and export from completing on AMD GPUs has been fixed.

  • Lighter dependency footprint — The boto3 dependency has been replaced with a smaller, purpose-built S3 client, reducing install size.

v0.1.146

Improved screen selection UX and Wayland token clearing

UX improvements to Wayland screen selection in the recording modal. This is only visible/affects Wayland, not X11.

What's changed

  • Change Wayland sharing permission - It's now possible to switch the Wayland sharing permission to a different screen or window by clicking "Change screen selection" in the recording modal. You can also clear a previously saved Wayland screen sharing token via the --delete-token flag when launching Hosaka. This ensures your compositor's screen picker will be re-triggered prior to the next recording, timelapse or screenshot.
v0.1.145 Bug fix

Fix screen capture on Cosmic desktop (PopOS) — final fix

This release completes a three-part fix for screen capture on the Cosmic desktop environment (PopOS), building on the PipeWire negotiation fixes in v0.1.143 and v0.1.144.

What's fixed

  • Encoder pixel format coverage — after v0.1.143 and v0.1.144 fixed PipeWire format and framerate negotiation, PipeWire successfully negotiated RGBA on Cosmic. Recording still failed: frames arrived as pix_fmt=rgb0 but the FFmpeg encoder's channel-count logic only covered bgr0 and bgra, so rgb0 fell through to a 3-channel path and every frame was rejected with a shape mismatch error. The encoder now handles all six formats Hosaka offers during PipeWire negotiation (BGRx, BGRA, RGBx, RGBA, RGB, BGR). Recording on PopOS is fully working.
v0.1.144 Bug fix

Fix screen capture on Cosmic desktop (PopOS) — part 2 of 3

This release is the second in a three-part fix for screen capture on the Cosmic desktop environment (PopOS), and improves PipeWire format negotiation compatibility across all compositors.

What's fixed

  • Screen capture on Cosmic desktop (part 2) — v0.1.143 added support for the RGBA pixel formats that Cosmic advertises, but recording could still fail with "no more output formats". The remaining cause was a fixed framerate value (0/1) in Hosaka's PipeWire format proposal. Cosmic advertises a fixed 60/1 framerate; when two different fixed values are compared, PipeWire finds no intersection and rejects all formats. Hosaka's format proposal no longer specifies a fixed framerate — PipeWire now inherits whatever framerate the compositor offers. This also improves compatibility with any compositor that advertises a specific fixed framerate.
v0.1.143 Bug fix

Fix screen capture on Cosmic desktop (PopOS) — part 1 of 3

This release is the first in a three-part fix for screen capture on the Cosmic desktop environment (PopOS). It also fixes video export on Intel Gen 3 (Ivy Bridge) integrated graphics.

What's fixed

  • Screen capture on Cosmic desktop — recording failed immediately with "no more output formats" on PopOS and other systems running the Cosmic desktop environment. Hosaka was offering only the BGRx pixel format during PipeWire negotiation, but Cosmic's portal only advertises RGBA and BGRA. Hosaka now offers all supported formats (BGRx, BGRA, RGBx, RGBA) and picks whichever the compositor accepts.

  • Export failures on Intel Gen 3 (Ivy Bridge HD 4000) — exporting a recording failed with a VAAPI hardware upload error on Ivy Bridge integrated graphics. Recording already used a CPU encoder fallback for this hardware; the export path now applies the same preference.

v0.1.142 Performance

Faster GPU export and webcam display fix

This release improves export speed on hardware-accelerated systems.

What's new

  • NV12 GPU readback for FFmpeg export — frames now move from the GPU compositor to FFmpeg via the NV12 pixel format, avoiding a CPU round-trip on NVIDIA and Mesa hardware. Export times drop and CPU load during export is lower. When exporting video in optimal conditions (no other GPU-intensive applications competing) export times are halved.
v0.1.131 New feature

AI webcam background removal and blur

Your webcam no longer needs a green screen. Hosaka Studio now uses an on-device AI model to separate you from your background in real time, letting you remove it entirely or replace it with a soft blur. No cloud processing or third-party services required.

What's new

  • Background removal — the webcam overlay can cut out your background completely, leaving just you composited over your screen recording. Works without a green screen.
  • Background blur — prefer a softer look? Blur mode keeps your background visible but defocused, similar to virtual background features in video call apps.
  • On-device inference — segmentation runs locally using Google's MediaPipe selfie segmentation model via LiteRT. The model (~1 MB) is downloaded once and cached. Your video never leaves your machine.
  • Webcam placement aware — when the background is removed, the webcam overlay position adjusts automatically to account for the tighter crop.

Under the hood

Hosaka ships its own ctypes wrapper for the LiteRT native library rather than depending on Google's Python bindings, which improves packaging compatibility across distros (Debian, Fedora, Arch, Flatpak).

v0.1.130 New feature

Animated backgrounds and custom shaders

Your background can now move. Hosaka Studio supports animated backgrounds powered by GLSL shaders, including a set of built-in effects and support for custom Shadertoy-compatible shaders you write or download yourself.

What's new

  • Animated background effects — eight built-in effects are available, split into two groups:
  • Post-process effects layer animation on top of your existing background image: Lens Breath, Chromatic Decay, Prismatic Ripple, RGB Orbit, and Holographic Foil.
  • Generative effects replace your background entirely with a live animation: Plasma, Aurora, Particles, and Mesh Gradient.
  • Custom shader support — load any Shadertoy-compatible GLSL fragment shader as your background. If you can paste it into shadertoy.com, it will work here.
  • Intensity and speed controls — each effect exposes two sliders so you can dial in exactly how subtle or dramatic you want it.
  • Watermark overlay — Want to support Hosaka Studio? You can now add an optional watermark to exported videos.
v0.1.85 New feature

Upload recordings directly to YouTube

You can now publish recordings to YouTube without leaving Hosaka Studio. Authenticate once with your Google account and your next export goes straight to your channel.

What's new

  • YouTube upload — after export, Hosaka uploads the video to YouTube using your Google account. Set the title, description, and privacy level (private, unlisted, or public) from the upload settings panel.
  • OAuth2 desktop flow — authentication uses Google's standard desktop OAuth2 PKCE flow. Credentials are stored locally and refreshed automatically; you only need to log in once.
  • Streaming upload — video is streamed to YouTube as it is exported, so upload begins before the export even finishes. No temporary file required.
  • Resumable uploads — large recordings use YouTube's resumable upload API with automatic retry on transient failures.
v0.1.69 New feature

Upload recordings to S3 and Cloudflare R2

Hosaka Studio can now upload your finished recording directly to any S3-compatible cloud storage bucket — including Cloudflare R2, AWS S3, and self-hosted alternatives. No intermediate file juggling required.

What's new

  • S3 and Cloudflare R2 upload — configure a bucket once (endpoint URL, access key, secret, region) and Hosaka will upload your exported video automatically after each recording session.
  • Streaming multipart upload — video is streamed to the bucket as it is exported, without buffering the whole file to disk first.
  • Path prefix and public URL — organise uploads into bucket subdirectories and optionally set a public URL prefix so Hosaka can show you a shareable link after upload.
  • Connection test — validate your credentials and bucket access directly from the settings panel before committing to an upload.