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.
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.
>
> > > The correct solution is to implement PCI VGA region sharing, a la
> > > XFree4's resource access control (RAC). Until fbdev gets that, problems
> > > related to sharing the VGA region will continue to crop up.
> >
> > Which files in the X server tree have this code? I like to take a look at
> > this code.
>
> hw/xfree86/rac/*
>
This is only where the wrappers live. The main part of the resource
management is in common/xf86Bus.c and common/xf86PciBus.c. I'm
currently revisiting this code.
Regards,
Egbert.
-
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:26 EST