2005-03-05 11:54:07

by Alan Jenkins

[permalink] [raw]
Subject: RivaFB and GeForce FX

I asked on LKML about extending the list of supported cards for the
rivafb driver to include GeForce/Quadro FX boards. I suspect the lack
of response was down to two factors:

a) Not addressing the maintainer
b) Lack of a patch

Hence this email!

Without this patch, the only supported FX board is the GeForce FX GO
5200. However, I am able to use rivafb on my GeForce FX 5200 by simply
adding it to the list of supported cards.

Part of the code suggests that more FX boards will work:

switch (pd->device & 0x0ff0) {

...

case 0x0300: /* GeForceFX 5800 */
case 0x0310: /* GeForceFX 5600 */
case 0x0320: /* GeForceFX 5200 */
case 0x0330: /* GeForceFX 5900 */
case 0x0340: /* GeForceFX 5700 */
arch = NV_ARCH_30;
break;

...

}

IMHO we should allow people to test this suggestion :). I therefore
attach patches which enables rivafb to be used on all cards with PCI ids
in the above range. I considered adding an experimental configuration
option, but I didn't think that would be welcome.

More selective alternatives are possible, and a warning of some sort may
be in order. I am happy to revise the patch in any way.

Alan



Attachments:
fbdev.c.diff (4.42 kB)
pci_ids.c.diff (2.55 kB)
Download all attachments

2005-03-05 16:07:31

by Alan Jenkins

[permalink] [raw]
Subject: Re: RivaFB and GeForce FX

> Dude you completely forgot the important parts of the code!!
> Sorry I didn't reply to you in that previous e-mail before, I was
> busy, but those vplB and 'format' stuff WAS important, without it, I
> got strange distortions on screen and refreshes were "lagged"... The
> ONLY things you can remove from my patch is the debugging stuff, the
> cursor stuff, and those 2 lines which I commented out in fbdev.c . All
> the rest, HAS to stay, without it rivafb on GeforceFX 5200 (what I
> have) just doesn't work RIGHT. It "works", but it's awful.
>
> - ods15

Oops. I defer to your experience. I didn't notice that much wrong with
it, but definitely something that looked like lagging refreshes - I
described it in more detail in the previous message.

The important parts of the code need reworking to fit in with subsequent
changes. I'm up for that, but I may need some help in terms of
maintaining good taste; the NV_ARCH_30 case may need to be separated out
a little more than it is at the moment. I'll post again when I have
something working right.

I owe you an apology; I could not expect you to reply to my query about
the vpllB stuff immediately, and I should have waited until you had.

Also, given that we both tried this on the GeForce FX 5200, and the
single FX card supported under 2.6.11 is a the Mac version of the
GeForce FX GO 5200, it might be a good idea to limit the cards to the
5200 series for the time being.

Yours apologetically,
Alan

PS The email I sent the maintainer bounced anyway


2005-03-05 22:24:22

by Alan Jenkins

[permalink] [raw]
Subject: Re: RivaFB and GeForce FX

> I've tried adding the format and vpllB but I can't see any difference.

...

> I'll get 2.6.6 (the version your patch applies to) and try with and
> without your full patch. Hopefully I'll be able to see the difference.
> Otherwise I might have to ask you to try the trivial and full patches
> I'm using for 2.6.11.

I see gross screen corruption without the full patch on 2.6.6, but this
is gone in 2.6.11.

I suspect I am preempting someone elses work, but they haven't (yet)
come forward, and as I said I haven't been able to get in touch with the
drivers maintainer. I'll ask the framebuffer layer maintainer about it.
I've not CC'd him in this email because my habit of stripping quotes has
left it without context.