diff --git a/src/Compositor.cpp b/src/Compositor.cpp index e00c8c36..4d0a917b 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -359,6 +359,7 @@ void CCompositor::initServer(std::string socketName, int socketFd) { m_drmFD = m_aqBackend->drmFD(); Debug::log(LOG, "Running on DRMFD: {}", m_drmFD); +#if defined(__linux__) if (m_drmFD >= 0) { uint64_t cap = 0; int ret = drmGetCap(m_drmFD, DRM_CAP_SYNCOBJ_TIMELINE, &cap); @@ -368,6 +369,10 @@ void CCompositor::initServer(std::string socketName, int socketFd) { m_bDrmSyncobjTimelineSupported = false; Debug::log(LOG, "DRM syncobj timeline support: no (no DRM FD)"); } +#else + Debug::log(LOG, "DRM syncobj timeline support: no (not linux)"); + m_bDrmSyncobjTimelineSupported = false; +#endif if (!socketName.empty() && socketFd != -1) { fcntl(socketFd, F_SETFD, FD_CLOEXEC); diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index 3526f622..49636965 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -347,10 +347,15 @@ CHyprOpenGLImpl::CHyprOpenGLImpl() : m_drmFD(g_pCompositor->m_drmFD) { Debug::log(LOG, "Supported EGL display extensions: ({}) {}", std::ranges::count(EGLEXTENSIONS_DISPLAY, ' '), EGLEXTENSIONS_DISPLAY); +#if defined(__linux__) m_exts.EGL_ANDROID_native_fence_sync_ext = EGLEXTENSIONS_DISPLAY.contains("EGL_ANDROID_native_fence_sync"); if (!m_exts.EGL_ANDROID_native_fence_sync_ext) Debug::log(WARN, "Your GPU does not support explicit sync via the EGL_ANDROID_native_fence_sync extension."); +#else + m_exts.EGL_ANDROID_native_fence_sync_ext = false; + Debug::log(WARN, "Forcefully disabling explicit sync: BSD is missing support for proper timeline export"); +#endif #ifdef USE_TRACY_GPU