Improved HMD DRM connector detection (non-desktop flag)

This commit is contained in:
2018-09-18 21:51:26 +02:00
parent 3e6462a1ce
commit 5c8f255a35

View File

@@ -63,7 +63,17 @@ static int drm_find_psvr_fd(SwapChain * swapChain, int fd)
drmModePropertyPtr prop = drmModeGetProperty(fd, connectorToTest->props[j]); drmModePropertyPtr prop = drmModeGetProperty(fd, connectorToTest->props[j]);
if (prop) if (prop)
{ {
if (strcmp(prop->name, "EDID") == 0) if (prop->flags & DRM_MODE_PROP_RANGE && strcmp(prop->name, "non-desktop") == 0)
{
uint64_t value = connectorToTest->prop_values[j];
if (value == 1)
{
connector = connectorToTest;
break;
}
}
else if (prop->flags & DRM_MODE_PROP_BLOB && strcmp(prop->name, "EDID") == 0 && 0)
{ {
drmModePropertyBlobPtr blob_ptr = drmModeGetPropertyBlob(fd, connectorToTest->prop_values[j]); drmModePropertyBlobPtr blob_ptr = drmModeGetPropertyBlob(fd, connectorToTest->prop_values[j]);
if (blob_ptr) if (blob_ptr)