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
Get the most trusted enterprise browser Icon
Get the most trusted enterprise browser

Advanced built-in security helps IT prevent breaches before they happen

Defend against security incidents with Chrome Enterprise. Create customizable controls, manage extensions and set proactive alerts to keep your data and employees protected without slowing down productivity.
Download Chrome
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

Developers, Education, Engineering

Programming Language

C

Related Categories

C Graphics Software, C Embedded Systems Software

Registered

2023-09-24