Skip to content

Releases: CuarzoSoftware/SRM

SRM v0.7.0-1

23 Jul 15:44
Compare
Choose a tag to compare

SRM (0.7.0-1)

API Additions

  • Added srmConnectorSetCustomScanoutBuffer() function to override the primary plane framebuffer for specific frames.
  • Introduced srmFormatGetAlphaSubstitute() function to retrieve the translucent or opaque version of DRM formats.

Examples

  • Added srm-direct-scanout example.

Internal Changes

  • Integrated legacy plane supported formats into SRMPlane with DRM_FORMAT_MOD_INVALID.
  • Implemented internal EGL Image creation for CPU buffers allocated through OpenGL.
  • Incorporated an internal reference counter to SRMBuffer.

Environment

  • Added SRM_DISABLE_CUSTOM_SCANOUT env to enforce disabling srmConnectorSetCustomScanoutBuffer().

-- Eduardo Hopperdietzel [email protected] Tue, 23 Jul 2024 11:44:04 -0400

SRM v0.6.3-1

10 Jul 16:56
Compare
Choose a tag to compare

SRM (0.6.3-1)

Bug Fixes

  • Fallback to using implicit framebuffer modifiers in all rendering modes if drmModeAddFB2WithModifiers() fails. Thanks to @RogerDavenport for reporting the issue.

-- Eduardo Hopperdietzel [email protected] Wed, 10 Jul 2024 12:44:04 -0400

SRM v0.6.2-1

08 Jul 05:25
Compare
Choose a tag to compare

SRM (0.6.2-1)

Bug Fixes

  • Fixed incorrect default linear gamma table calculation in atomic API.
  • Added mutex to prevent racing conditions with external threads when updating the atomic changes flags.

-- Eduardo Hopperdietzel [email protected] Mon, 08 Jul 2024 00:13:05 -0400

SRM v0.6.1-1

07 Jul 05:06
Compare
Choose a tag to compare

SRM (0.6.1-1)

Performance

  • New PRIME rendering mode introduced to enhance performance on multi-GPU setups with limited common DMA formats/modifiers.
  • Integrated GPUs are now designated as the default allocator device (primary device), promoting lower power consumption and improved performance.

Bug Fixes

  • Added small validation tests to ensure proper selection of main-memory buffer allocation APIs, preventing texture glitches on drivers that do not fully support GBM APIs.

Environment

  • All rendering modes now default to double buffering, with optional support for triple buffering. The single buffering option has been deprecated.

Examples

  • Added link to example that uses Skia as renderer.

-- Eduardo Hopperdietzel [email protected] Sat, 06 Jul 2024 23:28:04 -0400

SRM v0.6.0-1

29 Jun 23:07
Compare
Choose a tag to compare

SRM (0.6.0-1)

New APIs

  • Introduced srmConnectorSetContentType() and srmConnectorGetContentType() functions to optimize display hardware for the type of content being displayed.

Bug Fixes

  • Ensured connector properties are re-synchronized after session switching to resolve issues with cursor visibility, position, and other related errors.

Internal Changes

  • Replaced custom connector name IDs with connector_type_id (e.g., HDMI-A-1, HDMI-A-2, etc.).
  • Maintained a copy of gamma tables in the legacy API to ensure proper restoration during session switching.

-- Eduardo Hopperdietzel [email protected] Sat, 29 Jun 2024 18:46:15 -0400

SRM v0.5.7-1

17 Jun 20:03
Compare
Choose a tag to compare

SRM (0.5.7-1)

Bug Fixes

  • Fix bug when using the atomic API that prevents cursor planes from being displayed when the first commit fails.

-- Eduardo Hopperdietzel [email protected] Mon, 17 Jun 2024 15:50:52 -0400

SRM v0.5.6-2

31 May 01:48
Compare
Choose a tag to compare

SRM (0.5.6-2)

Building

  • Add DRM headers dependency to all examples to resolve issues locating the drm_fourcc.h header, thanks to @EBADBEEF.
  • Remove unnecessary header include checks in meson.build.

-- Eduardo Hopperdietzel [email protected] Thu, 30 May 2024 21:39:15 -0400

SRM v0.5.6-1

13 Apr 20:12
Compare
Choose a tag to compare

SRM (0.5.6-1)

Bug Fixes

  • Implemented GL and EGL extension checks to prevent SRMBuffers creation when conditions to use them are not met.
  • Replaced the device used to retrieve the OpenGL texture ID of a framebuffer used in DUMB mode, resolving segfaults with nvidia-drm drivers. Special thanks to @dranull and @JaanDev for reporting and testing.

Environment

  • Added the SRM_DEVICES_BLACKLIST environment variable for disabling specific DRM devices.
  • By default, disabled cursor planes on Nvidia proprietary drivers, which were causing significant FPS drops when updated. Also, added the SRM_NVIDIA_CURSOR environment variable to enable it if desired.

Documentation

  • Added Nvidia drivers section on the Environment page with recommended configurations.

-- Eduardo Hopperdietzel [email protected] Sat, 13 Apr 2024 12:37:03 -0400

SRM v0.5.5-1

16 Mar 20:39
Compare
Choose a tag to compare

SRM (0.5.5-1)

Bug Fixes

  • Corrected automatic allocator device selection on multi-GPU setups. Thanks to @rafalz1978 for reporting and testing.
  • Resolved atomic hardware cursor bug on connector initialization, ensuring the cursor pixmap update.

Environment

  • Introduced SRM_FORCE_GL_ALLOCATION environment variable to enforce main memory buffer allocation with OpenGL instead of GBM.
  • Added SRM_ALLOCATOR_DEVICE environment variable to allow manual override of the automatic allocator device chosen by SRM.

-- Eduardo Hopperdietzel [email protected] Sat, 16 Mar 2024 17:26:14 -0300

SRM v0.5.4-1

09 Mar 02:13
Compare
Choose a tag to compare

SRM (0.5.4-1)

Bug Fixes

  • Introduced glFinish() calls after initializeGL() and resizeGL(), and glFlush() before eglSwapBuffers() to resolve an AMDGPU bug causing issues with buffer allocation and rendering command processing. Gratitude to @2xsaiko for reporting the problem and testing the applied fixes

-- Eduardo Hopperdietzel [email protected] Fri, 08 Mar 2024 23:00:21 -0300