info->quirks = 0;
 }
 
+static void update_displayid_info(struct drm_connector *connector,
+                                 const struct drm_edid *drm_edid)
+{
+       struct drm_display_info *info = &connector->display_info;
+       const struct displayid_block *block;
+       struct displayid_iter iter;
+
+       displayid_iter_edid_begin(drm_edid, &iter);
+       displayid_iter_for_each(block, &iter) {
+               if (displayid_version(&iter) == DISPLAY_ID_STRUCTURE_VER_20 &&
+                   (displayid_primary_use(&iter) == PRIMARY_USE_HEAD_MOUNTED_VR ||
+                    displayid_primary_use(&iter) == PRIMARY_USE_HEAD_MOUNTED_AR))
+                       info->non_desktop = true;
+
+               /*
+                * We're only interested in the base section here, no need to
+                * iterate further.
+                */
+               break;
+       }
+       displayid_iter_end(&iter);
+}
+
 static void update_display_info(struct drm_connector *connector,
                                const struct drm_edid *drm_edid)
 {
        info->color_formats |= DRM_COLOR_FORMAT_RGB444;
        drm_parse_cea_ext(connector, drm_edid);
 
+       update_displayid_info(connector, drm_edid);
+
        /*
         * Digital sink with "DFP 1.x compliant TMDS" according to EDID 1.3?
         *