drmHandleEvent(3)

drmHandleEvent3

Read and process pending drm events

Usage

#include <xf86drm.h>

int drmHandleEvent(int fd, drmEventContextPtr evctx);

Overview

drmHandleEvent processes outstanding DRM events on the DRM file-descriptor passed as fd. This function should be called after the DRM file-descriptor has polled readable; it will read the events and use the passed-in evctx structure to call function pointers with the parameters noted below:

typedef struct _drmEventContext {
    int version;
    void (*vblank_handler) (int fd,
                            unsigned int sequence,
                            unsigned int tv_sec,
                            unsigned int tv_usec,
                            void *user_data)
    void (*page_flip_handler) (int fd,
                               unsigned int sequence,
                               unsigned int tv_sec,
                               unsigned int tv_usec,
                               void *user_data)
} drmEventContext, *drmEventContextPtr;

Return Value

drmHandleEvent returns 0 on success, or if there is no data to read from the file-descriptor. Returns -1 if the read on the file-descriptor fails or returns less than a full event record.

Releases

8 releases since Debian 7 (Wheezy); the text changed 7 times.

  1. 7
  2. 8
  3. 9
  4. 10
  5. 11
  6. 12
  7. 13
  8. Arch

Reporting Bugs

Bugs in this function should be reported to <https://gitlab.freedesktop.org/mesa/libdrm/-/issues>

From libdrm 2.4.134-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.