Caligo - What's New

Caligo - What's New


Caligo started life as "connect, authenticate, stream video and input." It has since grown into a complete cloud gaming client that runs on everything from a handheld to a Raspberry Pi to a VR headset. Here is what has landed since the initial blog announcement.

Every Screen, Every Chip


Caligo now runs properly on all five of its target platforms:
• A Real macOS App: Universal binary (Intel + Apple Silicon), a drag-and-drop DMG installer, a proper app icon, native About menu integration, and automatic ProMotion/120 Hz detection with stutter-free presentation.
• Linux, Xorg and Wayland Desktop : Vulkan and OpenGL (EGL) presentation, dedicated support for single-board computers, Raspberry Pi 5 and Rockchip RK3588 both present decoded video directly on the GPU.
• Android TV & Meta Quest: A full Android build with hardware decoding.
• Windows: A native build with Direct3D 11 hardware decoding fed straight into the Vulkan presenter.
• Signing In Your Way: Hardware-backed credential storage, the Secure Enclave on macOS, the Android KeyStore on Android, plus a QR-code console pairing flow.


Pick Your Machine, Not Just a Session


Launching game now feels like a proper launcher:
• A Real VM Picker: See all the machines on your account with their power state, maintenance status, and remaining hours, not just the single one you were given.
• Autoboot & Memory: A countdown that boots your last-used machine automatically (or a single machine, if that's all you have), with your choice remembered between runs.
• Waiting Queue: If a datacenter is busy, Caligo shows your place in the queue, time already spent waiting, and per-machine quota rows in the dashboard.
• Quota Tracking: A live gauge of your monthly allowance, with local session-time accrual and progress bars you can actually read.


A Sharper, Simpler Picture


We removed the clever image processing that was making text worse, and made the honest path fast:
• Compute Shaders by Default: On every GPU we support, video is now assembled by a compute shader instead of a fragment shader — no more haloed or color-fringed text on small fonts, and it holds up at 4K.
• Richer Color: 4:4:4 8-bit chroma end to end, so the desktop you see matches what the machine is actually sending.
• Full Refresh Rate: Automatic 240 Hz and refresh negotiation, with 144 Hz and 240 Hz reference lines in the frame-timing graph, and an adaptive VSync threshold so low-refresh displays never tear or stutter.
• The Overlay Costs Nothing: The diagnostics overlay and its live graphs run on their own schedule and command buffers, so opening telemetry no longer costs you a single frame.


Zero-Copy on Every GPU


Getting frames from decoder to screen without a detour through the CPU is the single biggest latency win, and it now happens everywhere:
• macOS: Hardware frames go straight from VideoToolbox into Metal textures.
• Linux: The same via Vulkan DMABuf, including dual displays.
• Windows: Direct3D 11 decoded frames are imported into Vulkan through cross-API sharing.
• Android & Quest: AHardwareBuffer zero-copy into both the 2D presenter and the VR compositor.
• Raspberry Pi: Dedicated compute shaders for Broadcom's tiled "SAND" formats.


Change Everything Without Disconnecting


• Live Codec Switching: Move between H.264, H.265, AV1, and 4:4:4 variants from the overlay, mid-session, with a clean rollback if the server refuses.
• Live Bitrate: A debounced 5–70 Mbps slider that tells the server immediately and re-tunes the local recovery logic with it.
• Live Transport: Switch between UDP, TCP, and WebRTC without quitting the session.
• Two Displays at Once: A second stream for a second monitor, rendered in its own window, configured straight from the dashboard.


Rock-Solid Networking

• Smarter Recovery: Selective retransmission with multiple attempts and pacing, so a burst of Wi-Fi loss degrades smoothly instead of freezing the picture.
• Keyframe on Demand: WebRTC now speaks proper NACK/PLI recovery, and native transports request a fresh keyframe only when one is genuinely needed, ending the "IDR storms" that used to throttle themselves.
• Audio Never Drifts: A single jitter-tolerant drift compensator across all three transports keeps sound locked to picture through long sessions.
• Real Telemetry: Live RTT, jitter, NACK and frame-timing graphs, fed from genuine protocol statistics rather than estimates.


Studio-Quality Microphone & Audio

• Microphone Control: Toggle your mic, choose your input device, and watch a live VU meter with saturation zones straight from the overlay.
• Live DSP: Noise suppression, echo cancellation, and gain adjustments applied on the client, so your voice arrives clean.
• Output Metering: A matching output-level meter, plus media-key handling for volume and mute that never leaks into the remote machine.


Controllers, Mouse & Keyboard That Feel Local


• Controllers: DualShock 4 gyro-to-mouse aiming, trigger rumble emulation, fixed PS3 trigger mapping, full layout-preserving remaps for third-party pads, slot reordering, and a desktop-navigation mode that turns any controller into a mouse.
• Game-Ready Cursor: Automatic relative-camera mode in fullscreen, a dedicated hardware cursor plane on Linux, crisp high-resolution cursor shapes, and a white halo on dark I-beams so you never lose the pointer.
• Scrolling That Behaves: Mechanical wheel bounce, cross-axis trackpad freezes, scroll jumps, and horizontal-gesture corruption are all gone — high-resolution trackpad gestures now translate cleanly.
• Never Lose a Keystroke: Held-key watchdog and recovery, HID lock and hotkeys resolved through your actual keyboard layout, Mac and PC keyboards both detected automatically.


Cleaner Under the Hood


A huge amount of work went into making the project pleasant instead of merely working:
• Seamless Reconnects: Restarting a session now shows a proper procedural loading animation on a clean background, instead of briefly compositing over the session that just ended.
• Six Languages: The overlay speaks English, French, German, Italian, Spanish, and Portuguese.

Stay tuned.