View Single Post
Old 06-18-05, 03:25 PM   #12
kulick
Todd Kulick
 
Join Date: Jun 2005
Location: Like, in the Bay Area
Posts: 23
Thumbs down Re: Reduced Blanking on DVI-D

Hey Oliver,

I did look at the driver a little regarding your problem while I had all the code here in front of me. I was hoping that maybe you could at least get things working with the 'nv' driver like the arrangement that I have.

Quote:
Originally Posted by haynold
I tried using the open "nv" driver. The good thing is that with this driver I get more detail about the panel's expected timing. 1920 1968 2000 2080 1200 1203 1209 1235, as SaTaN0rX suggested, is indeed correct. However, even with EDID turned off I get an error message with the "nv" driver

(II) NV(0): Mode "1920x1200" is larger than BIOS programmed panel size of 1280 x 1024. Removing.

I assume that the BIOS referred to is the graphic card's, and I have no clue where it got its notion about the panel size from.
It seems the BIOS in question is either that of the graphics card or, more likely I think, that of the display device itself. The 'nv' driver seems to get that panel size by rooting around in the graphics card's memory. My card seems to report 1920x1200.
(--) NV(0): Panel size is 1920 x 1200
It seems like you could do 'Option "FlatPanel" "False"' in your driver section. This would stop it from determining the bogus BIOS size. Unfortunately, it will probably affect a lot of other things too, so I'm not sure if it would really help. The code checks the value of the flat panel setting in a lot of places.

The code that is causing your problem is...

static ModeStatus
NVValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags)
{
NVPtr pNv = NVPTR(xf86Screens[scrnIndex]);

if(pNv->fpWidth && pNv->fpHeight) {
if((pNv->fpWidth < mode->HDisplay) || (pNv->fpHeight < mode->VDisplay)) {
xf86DrvMsg(scrnIndex, X_INFO, "Mode \"%s\" is larger than "
"BIOS programmed panel size of %d x %d. Removing.\n",
mode->name, pNv->fpWidth, pNv->fpHeight);
return (MODE_BAD);
}
}

return (MODE_OK);
}
The only way that I could see to make those fpWidth and fpHeight variables not get assigned was to set FlatPanel to false or make the card think it is attached to a TV. Again, not very helpful. Sorry man!

-t
kulick is offline   Reply With Quote