diff --git a/src/backend/drm/DRM.cpp b/src/backend/drm/DRM.cpp index 35a923d..a639182 100644 --- a/src/backend/drm/DRM.cpp +++ b/src/backend/drm/DRM.cpp @@ -200,7 +200,14 @@ static std::vector> scanGPUs(SP backend) { for (auto const& d : explicitDevices) { bool found = false; for (auto const& vd : devices) { - if (vd->path == d) { + std::error_code ec; + auto canonicalFilePath = std::filesystem::canonical(vd->path, ec); + if (ec) { + backend->log(AQ_LOG_ERROR, std::format("drm: Failed to canonicalize path {}", d)); + canonicalFilePath = vd->path; + } + + if (canonicalFilePath == d) { vecDevices.emplace_back(vd); found = true; break;