Patch author: Mike A. Harris This patch adds a new option to the Radeon driver named "ForceLegacyCRT", which allows the user to force the driver to use a legacy VGA CRT display when no monitor is detected. Very old monitors can then be used with Radeon hardware. Fixes bug report/feature request: http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=69978 Submitted patch upstream during post 6.7.0 development: http://freedesktop.org/bugzilla/show_bug.cgi?id=871 --- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c.ati-radeon-forcelegacycrt 2004-07-09 17:58:52.000000000 -0400 +++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2004-07-15 03:15:16.000000000 -0400 @@ -160,7 +160,8 @@ OPTION_RENDER_ACCEL, OPTION_SUBPIXEL_ORDER, #endif - OPTION_SHOWCACHE + OPTION_SHOWCACHE, + OPTION_FORCE_LEGACY_CRT } RADEONOpts; const OptionInfoRec RADEONOptions[] = { @@ -204,6 +205,7 @@ { OPTION_SUBPIXEL_ORDER, "SubPixelOrder", OPTV_ANYSTR, {0}, FALSE }, #endif { OPTION_SHOWCACHE, "ShowCache", OPTV_BOOLEAN, {0}, FALSE }, + { OPTION_FORCE_LEGACY_CRT, "ForceLegacyCRT", OPTV_INTEGER, {0}, FALSE }, { -1, NULL, OPTV_NONE, {0}, FALSE } }; @@ -932,7 +934,21 @@ if (INREG(RADEON_LVDS_GEN_CNTL) & RADEON_LVDS_ON) MonType = MT_LCD; else MonType = MT_DFP; } else MonType = MT_CRT; - } else MonType = MT_NONE; + } else if (xf86ReturnOptValBool(info->Options, + OPTION_FORCE_LEGACY_CRT, FALSE)) { + /* If no monitor/LCD type detected so far, we test for option + * ForceLegacyCRT, and if present, we force-enable CRT for this head. + * Option added for Alan Cox's ancient mono VGA monitor: + * http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=69978 + */ + MonType = MT_CRT; + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Using option ForceLegacyCRT from config file to allow a single legacy\n\t" + "VGA CRT to be used. Do NOT attach a second display to the other head\n\t" + "or damage may result.\n"); + } else { + MonType = MT_NONE; + } info->DDCReg = DDCReg; --- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.man.ati-radeon-forcelegacycrt 2004-06-20 03:26:08.000000000 -0400 +++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.man 2004-07-15 03:17:15.000000000 -0400 @@ -419,6 +419,14 @@ Enable page flipping for 3D acceleration. This will increase performance but not work correctly in some rare cases, hence the default is .B off. +.TP +.BI "Option \*qForceLegacyCRT\*q \*q" boolean \*q +Enable usage of legacy VGA CRT display when no monitor is detected. This +can be used to force the driver to work with ancient VGA monitors, such as +an old mono VGA monitor. *WARNING* Do NOT use this option with dualhead +configurations with both heads connected to a dualhead Radeon card, as it +can potentially damage the monitor. +.B off. .br .B Note: Page flipping does not work well in certain configurations with MergedFB. If you