Skip to content

EverLive v1.3.0 - HDR10/HLG Tonemapping, Isolated OBS Audio, Live IPC & PS5 1440p HDR

Latest

Choose a tag to compare

@Everlite Everlite released this 31 Oct 18:11

What's Changed in v1.3.0

Added

  • HDR10 & HLG Detection + Real-Time Filmic SDR Tonemapper:
    • Added IT6805 DRM InfoFrame decoding (0x87, Bank 2) in gc573_user_it6805.[ch] with 1 Hz live polling to detect SMPTE ST 2084 (PQ / HDR10) and HLG signals, MaxCLL, and MaxFALL.
    • Added in-place YUYV tonemapper (gc573_user_hdr.[ch]) using a John Hable filmic curve calibrated to ITU-R BT.2408 reference diffuse white (203 cd/m²), BT.709 OETF, limited-range scaling (16..235), and a 2x2 BT.2020-to-BT.709 chroma matrix. Both the SDL2 gaming window and OBS (/dev/video10) receive accurate SDR colors, while native SDR signals stay on the zero-copy fast path.
    • Added runtime toggle (h hotkey in game window, --no-hdr, IPC hdr.set) and linear exposure bias (--hdr-exposure -2.0..+2.0, live EV steppers in Console Hub).
  • Native PlayStation 5 1440p60 & 1440p120 SDR/HDR EDID Support:
    • Added VESA CVT-RB 2560x1440 @ 59.95 Hz (241.50 MHz) Detailed Timing Descriptors alongside 1440p120 in both Default (4K60 / 1440p120 HDR) and Force 1440p @ 120 Hz hardware EDID profiles (gc573_user_edid.c).
    • Hardware-verified on PlayStation 5 via Test 1440p Output: unlocks both 60 Hz SDR/HDR and 120 Hz SDR/HDR.
  • Dedicated PipeWire Virtual Audio Track for OBS / Broadcasting:
    • Added in-process PipeWire audio tap (gc573_user_audio_tap.[ch]) publishing mixed, decoded HDMI audio directly to a dedicated virtual audio sink named "EverLive Capture Audio".
    • Enables clean, isolated game audio recording in OBS (Monitor of EverLive Capture Audio), Discord, or FFmpeg without capturing desktop noise, system sounds, voice chat, or background music.
    • Configured automatically in install.sh via /etc/pipewire/pipewire.conf.d/50-everlive-capture.conf (zero kernel modules, zero DKMS dependencies) and cleanly removed by uninstall.sh.
  • Control-IPC Engine & Zero-Interruption Live Runtime Mutations:
    • Lock-free JSON-RPC 2.0 control socket ($XDG_RUNTIME_DIR/everlive.sock) powered by gc573_user_ipc.[ch] (epoll + SO_PEERCRED + lock-free SPSC command ring).
    • Live Gaming <-> Studio Switch (mode.set): Swaps between the interactive SDL2 gaming window and Headless Studio mode in place without closing the VFIO container, DMA ring, HDMI passthrough, audio stream, or active OBS recording.
    • Live Virtual Camera Toggle (v4l2.set): Dynamically attaches or detaches /dev/video10 (v4l2loopback) on a running engine with immediate format negotiation.
    • Live Audio, RGB, Aspect & OSD Controls: Instant gain adjustments (20 ms linear fade), mute, RGB lighting presets (wave, rainbow, static, off), aspect ratio switching, and OSD overlay controls without stream restarts.
  • Redesigned Console Hub GUI:
    • Clean dark hardware-utility interface (everlive_viewer.py) with a single horizontal runtime action bar (Start Gaming Screen, Start Studio / Headless (OBS), Restart Engine), live signal/audio telemetry badges, and structured VIDEO & COLOR, AUDIO & HARDWARE, and OBS OUTPUTS, OVERLAY & APP sections.

Fixed

  • V4L2 Virtual Camera Self-Lock & Studio Thread Offload: Added a 600 ms startup grace window before publishing standby frames to /dev/video10 so cold-starting into an active HDMI source never pre-locks v4l2loopback at 1080p. Added sysfs consumers detection (v4l2_reader_active) to reopen self-locked writer buffers cleanly on native geometry changes without churning active OBS captures, and offloaded Headless Studio V4L2 writes onto a dedicated worker thread.
  • PS5 Cold-Start HDMI Handshake: Unconditionally power and unblank the internal IT6664 TX1 capture port upon RX lock and track 5V transitions cleanly across gc573_user_it6664.c and gc573_user_it6805.c, fixing "No HDMI Signal" when a console boots after EverLive is already running.
  • Local IPC Docking: Resolved an issue where local sessions started from the GUI did not attach to the engine's IPC socket, allowing live adjustments to take effect immediately without needing a mode switch or stream restart.
  • 24-bit Audio Gain Normalization: Fixed sample alignment in the audio worker gain pass to support both S16 and 4-byte widened S32 formats correctly.
  • Dependencies: Added libpipewire-0.3-dev (Ubuntu/Debian), pipewire-devel (Fedora), and pipewire (Arch) to install.sh automated package verification and CI workflow.

Full Changelog: v1.2.3...v1.3.0