Subject: xsrc/18899: Radeon driver is gratuitously unwilling to make a plausible guess.
To: None <gnats-bugs@gnats.netbsd.org>
From: seebs <seebs@vash.cel.plethora.net>
List: netbsd-bugs
Date: 11/03/2002 02:20:23
>Number: 18899
>Category: xsrc
>Synopsis: The radeon driver doesn't even *try* to guess which display to use.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: xsrc-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Nov 03 01:21:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: seebs
>Release: NetBSD 1.6J
>Organization:
N/A
>Environment:
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
Architecture: i386
Machine: i386
>Description:
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*.
>How-To-Repeat:
Try to build an XF86Config that works with and without a monitor.
>Fix:
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.*/
+ dummy:
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;
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"No valid mode found for this DFP/LCD\n");
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
>Release-Note:
>Audit-Trail:
>Unformatted: