Skip to main content

Kyber 0.7.0

· 2 min read

This release is a substantial macOS milestone. The VideoToolbox hardware decoding performance issue introduced at launch is fixed, bringing macOS up to the same hardware-accelerated quality as other platforms. Custom cursor shapes are now displayed correctly on macOS, and the middle mouse button works without requiring the experimental IOKit input path. Fullscreen mode on macOS now properly hides both the menu bar and the Dock, and it activates correctly whether triggered from within the app or from the status bar button. For users with multiple monitors, fullscreen now locks the cursor inside the video area on all platforms, making multi-monitor setups on macOS genuinely usable. An experimental low-level keyboard and mouse capture mode for macOS is available by setting the KYBER_USE_IOKIT environment variable. On Windows, a cursor position bug that occurred after resizing the window has been corrected. Package sizes on Windows and Linux have been reduced by stripping debug symbols from binaries and libraries.

Changelog

  • controller: Update actix-web to 4.2.1
  • controller/libclient/libkynput: Update tokio to 1.21.2
  • macOS client: Fix Videotoolbox performances issue
  • macOS client: Add custom cursor support
  • macOS client: Experimental support of IOKit KeyboardKey/MouseMove grab. Enabled when envvar KYBER_USE_IOKIT is defined.
  • macOS client: Fullscreen now hides Status bar, dock
  • macOS client: Cursor location assistance is disabled
  • macOS client: Fullscreen behavior also applied when fullscreen is triggered with the Status bar fullscreen button
  • Windows txproto: Fix the cursor position sent. The cursor wasn't warped at the correct position after a window resize
  • macOS client: Bind middle mouse button when not using IOKit
  • All clients: Fullscreen now locks the cursor in the video. This also allows to use macOS client on multiple screen setups
  • Windows/Linux: libvlc build has been reduced
  • Windows/Linux: Final packages have cleaned. Useless files aren't copied, and bins/libs are stripped

Kyber 0.6.0

· One min read

Kyber now supports audio. Capture is available on Windows and Linux, and playback works on all platforms — audio is disabled by default and can be enabled by passing --audio=true. macOS joins the platform roster with software-based video decoding and full keyboard, mouse, and gamepad input support; hardware-accelerated decoding via VideoToolbox is present but not yet performant in this release. Input forwarding can be fully disabled by passing --inputs=false, which is useful for view-only monitoring setups. A long-standing bug on Linux where a left mouse click would only register once has been fixed, and a loading failure affecting both client and host on Windows 11 has been resolved.

Changelog

  • client: --inputs=false can now be passed to disable inputs
  • Audio grab (Windows/Linux) and playback (All) is now available. It is disabled by default, and can be enabled with --audio=true
  • Update libvlc, based on ba9b27e1ae + 0latency.41
  • macOS client: Minimal implementation. Video Toolbox performances are bad, but software decoding is working correctly. Basic Keyboard/Mouse/Gamepad support
  • Linux client: Fix a mouse left click issue that works once
  • Windows: Fix loading issue for both Client/Host on Windows 11

Kyber 0.5.0

· One min read

This release updates the underlying libraries used for gamepad and input handling. The Windows gamepad driver has been switched to a new MIT-licensed implementation, keeping Kyber's dependency footprint cleanly open-source. SDL2 has been updated to version 2.0.22. A video artifact issue on the Windows client has also been resolved, resulting in a cleaner image during streaming.

Changelog

  • Switch to Rust 1.61.0
  • Run cargo update
  • Windows: Switch to vigem-client crate (MIT license)
  • Update SDL2 to 2.0.22
  • Windows client: Fix video artifact issue

Kyber 0.4.0

· One min read

Input handling and window interaction have been significantly improved in this release. The host machine's cursor shape is now sent to the client at connection time, so you see the right cursor immediately rather than waiting for your first mouse movement. Gamepad plug and unplug events are now reliably forwarded to the host regardless of whether the client window is focused. In relative mouse mode, the cursor is properly confined to the client window, preventing it from drifting outside.

Changelog

  • client: Input/Window interaction improvements
  • Host cursor is now sent to the client on connection
  • Gamepad plug/unplug are sent even if the window isn't focused
  • client: The cursor is now grabbed within the window in relative mode

Kyber 0.3.0

· One min read

This release adds support for YUV 4:4:4 chroma subsampling, which preserves full colour detail and is useful for text-heavy workflows like remote desktops and coding environments. Pass --444 when launching the client to enable it. A decoding bug for 4:4:4 video on Windows has also been fixed, so colour output is now correct on that platform.

Changelog

  • client: Add --444 flag to enable YUV 4:4:4
  • Windows client: Fix 444 decoding

Kyber 0.2.0

· One min read

This release focuses on stability and input reliability. The client now handles host-side crashes more gracefully instead of hanging or erroring out unexpectedly. Mouse handling received meaningful attention: relative mouse movement now works correctly in demanding games like Assassin's Creed Odyssey, and a one-frame latency issue in the RTP video path has been fixed. On Linux, the input subsystem was updated to support libinput 1.19 and later, extended keyboard scancodes are now handled correctly even for users who are not in the input group, and the client can be terminated cleanly with Ctrl+C.

Changelog

  • Improve client robustness when a process crashes on host side (#71)
  • Assassin's Creed Odyssey is not playable with the mouse
  • Linux client: Add support of libinput 1.19+
  • Linux client: Extended scancodes are now handled correctly when the user isn't in input group
  • Linux client: App can now be closed with CTRL+C
  • vlc: Fix a one-frame latency issue on RTP access

Kyber 0.1.0

· One min read

Kyber's initial release. This first version brings a fully functional remote streaming client and host for both Windows and Linux. You can stream video from a host machine to a client over an encrypted QUIC connection, with keyboard, mouse, and gamepad input forwarded back to the host in real time.

Changelog

  • Windows Host and Client
  • Linux Host and Client