diff --git a/src/backend/drm/DRM.cpp b/src/backend/drm/DRM.cpp index 07b4d9e..1b90960 100644 --- a/src/backend/drm/DRM.cpp +++ b/src/backend/drm/DRM.cpp @@ -249,7 +249,7 @@ SP Aquamarine::CDRMBackend::fromGpu(std::string path, SP drmBackend->grabFormats(); - drmBackend->dumbAllocator = CDRMDumbAllocator::create(gpu->fd, backend); + drmBackend->dumbAllocator = CDRMDumbAllocator::create(drmBackend->backend->reopenDRMNode(gpu->fd), backend); // so that session can handle udev change/remove events for this gpu backend->session->sessionDevices.push_back(gpu); @@ -333,7 +333,7 @@ std::vector> Aquamarine::CDRMBackend::attempt(SP backe newPrimary = drmBackend; } - drmBackend->dumbAllocator = CDRMDumbAllocator::create(gpu->fd, backend); + drmBackend->dumbAllocator = CDRMDumbAllocator::create(drmBackend->backend->reopenDRMNode(gpu->fd), backend); backends.emplace_back(drmBackend);