[I file this ticket for tracking purpose; upstream report is at https://bugs.freedesktop.org/show_bug.cgi?id=7103] Description of problem: When having a primary AGP graphic cards (in my case an ATI Radeon RV100 QY) and a PCI Matrox MGA 2064W, X will hang at startup. This happens because the BIOS address can not be determined; the interesting code is in mga_driver.c | static Bool | MGAPreInit(ScrnInfoPtr pScrn, int flags) | | if (pMga->device->BiosBase != 0) { | /* XXX This isn't used */ | pMga->BiosAddress = pMga->device->BiosBase; | pMga->BiosFrom = X_CONFIG; | } else { | /* details: rombase sdk pp 4-15 */ | if (pMga->PciInfo->biosBase != 0) { | pMga->BiosAddress = pMga->PciInfo->biosBase & 0xffff0000; | pMga->BiosFrom = X_PROBED; | } else if (pMga->Primary) { | pMga->BiosAddress = 0xc0000; | pMga->BiosFrom = X_DEFAULT; | } | } In my case, both pMga->device->BiosBase and pMga->PciInfo->biosBase are NULL and pMga->Primary is false. Therefore, 'pMga->BiosAddress == 0' will hold. Then, the startup will hang somewhere in | mga_read_and_process_bios( pScrn ); Skipping this operation (like in the '#if defined(__alpha__)' conditional), will continue the startup process but: * it will hang later somewhere in int10, or (when not loading the int10 module), * X will startup, but will assume wrong capabilities so that I have only a 640x480 screen. I fixed the issue by applying |- } else if (pMga->Primary) { |+ } else if (pMga->Primary || 1) { to the code above and X runs without problems. Environment: Fedora Core 5, xorg-x11-drv-mga-1.2.1.3-1.2 | 00:0e.0 VGA compatible controller: Matrox Graphics, Inc. MGA 2064W [Millennium] (rev 01) (prog-if 00 [VGA]) | 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE] (prog-if 00 [VGA]) vanilla 2.6.16 kernel; mga-fb kernel driver *IS* activated xorg-x11 from Fedora Core 4 (xorg-x11-6.8.2) worked without problems on this hardware. Version-Release number of selected component (if applicable): xorg-x11-drv-mga-1.2.1.3-1.2 How reproducible: 100%
Thanks for the report. We'll monitor the X.Org report, and once the issue is resolved, we'll review the final solution, and consider including it in a future FC update. Thanks again.