[plasma/kwin] /: autotests/integration: add another variant of the drm test
Xaver Hugl <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit 79e348bc4004f9bd2c5707856b354b8ee91964a6 by Xaver Hugl.
Committed on 16/07/2026 at 19:21.
Pushed by zamundaaa into branch 'master'.
autotests/integration: add another variant of the drm test
This one runs without render nodes, to ensure the udmabuf code path works.
M +2 -0 autotests/integration/CMakeLists.txt
M +3 -0 autotests/integration/drm_test.cpp
M +2 -2 autotests/integration/kwin_wayland_test.cpp
M +1 -2 src/main_wayland.cpp
https://invent.kde.org/plasma/kwin/-/commit/79e348bc4004f9bd2c5707856b354b8ee91964a6
diff --git a/autotests/integration/CMakeLists.txt b/autotests/integration/CMakeLists.txt
index 9647d29e73b..1a14df6d40b 100644
--- a/autotests/integration/CMakeLists.txt
+++ b/autotests/integration/CMakeLists.txt
@@ -176,6 +176,8 @@ integrationTest(NAME testDrmLegacy SRCS drm_test.cpp PROPERTIES RESOURCE_LOCK "v
target_compile_definitions(testDrmLegacy PRIVATE FORCE_DRM_LEGACY=1)
integrationTest(NAME testDrmNoModifiers SRCS drm_test.cpp PROPERTIES RESOURCE_LOCK "vkms")
target_compile_definitions(testDrmNoModifiers PRIVATE FORCE_NO_DRM_MODIFIERS=1)
+integrationTest(NAME testDrmNoRenderNodes SRCS drm_test.cpp PROPERTIES RESOURCE_LOCK "vkms")
+target_compile_definitions(testDrmNoRenderNodes PRIVATE FORCE_NO_RENDERNODES=1)
integrationTest(NAME testSelection SRCS selection_test.cpp)
integrationTest(NAME testToplevelDrag SRCS topleveldrag_test.cpp)
diff --git a/autotests/integration/drm_test.cpp b/autotests/integration/drm_test.cpp
index 9689e4b4a7d..8d7ab8275d3 100644
--- a/autotests/integration/drm_test.cpp
+++ b/autotests/integration/drm_test.cpp
@@ -392,6 +392,9 @@ void DrmTest::initTestCase()
#endif
#ifdef FORCE_NO_DRM_MODIFIERS
qputenv("KWIN_DRM_USE_MODIFIERS", "0");
+#endif
+#ifdef FORCE_NO_RENDERNODES
+ qputenv("KWIN_RENDER_NODES", "");
#endif
// make sure overlays are allowed
qputenv("KWIN_USE_OVERLAYS", "1");
diff --git a/autotests/integration/kwin_wayland_test.cpp b/autotests/integration/kwin_wayland_test.cpp
index 9b0204c1edb..154bd3eda6a 100644
--- a/autotests/integration/kwin_wayland_test.cpp
+++ b/autotests/integration/kwin_wayland_test.cpp
@@ -87,8 +87,6 @@ WaylandTestApplication::WaylandTestApplication(int &argc, char **argv, bool runO
removeLibraryPath(ownPath);
addLibraryPath(ownPath);
- createGpuManager();
-
if (runOnKMS) {
// in order to allow running the test manually on a tty,
// we need the real session. This doesn't work in CI though,
@@ -203,6 +201,8 @@ void WaylandTestApplication::performStartup()
// first load options - done internally by a different thread
createOptions();
+
+ createGpuManager();
if (!outputBackend()->initialize()) {
std::exit(1);
}
diff --git a/src/main_wayland.cpp b/src/main_wayland.cpp
index 26c0550d784..848f43f5c5e 100644
--- a/src/main_wayland.cpp
+++ b/src/main_wayland.cpp
@@ -138,6 +138,7 @@ void ApplicationWayland::performStartup()
{
createOptions();
+ createGpuManager();
if (!outputBackend()->initialize()) {
std::exit(1);
}
@@ -471,8 +472,6 @@ int main(int argc, char *argv[])
a.setSessionArgument(parser.value(exitWithSessionOption));
}
- a.createGpuManager();
-
enum class BackendType {
Kms,
#if KWIN_BUILD_X11