backend/drm: check for mst: in path property

Instead of checking that the path property is not 0 to determine if the
connector is an MST connector, check if the path contains the mst:
string.

Fixes #1813
This commit is contained in:
Rouven Czerwinski 2019-09-03 16:06:49 +02:00 committed by Simon Ser
parent 734c64a6cc
commit bf90474b74
1 changed files with 10 additions and 1 deletions

View File

@ -1304,8 +1304,17 @@ void scan_drm_connectors(struct wlr_drm_backend *drm) {
wl_list_insert(&wlr_conn->output.modes, &mode->wlr_mode.link); wl_list_insert(&wlr_conn->output.modes, &mode->wlr_mode.link);
} }
size_t path_len;
bool is_mst = false;
char *path = get_drm_prop_blob(drm->fd, wlr_conn->id,
wlr_conn->props.path, &path_len);
if (path_len > 4 && path && strncmp(path, "mst:", 4) == 0) {
is_mst = true;
}
free(path);
wlr_conn->possible_crtc = get_possible_crtcs(drm->fd, res, drm_conn, wlr_conn->possible_crtc = get_possible_crtcs(drm->fd, res, drm_conn,
wlr_conn->props.path != 0); is_mst);
if (wlr_conn->possible_crtc == 0) { if (wlr_conn->possible_crtc == 0) {
wlr_log(WLR_ERROR, "No CRTC possible for connector '%s'", wlr_log(WLR_ERROR, "No CRTC possible for connector '%s'",
wlr_conn->output.name); wlr_conn->output.name);