SRM is a C library that simplifies the development of Linux DRM/KMS API applications.

With SRM, you can focus on the OpenGL ES 2.0 logic of your application. For each available display, you can start a rendering thread that triggers common events like initializeGL(), paintGL(), resizeGL(), pageFlipped() and uninitializeGL().

SRM allows you to use multiple GPUs simultaneously and automatically finds the most efficient configuration. It also offers functions for creating OpenGL textures, which are automatically shared among GPUs.

Features

  • Multiple GPUs support
  • Automatic optimal GPUs/connectors configuration
  • Automatic texture sharing between GPUs
  • Texture allocation from CPU buffers, DMA buffers, GBM BOs, Flink Handles, Wayland DRM buffers.
  • Multi seat support (libseat can be used to open DRM devices for example)
  • GPU hot-plugging event listener
  • Connectors hot-plugging event listener
  • Hardware cursor compositing
  • V-Sync
  • Frame buffer damage (improves performance when DMA is not supported)
  • Access to renderbuffers as textures.

Project Activity

See All Activity >

License

GNU General Public License version 3.0 (GPLv3)

Follow SRM

SRM Web Site

Other Useful Business Software
Our Free Plans just got better! | Auth0 Icon
Our Free Plans just got better! | Auth0

With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
Try free now
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of SRM!

Additional Project Details

Operating Systems

Linux

Intended Audience

Education, Developers, Engineering

Programming Language

C

Related Categories

C Graphics Software, C Embedded Systems Software

Registered

2023-09-24