[haiku-development] Re: ATI Video Driver

  • From: Gerald Zajac <zajacg@xxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 24 Jun 2007 10:47:28 -0400

Hi Valisis,

Kaoutsis wrote:
Hi Gerald,

Gerald Zajac>

Now that the S3 Savage video driver is complete except for possible
future bug fixes, I'm considering implementing a video driver which
will support all the ATI Rage 128 and Rage 128 Pro chips.  In
addition, if it does not require too much additional work, it will also
support all the ATI Mach64 chips which are slightly older than
the Rage 128 chips.



The reasons for doing this driver are that the BeOS drivers do not
support all the chips in any of these groups of chips; and for testing
the driver, I have video cards with 9 distinct chips which cover most
of the types of chips in these groups of chips.



Does anyone know the status of the Mach64 driver which is in the source
repository?  I have briefly looked at the code, but have not tried to
build it. It does not appear to support all of the Mach64 chips since it has only 23 chip ID's defined; whereas, the X.org ATI driver has 35
Mach64 chip ID's defined.  Based upon what I have seen so far, I will
probably use the X.org code for the driver.

I have tested the driver which we have at the repository,
with an old Mach64, but it didn't work,
card id is (from syslog):
KERN: PCI:   vendor 1002: ATI Technologies Inc
KERN: PCI:   device 4755: 3D Rage II+ 215GTB [Mach64 GTB]
i am planning to have a look at, to the near future,
but i am still at the beginning:)

Bye, Vasilis

If you are planning to work on the Mach64 driver that is in the source repository, I would like to advise you to look at the Mach64 code in the X.org ATI driver. It is much more up to date than the code in the source repository. Judging from the copyright dates in the code in the source repository, it looks like rather ancient code with copyright dates from back in the mid 1990's. In addition, the chip ID's defined in the header file *Mach64.h* is not a complete list of the Mach64 chip ID's. The following chip ID's supported by the X.org ATI driver are not defined in *Mach64.h*:
  474C   GL
  474D   GM
  474E   GN
  474F   GO
  4752   GR
  4753   GS
  4759   GY
  4C4D  LM
  4C4E   LN
  4C51   LQ
  4C52   LR
  4C53   LS

These are probably newer chips which did not exist when that code was written. For example, I have a Rage XL card (ID: 474D) which has an ATI copyright date of 1999. If you want to look at the X.org ATI driver code, it can be obtained at:

http://xorg.freedesktop.org/releases/X11R7.2/src/driver/

where you can select the following file to download:

xf86-video-ati-X11R7.2-6.6.3.tar.bz2

After doing some further examination of the X.org ATI driver code, it appears that there are sufficient differences between the Mach64 and Rage 128 code that they should probably be implemented as separate drivers in Haiku. Thus, I will implement the Rage 128 driver, and after it is complete, I will consider implementing the Mach64 driver if you happen to decide not to do it.

Best regards,
Gerald

Other related posts: