mirror of
https://github.com/games-on-whales/gst-wayland-display.git
synced 2026-10-15 12:51:57 +00:00
[GH-ISSUE #5] HDR Support #5
Labels
No labels
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/gst-wayland-display#5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ABeltramo on GitHub (Jun 22, 2024).
Original GitHub issue: https://github.com/games-on-whales/gst-wayland-display/issues/5
@ydoc-afk commented on GitHub (Sep 30, 2026):
Some notes on what HDR would take, from looking at it on the streaming-server side (we track the server part in ydoc-afk/Heeler#52, a Wolf fork).
Where the compositor is today (at
b15285a): everything is 8-bit. The allocator only maps 8-bit fourccs (Abgr8888,Argb8888,Xrgb8888, … inwayland-display-core/src/utils/allocator/mod.rs, defaulting toAbgr8888), andwaylanddisplaysrconly advertises 8-bit RGB/RGBA formats. So even with a 10-bit encoder downstream, frames are 8-bit when they leave the compositor. On the Wolf side, the VA-API zero-copy path currently strips the P010/AR30 formats for exactly this reason.Roughly what's needed in the compositor
Xrgb2101010/Abgr2101010, or convert to P010 on the GPU) and advertise it in the src caps, so encoders (VA-APIvapostproc→ P010, NVENC 10-bit) can pick it up without an 8-bit hop.wp_color_management_v1), so that gamescope/games running inside can hand over PQ/BT.2020 surfaces instead of sRGB. This probably needs Smithay support (or work in the games-on-whales/smithay fork).Server side (not compositor work, listed for context): negotiate HDR in RTSP (dynamic range mode), advertise the HDR codec modes in
serverinfo, use HEVC Main10 / AV1 10-bit encoder settings, and send the HDR metadata to the client over the control stream.A possible first milestone: 10-bit SDR (BT.709 in 10-bit buffers). It only needs item 1, already reduces banding, and lays the path for real HDR.