On Mon, 15 Dec 2003, Gene C. wrote: >> >IMHO, this is one of those situations where you will need to >> >depend on the community to report the info on new adapters. >> >> That is always appreciated of course. I generally ask ATI >> directly though and get a list back within a day or so. I missed >> a few when updating the lists last, but that is quite easy to do >> since it requires making rather tedious updates in about 5 >> different locations, some in XFree86 source code, some in our >> hwdata, and then again on the official pci ID database on >> sourceforge, etc. I'll fix that sometime, but until then people >> can use the ChipID keyword to work around it easily enough, so >> it's not a mission critical priority currently, but I'll >> eventually get around to it during FC2 development, and probably >> release an update for FC1 also. > >The "suprising" thing is that the 9200SE adapter was properly recognized by >XFree86 and works fine but was not recognized by redhat-config-xfree86 since >the pci info was not in hwdata. Regardless, there is no hurry since "it >works." Here is a rough explanation of how this is possible: Each video driver contains a list of PCI IDs internally which indicate what chips are supported. This is used to both determine wether or not a chip is supported, and if so, the ID is used in various places in the driver source code to indicate a conditionalized code path. This allows a single unified driver to handle all video hardware from a particular vendor (within limits of course). Any time a new video chip family is created, ( ie: ATI Radeon R100, R200, RV200, RV100, R300, etc.), the driver needs to be modified to both understand the new chip family and autodetect it, and to autodetect each individual PCI ID for the new chip family. If the new chip family, or any individual chip requires anything to be programmed differently from other chips already supported by the driver, then the driver will require actual code additions/changes/etc. in order to support the new chip or chip family. The PCI ID will be used to conditionally determine the code paths that are specific to that ID, or the chip family. Note that this is completely contained within the video driver itself, and so the X server always knows what hardware it supports via loading the driver, and calling routines built into the driver. The installer, and various config programs however have to use pcilib to determine what PCI devices are installed in a given system, and then look each one up in the PCI database (pcitable). If the PCI ID is not in the pcitable, then the configuration software treats it as "unknown" or "unsupported" because it has no idea wether or not it is supported, what driver it would need to use, or anything. The tool can't load the X server drivers and query them because it has no idea what driver (if any) may or may not support any video hardware it has found. As such, in order to support new video hardware, both the X server *AND* the pcitable must be updated with the new PCI IDs. This card's PCI ID was added to the driver, but not the pcitable, mainly because it is not an automated process, but a tedious manual human process which is subject to human error and other misgivings. Take a look at the huge list of Radeon driver patches in the XFree86 specfile, and how they interlink with each other, and you'll see just how easily it is to miss a few IDs here and there. ;o) I plan on making an attempt to automate this somehow in the future though, so that our pcitable is always accurate to what the X server supplies. I'm still trying to determine the best way to do this though. Hope this helps understand the problem. Take care, TTYL -- Mike A. Harris _______________________________________________ xfree86-list mailing list xfree86-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/xfree86-list IRC: #xfree86 on irc.redhat.com