diff --git a/src/radeon_modes.c b/src/radeon_modes.c index 2c72395..1fa9a8d 100644 --- a/src/radeon_modes.c +++ b/src/radeon_modes.c @@ -282,8 +282,13 @@ RADEONProbeOutputModes(xf86OutputPtr output) modes = atomBiosArg.modes; } } else { - if (output->MonInfo) + if (output->MonInfo) { modes = xf86OutputGetEDIDModes (output); + /* add the screen modes for LVDS as most EDIDs only have the native mode */ + if (modes && radeon_output->type == OUTPUT_LVDS) + RADEONAddScreenModes(output, &modes); + + } if (modes == NULL) { if ((radeon_output->type == OUTPUT_LVDS) && info->IsAtomBios) { atomBiosResult = RHDAtomBiosFunc(pScrn->scrnIndex, @@ -293,6 +298,9 @@ RADEONProbeOutputModes(xf86OutputPtr output) output->MonInfo = xf86InterpretEDID(pScrn->scrnIndex, atomBiosArg.EDIDBlock); modes = xf86OutputGetEDIDModes(output); + /* add the screen modes for LVDS as most EDIDs only have the native mode */ + if (modes && radeon_output->type == OUTPUT_LVDS) + RADEONAddScreenModes(output, &modes); } } if (modes == NULL) {