Subject: xsrc/18899: Radeon driver is gratuitously unwilling to make a plausible guess.
To: None <email@example.com>
From: seebs <firstname.lastname@example.org>
Date: 11/03/2002 02:20:23
>Synopsis: The radeon driver doesn't even *try* to guess which display to use.
>Arrival-Date: Sun Nov 03 01:21:00 PST 2002
>Release: NetBSD 1.6J
System: NetBSD vash.cel.plethora.net 1.6J NetBSD 1.6J (VASH) #0: Wed Oct 30 11:18:44 CST 2002 root@:/usr/src/sys/arch/i386/compile/VASH i386
The laptop Radeon chipset I have supports CRT's and LCD's both.
Unfortunately, the driver can't *guess*; it needs to have "CrtScreen"
in the XF86Config if it's to drive a CRT, and *must not* have it
to drive an LCD.
This is silly; if it tries the LCD, and the LCD is not available,
*there is a detectable error condition*.
Try to build an XF86Config that works with and without a monitor.
This is ugly beyond words, but works. If we haven't been specifically
told to use a CRT, we try the LCD... but if it fails in a way typical
of a disabled device, we set the CRT flag and try again! Works like
a charm. These diffs may be a couple lines off.
*** 1730,1735 ****
--- 1732,1738 ----
/*We'll use our own mode validation routine for DFP/LCD, since
xf86ValidateModes is not working well with the DFP/LCD modes
'stretched' from their native mode.*/
if(info->DisplayType == MT_CRT || info->UseCRT)
/* Get mode information */
*** 1798,1803 ****
--- 1801,1808 ----
modesFound = RADEONValidateFPModes(pScrn);
if(modesFound < 1)
+ info->UseCRT = 1;
+ goto dummy;
"No valid mode found for this DFP/LCD\n");