Re: VGA and pci_enable_device (was Re: Linux 2.4.0test1-ac6)

From: Jeff Garzik (jgarzik@mandrakesoft.com)
Date: Wed May 31 2000 - 04:31:44 EST


Egbert Eich wrote:
>
> Jeff Garzik writes:
> > James Simmons wrote:
> > >
> > > > In practise, very few fbdev drivers support multi-head, so an
> > > > fbdev-correct hardware setup should never have this conflict occur.
> > > > However users who don't know this will get bitten if they stick two PCI
> > > > VGA cards into the computer, and try to get both going with fbdev
> > > > drivers.
> > >
> > > I have had this problem. I found I have to run a x86 bios emulator to get
> > > a second card going.
> >
> > A much better solution is to duplicate the VGA BIOS init logic, POSTing
> > the card itself. Much smaller than an x86 emulator in the code, much
> > faster, and much safer. This is what matroxfb does. I have code to do
> > this for some nVidia chips (for use in rivafb), but it is known buggy
> > code at present..
> >
>
> Do I understand you correctly? Do you suggest to 'reimplement' the
> functionality of the video BIOS on the card? As I have already stated
> on numerous occasions: To initialize a graphics chipset correctly
> you need detailed information on the other hardware the manufacturer
> has put on the graphics board. In most cases this information is not
> available to you or the user.

That depends completely on the chipset and the manufacturer... Keith
Packard's kdrive/s3trio code initializes the S3 Trio such that running
VGA BIOS is not necessary (and his code has been tested for such a
configuration). I hope to be able to use his code to implement 100%
MMIO-only, multi-head S3 trio framebuffer.

Further, remember that the XFree project has the advantage of being able
to use a softbooter at all. Anybody on a non-x86 platform highly values
the ability to init a card without VGA BIOS -- because sometimes the
card simply won't work at all without such. Or VGA BIOS may not be
present, or may be present but unexecuted. Ronald Minnich of linuxbios
fame loves matroxfb precisely because it gives him a console without
having to run VGA BIOS.

You can't run a softbooter in order to provide a graphical console. If
VGA BIOS init didn't set up your card [properly], you're completely SOL
for a console.

> So far it has been found very effective to execute the BIOS using a
> softbooter. I have even seen Matrox cards running better when softbooted.

"Running better" is just about as vague as you can get. :) May I
assume you are talking about XFree 2D driver performance and not kernel
consoles?

        Jeff

-- 
Jeff Garzik              | Liberty is always dangerous, but
Building 1024            | it is the safest thing we have.
MandrakeSoft, Inc.       |      -- Harry Emerson Fosdick

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed May 31 2000 - 21:00:27 EST