我正在尝试在英特尔 j1900 cpu(高清显卡 gen7)上运行带有 eglfs 的 Qt5。运行应用程序时我收到错误
Could not queue DRM page flip on screen DP1 (Invalid argument)
查看我在第 294 行看到的 eglfs 的来源
FrameBuffer *fb = framebufferForBufferObject(m_gbm_bo_next);
ensureModeSet(fb->fb);
QKmsOutput &op(output());
const int fd = device()->fd();
m_flipPending = true;
int ret = drmModePageFlip(fd,
op.crtc_id,
fb->fb,
DRM_MODE_PAGE_FLIP_EVENT,
this);
if (ret) {
qErrnoWarning("Could not queue DRM page flip on screen %s", qPrintable(name()));
m_flipPending = false;
gbm_surface_release_buffer(m_gbm_surface, m_gbm_bo_next);
m_gbm_bo_next = nullptr;
return;
}
for (CloneDestination &d : m_cloneDests) {
if (d.screen != this) {
d.screen->ensureModeSet(fb->fb);
d.cloneFlipPending = true;
int ret = drmModePageFlip(fd,
d.screen->output().crtc_id,
fb->fb,
DRM_MODE_PAGE_FLIP_EVENT,
d.screen);
if (ret) {
qErrnoWarning("Could not queue DRM page flip for clone screen %s", qPrintable(name()));
d.cloneFlipPending = false;
}
}
}
我似乎找不到 eglfs 不使用 vsync 的方法,并且使用下面的 env varibles 并没有什么不同
QT_QPA_EGLFS_SWAPINTERVAL
QT_QPA_EGLFS_FORCEVSYNC
FB_MULTI_BUFFER
QT_QPA_EGLFS_FORCE888