hacky sisctrl for radeon

Dave Airlie airlied at gmail.com
Mon Feb 13 18:19:27 PST 2006


I've done a dirty hack to let sisctrl run against a server with a
radeon card, it doesn't contain any useful functionality apart from
CRT1 redetect which actually does a complete monitor redetect cycle,

This code[1] allows me to plug a VGA monitor into my laptop and have
it clone itself once I click in sisctrl, the output on my VGA looks
bad (timings look wrong),

ideally I suppose you would xrandr to a lower resolution first and
then redetect or something,

The main reason I've put the patch up is for the two changes in
radeon_driver.c:RADEONPreInitModes

-    if (!pScrn->monitor->DDC && info->ddc_mode) {
+    if (!pRADEONEnt->MonInfo1 && !pRADEONEnt->MonInfo2 && info->ddc_mode) {
        info->ddc_mode = FALSE;
        xf86DrvMsg(pScrn->scrnIndex, X_INFO,
                   "No DDC data available, DDCMode option is dismissed\n");

Shouldn't we make sure both monitors don't have DDC Modes?? or should
we have two ddc mode flags?

             */
            if (!pRADEONEnt->HasSecondary) {
+               pScrn->monitor->DDC = pRADEONEnt->MonInfo2;
                xf86DrvMsg(pScrn->scrnIndex, X_INFO,
                           "Validating CRTC2 modes for MergedFB
------------ \n");

                xf86DrvMsg(pScrn->scrnIndex, X_INFO,
                           "Total of %d CRTC2 modes found for
MergedFB------------ \n",
                           modesFound);
+               pScrn->monitor->DDC = pRADEONEnt->MonInfo1;
            }

Should we not be checking the CRTC2 modes on the second monitor?

I'm not sure if I'll get much more done with this, it was a pretty
simple hack to do while at XDC and I just got it to a semi-workable
point now, I don't think the SISCTRL extension is going to be suitable
for anything but SIS but I do like Thomas's sisctrl application :-)

Dave.

[1]http://www.skynet.ie/~airlied/patches/radeon/radeon_sis_ctrl.diff



More information about the xorg mailing list