Skip to content

Topics & Talks

Melissa Wen edited this page Apr 23, 2024 · 18 revisions

Suggested topics

From 2023 Display Next hackfest:

KMS Color/HDR

Color/HDR testing/CI

  • VKMS status-update and future plans
  • Chamelium boards, video capture

Wayland

Display control

  • HDR signalling status-update
  • backlight status-update
  • EDID and DDC/CI

Strategies for video and gaming use-cases

  • Multi-plane support in compositors
    • Underlay, overlay, or mixed strategy for video and gaming use-cases
    • Can we improve the KMS Plane UAPI to simplify the plane arrangement problem?
    • Is a shared plane arrangement algorithm desired? And if so, how should it be defined? (a shared library like libliftoff, kms uapi docs, or both?) How much of it should be defined vs. left for independent implementations to decide?
  • Hardware overlays for HDR video

Frame timing and VRR

  • Frame timing
    • Limitations of uAPI
    • Current user space solutions
    • Brainstorm better uAPI
  • Cursor/overlay plane updates with VRR
  • KMS commit and buffer-readiness deadlines
  • split upload/apply commits

Power Saving vs Color/Latency

  • ABM (adaptive backlight management)
  • PSR1 latencies
  • How do we let drivers optimize for (a significant amount of) power, while being able to conserve color accuracy or latency requirements of the compositor?

Content-Adaptive Scaling & Sharpening

Display Mux

  • Some laptops have muxes that allow switching of the embedded panel between the integrated GPU and the discrete GPU
  • On Windows there exist proprietary vendor solutions, as well as an OS-designed solution to make this happen seamlessly
  • Let's discuss how we can facilitate a seamless/atomic hand-off between drivers, alongside the mux switching, on Linux desktops

Real time scheduling & async KMS API

  • Using real time scheduling for handling KMS update scheduling opens up many possibilities, e.g. lower latency input feedback, potentially better VRR handling, buffer synchronization before handing to KMS
  • Biggest hurdle right now is "async" uAPI usage sometimes block for a substantial amount of time (10+ frames) which in the worst case causes SIGKILL
  • Drivers ideally should try hard to avoid blocking on async calls, or otherwise mark the process as waiting, when waiting for something