Releases: CuarzoSoftware/SRM
SRM v0.7.2-1
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
SRM (0.7.1-1)
Bug Fixes
- Resolved segmentation fault occurring on certain EGL implementations when obtaining a GBM
EGLDisplay
througheglGetDisplay()
. This was fixed by usingeglGetPlatformDisplay()
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
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
withDRM_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 disablingsrmConnectorSetCustomScanoutBuffer()
.
-- Eduardo Hopperdietzel ehopperdietzel@gmail.com Tue, 23 Jul 2024 11:44:04 -0400
SRM v0.6.3-1
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
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
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
SRM (0.6.0-1)
New APIs
- Introduced
srmConnectorSetContentType()
andsrmConnectorGetContentType()
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
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
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
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