diff --git a/src/drm.cpp b/src/drm.cpp index acff5e5..fdf58ee 100644 --- a/src/drm.cpp +++ b/src/drm.cpp @@ -101,6 +101,12 @@ static uint32_t galileo_display_rates[] = 90, }; +static uint32_t legion_go_display_rates[] = +{ + 60, + 144, +}; + static uint32_t get_conn_display_info_flags(struct drm_t *drm, struct connector *connector) { if (!connector) @@ -911,8 +917,11 @@ static void parse_edid( drm_t *drm, struct connector *conn) conn->valid_display_rates = std::span(galileo_display_rates); } else { conn->is_galileo_display = 0; - if ( conn->is_steam_deck_display ) + if ( conn->is_steam_deck_display ) { conn->valid_display_rates = std::span(steam_deck_display_rates); + } else if ( strcmp(conn->make_pnp, "LEN") == 0 && strcmp(conn->model, "Go Display") == 0 ) { + conn->valid_display_rates = std::span(legion_go_display_rates); + } } drm_hdr_parse_edid(drm, conn, edid);