summaryrefslogtreecommitdiff
path: root/kms++/src/card.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kms++/src/card.cpp')
-rw-r--r--kms++/src/card.cpp11
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;