Featured image of post EverLive: console capture suite released in version 1.5.0

EverLive: console capture suite released in version 1.5.0

EverLive has been released in version v1.5.0 - four days after v1.4.0.

EverLive is an open-source userspace driver for the AVerMedia Live Gamer 4K (GC573) capture card, letting you play and stream PlayStation 5, Xbox or Switch on the Linux desktop.

The update brings dynamic HDMI 2.0 receiver equalisation, which is meant to eliminate green/white pixel speckles and audio crackle on sources above 340 MHz. Startup time drops from ~9.5 to ~5.2 seconds. It also adds a hardened JSON-RPC IPC engine, more stable Console Hub exit and improvements for the Live Gamer DUO (GC570D).

Changes in version v1.5.0:

Highlights

  • Dynamic HDMI 2.0 Receiver Equalisation & Character Error Monitoring (GC573):
    • New gc573_user_rx_eq subsystem driving both IT6664 input and IT6805 capture receivers with active per-lane TMDS Character Error Detection (CED), Decision Feedback Equalization (DFE), and Receiver Sensitivity (RS) sweeps.
    • Completely eliminates green/white pixel speckles and audio crackle on HDMI 2.0 sources exceeding 340 MHz TMDS (e.g. 4K60 RGB at ~593 MHz and 1440p120).
    • Diagnostic [HDMI] TMDS errors B/G/R logging with per-lane error telemetry.
    • Tunable environment overrides: EVERLIVE_NO_AUTO_EQ=1 and EVERLIVE_EQ_INPUT_DFE=0.
  • Sub-6s Fast Start-up & Link-EQ Hardware State Caching (GC573):
    • Launch-to-capture startup time reduced by over 40% (from ~9.5 s to ~5.2 s).
    • Active lock polling on the Artix-7 FPGA DDR sampler rather than static delays (~1.6 s lock).
    • Error-free equalization parameters are cached in $XDG_STATE_HOME/everlive/link-eq (~/.local/state/everlive/link-eq), skipping full auto-EQ sweeps whenever the incoming signal remains pristine.
    • Line-buffered, timestamped synchronous logging ([ x.xxx] ...) via gc573_user_log with EVERLIVE_LOG_TIMESTAMPS=0 override.
  • Hardened JSON-RPC IPC Engine (jsmn):
    • Replaced manual scanner with an RFC-compliant jsmn parser featuring strict object key-vs-value validation to prevent token collision bugs.
    • New IPC commands wired and verified: toast.show (on-screen OSD toasts), edid.set (live runtime EDID DDC reprogramming without restarts), hotplug (150 ms hardware HPD reset pulses), hdr.exposure (live tonemapping EV exposure adjustment), and audio.channels.set (dynamic layout switching).
    • Comprehensive unit test suite in tests/test_ipc_json.c covering positive, negative, and edge-case tokenization.
  • Console Hub Exit Stability:
    • Window and system tray icon are explicitly destroyed before Python shutdown, eliminating core dumps and segmentation faults (corrupted double-linked list / PySide::destroyQCoreApplication).
  • Live Gamer DUO (GC570D) Hardening:
    • Modularized IT68051 EDID programmer, hardened userspace VFIO receiver, and resolved MSI interrupt allocation order. Verified on physical hardware by @PolygonPrincess.

Special thanks to contributors @Scyllinice and @PolygonPrincess for their contributions to this release!

EverLive

Source: GitHub

PlayingTux – Playing Games on Linux - since 1995.