diff options
Diffstat (limited to 'kms++/src/card.cpp')
-rw-r--r-- | kms++/src/card.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/kms++/src/card.cpp b/kms++/src/card.cpp index 3a7ab70..1221408 100644 --- a/kms++/src/card.cpp +++ b/kms++/src/card.cpp @@ -217,6 +217,17 @@ void Card::setup() m_has_atomic = false; #endif +#ifdef DRM_CLIENT_CAP_WRITEBACK_CONNECTORS + if (getenv("KMSXX_DISABLE_WRITEBACK_CONNECTORS") == 0) { + r = drmSetClientCap(m_fd, DRM_CLIENT_CAP_WRITEBACK_CONNECTORS, 1); + m_has_writeback = r == 0; + } else { + m_has_writeback = false; + } +#else + m_has_writeback = false; +#endif + uint64_t has_dumb; r = drmGetCap(m_fd, DRM_CAP_DUMB_BUFFER, &has_dumb); m_has_dumb = r == 0 && has_dumb; |