<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - nouveau framebuffer fails to initialize properly on GeForce 2 Go (NV11M)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=92178#c3">Comment # 3</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - nouveau framebuffer fails to initialize properly on GeForce 2 Go (NV11M)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=92178">bug 92178</a>
from <span class="vcard"><a class="email" href="mailto:imirkin@alum.mit.edu" title="Ilia Mirkin <imirkin@alum.mit.edu>"> <span class="fn">Ilia Mirkin</span></a>
</span></b>
<pre>The interesting bits from the log:
[ 128.852] (II) NV(0): I2C bus "DDC" initialized.
[ 128.852] (II) NV(0): Probing for EDID on I2C bus A...
[ 128.852] (II) NV(0): I2C device "DDC:ddc2" registered at address 0xA0.
[ 128.855] (II) NV(0): ... none found
[ 128.855] (II) NV(0): Probing for EDID on I2C bus B...
[ 129.092] (II) NV(0): ... none found
[ 129.092] (--) NV(0): CRTC 1 is currently programmed for DFP
[ 129.092] (II) NV(0): Using DFP on CRTC 1
[ 129.092] (--) NV(0): Panel size is 1400 x 1050
[ 129.092] (II) NV(0): NOTE: This driver cannot reconfigure the
BIOS-programmed size.
[ 129.092] (II) NV(0): These dimensions will be used as the panel size for
mode validation.
[ 129.092] (II) NV(0): Panel is LVDS
Note that the xf86-video-nv recognizes device id 112 (and a boatlod of others)
as mobile, and for those it forces pNv->FlatPanel = 1, which in turn causes:
if(pNv->FlatPanel) pNv->CRTCnumber = 1;
if(pNv->FlatPanel && !pNv->Television) {
pNv->fpWidth = pNv->PRAMDAC[0x0820/4] + 1;
pNv->fpHeight = pNv->PRAMDAC[0x0800/4] + 1;
pNv->fpVTotal = pNv->PRAMDAC[0x804/4] + 1;
pNv->fpSyncs = pNv->PRAMDAC[0x0848/4] & 0x30000033;
xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Panel size is %i x %i\n",
pNv->fpWidth, pNv->fpHeight);
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "NOTE: This driver cannot "
"reconfigure the BIOS-programmed size.\n");
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "These dimensions will be used as "
"the panel size for mode validation.\n");
}
if(monitorA)
xf86SetDDCproperties(pScrn, monitorA);
if(!pNv->FlatPanel || (pScrn->depth != 24) || !pNv->twoHeads)
pNv->FPDither = FALSE;
pNv->LVDS = FALSE;
if(pNv->FlatPanel && pNv->twoHeads) {
pNv->PRAMDAC0[0x08B0/4] = 0x00010004;
if(pNv->PRAMDAC0[0x08B4/4] & 1)
pNv->LVDS = TRUE;
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Panel is %s\n",
pNv->LVDS ? "LVDS" : "TMDS");
}
and later on
if(pNv->FlatPanel == 1) {
vertStart = vertTotal - 3;
vertEnd = vertTotal - 2;
vertBlankStart = vertStart;
horizStart = horizTotal - 5;
horizEnd = horizTotal - 2;
horizBlankEnd = horizTotal + 4;
if(pNv->Architecture == NV_ARCH_30)
horizTotal += 2;
}
We should figure out what all this maps to in nouveau and how to properly fake
it.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>