Невозможно выполнить перелистывание страниц, не будучи мастером DRM.IOCTL защищен в файле drm_ioctl.c:
DRM_IOCTL_DEF(DRM_IOCTL_MODE_PAGE_FLIP, drm_mode_page_flip_ioctl, DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED)
DRM_IOCTL_DEF(DRM_IOCTL_SET_MASTER, drm_setmaster_ioctl, DRM_ROOT_ONLY),
DRM_IOCTL_DEF(DRM_IOCTL_DROP_MASTER, drm_dropmaster_ioctl, DRM_ROOT_ONLY),
Поэтому я решил поместить флип в критическую секцию, где приложение вызывает drmSetMaster, планирует флип и вызывает drmDropMaster.Это сложный процесс, и оба процесса должны быть root, но он работает достаточно хорошо для встроенной платформы.Однако процесс должен авторизоваться сам, используя drmGetMagic и drmAuthMagic, чтобы он мог выполнять рендеринг, пока он не является мастером, и снова захватывать мастерство.Я делаю это, когда он впервые становится мастером и устанавливает режим.