Problems With OEM ATI Cards And ATI's Linux Driver
Doug Bostrom writes "Over at FlightGear.org, Andy Ross describes how ATI's new Linux drivers only seem to work with "official" ATI cards (made by ATI), why that does not make sense, and a possible fix that unfortunately would mean booting Windows, if only for a few minutes."
According to the message posted, the utility used to reflash the BIOS runs in DOS, not Windows, and will work in FreeDOS
Nvidia drivers for linux are really good but So are Matrox's. Matrox write some bitchen drivers like Nvidia but unlike Nvidia they GPL the whole thing. Getting all the windows functionality in linux for both my GF4 and G400 cards is perfectly easy. I advise buying from those two companies for linux. Matrox cards though old are very nice because they are cheap and they have good linux duel head support.
unzip; strip; touch; finger; mount; fsck; more; yes; unmount; sleep
RTA -F(polite)
He didn't have windows/dos/fat partitions at all. he downloaded freedos and used a ramdrive to flash his videocard's bios. thats all that was wrong. the ATI driver checks to make sure the videocard is an ATI card. It should just check for an ATI chipset. Sounds like a problem ATI will pacth in the next release.
the new nvidia drivers (40.72)for winXP are total crap, 9/10 times it will lock the system up when starting games, at least on my system,(pent4 2Ghz, Ti 4200) I'v had to install much older 30.82 drivers to play games
There are two 'types' of ATI cards (at least for the 97xx series) - cards made by ATI itself which are stickered as 'made by ATI', and cards made by other manufacturers which may be using the exact ATI reference card design or the manufacturer's permutation thereof, and with enhanced features and which are stickered as 'powered by ATI'.
"Get off the cross - we need the wood" - Tori Amos
Open. Closed.
ATI has really cleaned up lately. It seems that they realized their driver crapiness problems and began to fix things up. They are now approaching being as good as Nvidia drivers. I have no problems under windows or linux with the ATI drivers. I'm into 3D and games though ... and i don't use matrox at all. So i guess it's whatever floats your boat.
Yes, you were mistaken. ATI's drivers are not open source. The GATOS project is open source and provides drivers for ATI's cards, but is not affiliated with ATI.
Presuming you already have Linux installed, you should look in the various /usr/doc/whatever
directories belonging to the XFree86 stuff (there
will probably be a whole load of different packages
required for X, I don't know about Redhat/Mandrake
as I use Debian) and look for a file like README.DRI,
which might be gzipped (it is for me). The file also
tells you how to make sure that X will try to use
OpenGL (not difficult, may already be done for you!)
Alternatively, the actual DRI webpages are more up to date, and more thorough about which versions of cards they support - look for the "status" page for a start!
Configuring stuff, heh, I forget! If you have X set up to use your card, and tell it to use OpenGL, it will know whether your card can do it or not, and will try to load the appropriate kernel module. In my case, using a G400 card, it doesn't manage this, as it wants to have the agpgart module installed before the mga module, but doesn't realise to do this, so when my machine's booted, I normally modprobe the agpgart module myself, and then the mga module, and then the OpenGL works fine. Really, I should set up the modules.conf files to do this automatically, but I can't be bothered.
Bear in mind, that the mga module is only right for using G400/G200 cards, and the other cards would want other kernel modules! Also, those other kernel modules might not have those same requirements. In short, your mileage may vary.
But to return to the point in hand: If you don't want to be downloading binary-only drivers, then nVidia based cards are NOT what you want; they have no opensource 3d drivers at all that I know of. Some of the ATi cards are supported out of the box (I don't know how well!!) and some are only supported by ATi's driver so far, the one in the article.
Be careful! New moon tonight.
There is a difference between "Built by ATI" and "Powered by ATI". The problem you're seeing with OEM and non-ATI manufactured cards (aka "Powered by ATI") is in the BIOS -- the driver expects an official ATI BIOS (which would be a on "Built by ATI" card) and doesn't see it, so it won't work. The "Powered by" cards use reference drivers which aren't tweaked to any particular iteration of the card. "Built by" drivers won't install on non-ATI cards.
Solutions: Flash the BIOS as some have been suggesting, or buy an official card. Or just yell at ATI enough until they release a reference driver.
-----------
POiT!
BD Phone Home!
Shameless plug. Like you weren't expecting it.
[Flightgear-devel] ATI vs. Linux
Andy Ross flightgear-devel@flightgear.org
Wed, 27 Nov 2002 15:23:14 -0800
* Previous message: [Flightgear-devel] BAC TSR2
* Next message: [Flightgear-devel] Compiling problem on latest CVS SimGear
* Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Probably most of you noticed last week that ATI has released a unified
linux driver package for all of their 8x00/9x00 cards. I've been
wanting to try one of these for a long time, but have been a little
scared of the DRI drivers which are still maturing. This was a good
excuse to buy a cheap ($70) Radeon 8500LE and try it.
The short report is that it works and seems to run FlightGear very
well, but I wouldn't recommend buying one purely for their Linux
drivers. Stay with NVidia for now. Continue reading for the story of
compatibility hell.
Background: ATI's business model differs from NVidia in that they
manufacture and market their own circuit boards, not just the graphics
chips. Mostly. They actually *do* sell the chips to OEMs, who market
third party Radeon-compatible boards. In their marketing parlance,
their own boards are "Built by ATI", while third parties sell "Powered
by ATI" hardware. Most of the low end mail order cards are of this
type; ATI's hardware seems to be sold mostly off of store shelves. In
practice, this doesn't make much difference. While some OEMs might
skimp on parts or use cheap memory, most don't, and the hardware is
100% software compatible. ATI's windows drivers have always worked
equally well for OEM hardware and "Built by ATI" cards.
Except their Linux drivers. For reasons unknown, the recently
released drivers do an explicit check to see that they are running on
"built by" hardware, and exit if they find a "powered by" card. Guess
which one I bought? Not that I could tell -- I ordered a "ATI Radeon
8500LE 64MB" card from a mail order vendor. There is no information
in the distribution channel to indicate what you are getting. Nor is
there any documentation on ATI's site that the linux drivers only work
on "pure" hardware. So I'm SOL. ATI clearly says on their website
that Radeon 8500's are supported, but in reality most Radeon 8500
cards are *not* supported. Someone lied to me.
But nothing is ever unfixable. Remember that the hardware really is
software compatible (the DRI drivers and Windows drivers don't care
what they are running on). It turns out that the "OEMness" of the
card is stored in the PCI subsystem ID, and that value is defined in
the card's BIOS code. And the BIOS can be flashed.
So I'm off to the realm of the hardware modder and overclocker. It
turns out that utilities are available to put a retail BIOS into an
OEM card, which will defeat the stupid version check. I found one at
http://www.xcl-clan.com/ -- woo hoo. Except that it's a DOS program.
Remember that I'm a Linux guy. I have no DOS, nor FAT partition, nor
even a floppy drive in this machine. So after a few hours finding and
burning a FreeDOS CD and figuring out how to get a ramdisk working,
I'm golden. The card has new BIOS, and it works, and the steam coming
out of my ears hadn't yet caused any major burns. Yay. Apparently
some people enjoy this stuff...
In summary: unless you are 100% sure that your card is a "built by"
variant (which basically means that you have to have purchased it in a
dark red ATI box at a retail store), are happy with gray market stuff
like BIOS reflashing, or absolutely *must* have one of the
super-high-end super-expensive 9700 cards (for which no alternatives
exist), stay away from Radeon cards for Linux. The technical decision
to cut off perfectly working hardware is pure idiocy, and the
marketing scheme that makes it impossible for a consumer to tell the
difference between supported and unsupported products is downright
dishonest.
It's not that the drivers themselves are poor quality, or that I think
ATI is actually trying to abuse its customers. But this driver
release is just not good. Between them, the ATI marketing,
engineering and manufacturing people have turned a fairly standard
software release into a bloody, frothing mess. Give them another
release to fix the release stupidities (or at least document their
hardware limitations) and hopefully things will get better.
And the competition isn't even close, anyway. Except at the very high
end, the NVidia hardware and drivers are just as fast, just as cheap,
and (most importantly) just work.
I'm going to give the DRI stuff a whirl tonight. It lacks a lot of
the fancier hardware features (programmable shaders), but FlightGear
doesn't use them anyway. After last night's experience, I'd honestly
give up 10-20% in performance to not have to use the ATI dreck.
Andy
--
Andrew J. Ross NextBus Information Systems
Senior Software Engineer Emeryville, CA
andy@nextbus.com http://www.nextbus.com
"Men go crazy in conflagrations. They only get better one by one."
- Sting (misquoted)
* Previous message: [Flightgear-devel] BAC TSR2
* Next message: [Flightgear-devel] Compiling problem on latest CVS SimGear
* Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
In any case, in Windows at least, you could benefit from downloading the latest drivers. Of all the things I own, video cards is the one category where upgrading the drivers can improve things...a lot.
While ATI has been known to have shitty drivers in the past (r128, R100, and early R200 days mostly), they have been working hard to fix this problem. The latest driver set is CATALYST 02.4 (win2k and xp win9x required control panel). ATI's even gone as far as producing a PDF that describes exactly what was fixed in the release.
1st Party support for linux drivers have been new to them (this is only their first official release) so give them some time before they mature.
I don't know how much Matrox helped with getting the Linux/XFree86/GDI drivers written. I'm fairly sure it was mostly thanks to hackers who reverse engineered the Windows drivers.
My other first post is car post.
I've been in touch with tech support at the OEM for my Radeon 9000 Pro, Power Color. They are not happy with the situation and the pressure is on for ATI to get a fix out ASAP. Latest email estimated sometime next week for drivers that work on all of the OEM cards.
I also get the impression that this was not a conspiracy. The drivers use the INT10 support in the card's video BIOS. The OEM video BIOS's vary slightly from card to card depending on what features they implemented (2 DAC vs 1, etc). The driver needs to be adjusted for each of the various BIOS. That's why flashing the ATI BIOS works. ATI just made it work on their cards first and will be filling in support for OEM cards ASAP.
Nonsense. You must be using Debian, or some other distro from the stoneage. When installing Mandrake (and presumably RedHat and SuSE) you are presented with a list of X-servers compatible to your card (the card is autodetected) and simply allowed to pick which option you want.
For me, with my Matrox G550 these options included XFree-3.3.6 with or without hardware 3D-acceleration, and XFree-4.2.1 again with or without 3D-acceleration. (why anyone would explicitly select "without" I don't know)
This has been the state of affairs atleast since Mandrake 8.0 released a year and a half ago.
Here's a thread where people asked the same question on running 'powered by' cards and it contains a link that we found which seems to solve the problem. (Requires hex editing a file and the 'powered by' restriction is gone)
h re adid=33648944&perpage=20&pagenumber=4
http://www.rage3d.com/board/showthread.php?s=&t
I've got a OEM 9000 PRO from ATi and it refused to work initially:
/usr/X11R6/lib/modules/drivers/fglrx_drv.o
(--) fglrx(0): Chipset: "Radeon RV250 If" (Chipset = 0x4966)
(--) fglrx(0): (PciSubVendor = 0x148c, PciSubDevice = 0x2039)
(--) fglrx(0): board vendor info: third party grafics adapter - NOT original ATI
(--) fglrx(0): Linear framebuffer (phys) at 0xd8000000
(--) fglrx(0): MMIO registers at 0xe9000000
(--) fglrx(0): ChipRevID = 0x00
(--) fglrx(0): VideoRAM: 131072 kByte (64-bit DDR SDRAM)
(EE) fglrx(0): board/chipset is not supported by this driver (third party board)
I quickly came to the conclusion that the ATi drivers don't like non-ATi cards. I did a bit of searching and I found a solution - I did not find this myself!
Install and configure the drivers as per normal. Also, I suggest you download "hexedit" from freshmeat.net as you'll need it. You'll then need to hexedit this file:
To let it accept non-ATi boards, hexedit the file at offset 0x626e and alter "74 44" to "90 90" and save changes and away you go. Since making this change only, my 9000 PRO now works fine under RH 8.
This means no Vesa drivers! It means no more 60Hz screen refreshes! It means for GL acceleration. Run "glxinfo" for some information on the status of OpenGL and maybe "glx_gears" to actually test it. It should run very quickly.
Enjoy!
I got a boxed ati radeon 8500, and the drivers don't work anyway for me. The DRI module won't load into the kernel, nor will it recompile.
The xfree86 firegl side drivers leave the console looking like it went through a potato masher.
It's really sad that I bought an ATI card specifically because I knew ATI had open source drivers for their Radeon cards. Well, I waited over a year for drivers for the 8500 that don't work...
Wow, what loyalty to the linux community.
Closed source drivers maybe just PR, but at least nVidia has a reason why their closed source (The SGI contract or whatever). AFAIK (and corect me if I'm wrong) ATI has no real reason for closed source drivers.