Skip to content

Releases: CuarzoSoftware/SRM

SRM v0.7.2-1

07 Sep 23:00
Compare
Choose a tag to compare

SRM (0.7.2-1)

New Environment Variables

  • SRM_FORCE_LEGACY_CURSOR: Allows forcing the use of legacy DRM cursor IOCTLs.
  • SRM_DISABLE_CURSOR: Allows disabling cursor planes for all drivers.
  • SRM_ENABLE_WRITEBACK_CONNECTORS: Allows toggling the writeback DRM client capability.

Internal Changes

  • Legacy cursor IOCTLs are now used by default, even when using the atomic API, unless SRM_FORCE_LEGACY_CURSOR is set to 0. This is because legacy IOCTLs are asynchronous and provide a much smoother experience.
  • Cursor planes are now disabled by default for NVIDIA proprietary drivers unless SRM_NVIDIA_CURSOR is set to 1. This is because updating cursors occasionally causes screen stuttering.

Dependencies

  • Specify the minimum required version of all dependencies.

-- Eduardo Hopperdietzel ehopperdietzel@gmail.com Sat, 07 Sep 2024 16:51:58 -0400

SRM v0.7.1-1

15 Aug 02:32
Compare
Choose a tag to compare

SRM (0.7.1-1)

Bug Fixes

  • Resolved segmentation fault occurring on certain EGL implementations when obtaining a GBM EGLDisplay through eglGetDisplay(). This was fixed by using eglGetPlatformDisplay() instead. Credits to @burgerindividual .

Downloads

  • Added link to Fedora package. Credits to @Conan-Kudo .

Dependencies

  • Updated EGL dependency to version 1.5 or higher.

-- Eduardo Hopperdietzel ehopperdietzel@gmail.com Wed, 14 Aug 2024 22:06:30 -0400

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 ehopperdietzel@gmail.com 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 ehopperdietzel@gmail.com 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 ehopperdietzel@gmail.com 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 ehopperdietzel@gmail.com 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 ehopperdietzel@gmail.com 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 ehopperdietzel@gmail.com 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 ehopperdietzel@gmail.com 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 ehopperdietzel@gmail.com Sat, 13 Apr 2024 12:37:03 -0400