Slashdot Mirror


Modern Video Cards with Open Specs?

JessLeah asks: "I've been having trouble finding decent, 3D-accelerated drivers for video cards (of late-90s/early-2000s vintage) under Linux. I'd just get a newer card, but it seems like the situation for newer cards is even worse. The market at present seems to be little more than an nVidia/ATI duopoly, and neither nVidia nor ATI have open specifications available for their chipsets. As a result, both of them presently have binary-only, x86-only, Linux-only XFree86 drivers as their sole alternative to Windows. Are there any modern chipsets (with a reasonable cost) that actually have open specifications available online -- or, at a minimum, open-source drivers that can actually compile on things other than Linux/x86" What was the last video card with open specifications that you can remember?

21 of 63 comments (clear)

  1. nVidia is not exclusively Linux by cbiffle · · Score: 5, Informative

    I know it's still not what you're looking for, but nVidia's binary drivers are not exclusive to Linux. I use them with much success on FreeBSD.

    They're even in ports.

    Really, the problem is that they're IA64/IA32/AMD64 specific (they aren't just x86, they're available for those three archs).

  2. ATI Radeon series by molo · · Score: 4, Informative

    There are open drivers in XFree86 for the Radeon series of cards. The newer cards are 2D-only, and some older cards (Radeon 9200, 9000) have 3D support as well.

    The 3D accel isn't supposed to be nearly as fast as ATI's closed drivers, but its supposed to be functional.

    Details about specific cards and chipsets are on the XFree86 Radeon driver page

    Hope this helps.

    -molo

    --
    Using your sig line to advertise for friends is lame.
  3. I don't get it. by escher · · Score: 2, Insightful

    Why are the drivers closed in the first place? Won't they sell more cards if they're supported by a wider variety of software?

    1. Re:I don't get it. by schapman · · Score: 5, Interesting

      I think it has more to do with the IP involved in video card drivers. The hardware on newer vid cards is so similar that a lot of performance and image quality comes from the driver. If ATI and NVIDIA open sourced their drivers, it would make it very difficult for them to compete with each other. It would just come down to brand loyalty or pre-bundled stuff w/ pre-built pcs. One of the reasons ATI is competitive at this point with NVIDIA is that they have a higher image quality in their renderings than NVIDIA. The video card market is not just about hardware at this point, bad drivers will result in crappy sales as much as bad hardware. Look at the ATI of the past... before the 9700pro came out ATI was notorious for crappy drivers. They fixed them, brought out good hardware.. and have steadily gained on NVIDIA ever since. [/ramblin] Now that I'm done w/ that, I'm all in favour of open source software.. but for some things I'll gladly support binary only.

      --
      Wouldnt you like to be a pepper too?
    2. Re:I don't get it. by nathanh · · Score: 4, Insightful
      If ATI and NVIDIA open sourced their drivers, it would make it very difficult for them to compete with each other.

      They don't have to open source their drivers. They just have to release the register information so we can write our own drivers.

      Anybody who thinks the register information would give the competition an unfair advantage is nuts. We *know* what the cards do. You can work that out from the existing information. It's just the stupid numbers and bytecodes (of which they are umpty zillion to work out) that aren't known. There is no competitive disadvantage in releasing the numbers.

      And anybody who think there are patents and/or trade secrets associated with register information is even more nuts. ATI/nVidia simply don't care about Linux or open source. They care about selling cards. So long as they can convince 90% of Linux users that closed-source binary-only x86-only drivers are "good enough" they will continue to screw us like this.

    3. Re:I don't get it. by spaceyhackerlady · · Score: 2, Insightful
      Why are the drivers closed in the first place? Won't they sell more cards if they're supported by a wider variety of software?

      There are many reasons. General paranoia over possible trade secrets and concerns over support costs are the top of most lists I've seen. If you document it, you have to support it.

      If they support Windows they already support such a huge customer base that the incremental gain from supporting the tiny population of non-Windows users just isn't worth it.

      ...laura, who wishes this wasn't the case

    4. Re:I don't get it. by runderwo · · Score: 4, Insightful
      Patents are a big problem. Mike Harris has stated this numerous times on the DRI development list.

      The problem is that manufacturers like ATI or NVidia feel safer legally if they release no source code and do not publish specifications for their hardware. By not doing so, a nosy competitor can't possibly notice anything in NV's hardware design or their source code that infringes on a patent owned by the competitor. If such a nosy competitor did notice something, NV would end up in court over it at significant expense, and would probably have to end up cross-licensing their own patents just for a protection deal rather than for royalties.

      It's simply easier legally to keep the source closed and the specs secret. The bonus is that adopting such a policy doesn't hurt sales one bit, because consumers have shown with their wallets that they really just don't want things like driver source code or programming manuals. It's a win-win for the companies involved.

      Also, remember when Matrox and 3Dfx were all about open source and NV/ATI were the nasty closed source folks? All it takes is to do a "where are they now" to see what policy a conservative company would take. Nobody got rich open sourcing their drivers and publishing their specs, and at least two companies sank or nearly sank as a correlative effect (not necessarily caused by their openness). The strategic approach is to do whatever the companies that sank didn't do, so as a result NV and ATI are as closed as can be, with the exception of ATI providing some documentation under strict NDA.

      The only way to change this is to hit opencores.org and start hacking on your FPGAs. Open, extensible, capable video hardware would go a long way towards humbling the secretive industry players. Once it's designed and mockups are working, real ASIC hardware can be fabbed in quantity. The FPGA gate configuration can be made freely available with the caveat that anyone who manufactures hardware using it and distributes the hardware must pass along the "source code" for the hardware, in the form of the gate configuration as well as the host-visible registers. This wouldn't exactly fit under software licenses, but maybe some contract can be drawn up to handle it.

    5. Re:I don't get it. by aminorex · · Score: 2, Interesting
      That argument might hold water if it weren't for the
      fact that all the binary drivers from nVidia and ATI
      suck ass, while the open source 3d drivers written
      by the user community actually work, and don't crash
      your system.


      So, the end result is that instead of buying $450
      video cards, I buy $30 cards which actually work.
      I buy them for myself, for my employer, for my
      family members, and especially for my friends (who
      would otherwise frag me far too easily).

      --
      -I like my women like I like my tea: green-
  4. They may not open the code by redelm · · Score: 3, Interesting
    NVidia & ATI have large portions of their drivers closed because it's GPU code. No-one has compliers for it but them. They probably don't want to reveal their secrets, and may not even be able to if some of that code or algorithms have been received under secrecy agreement from others."

    1. Re:They may not open the code by ZorinLynx · · Score: 4, Interesting

      I remember back when you'd buy hardware, it would come with DETAILED technical specs, even schematics, describing how it works, how to program it, and what each part was. These days it's like "NO YOU CAN'T HAVE THE SPECS YOU MIGHT VIOLATE OUR COPYRIGHT/PATENT/INTELLECTUAL PROPERTY CRAP".. Why did companies GET like this? I mean, if anything it was easier to copy the technology BACK THEN!

      I still have the manual for my Epson LX-800 printer. In the back is a detailed programming guide, which explains exactly how to print different densities, how to control the firing of the pins, etc... All open, all available.

      I still have the reference manual for my Apple II plus. Inside is a complete schematic of the system, along with assembler code for the entire ROM.

      I really hate this new trend of "everything's a secret". Gahh, what a greedy, messed up world we live in.

      -Z

  5. Matrox by BRSloth · · Score: 5, Informative

    Think about an operation system. Any operating system. Now, the chances that this operating system has drivers for any Matrox cards is about 95%. There are only a few that are not supported.

    The big deal with Matrox is that they don't do tricks in their drivers. Everything is hardware accelerated (and that's why Matrox cards are so expensive).

    BTW, I still have a Matrox Millenium (about four years) laying in a Pentium II and still kicking ass.

  6. I've heard good things about Matrox cards. by Bombcar · · Score: 2, Interesting

    But they can be spendy. Matrox also makes some cool multi-head displays.

  7. Recommendation by afay · · Score: 4, Informative

    First of all, nvidia provides drivers for ia32, ia64, and amd64 on linux as well as ia32 on freebsd. So, they don't limit themselves to one arch/one os. (no ppc, but to be honest, i don't think there are that many linux/freebsd ppc users) ati only provides ia32 on linux.

    Now regarding a recommendation, if you only want drivers that have good 3d accel and are open source, your only option is to go with matrox. The only problem is that matrox cards are comparatively more expensive for the speed they provide. Instead, I would recommend getting an nvidia based card. Although nvidia's driver is binary only, it's quite good and simply looking at their readme, you can tell that they put a lot of time into it. I personally have used two different nvidia cards in linux for a number of years and have never run into any trouble.

    That said, whatever you do, don't get an ATI card. I stupidly bought a radeon 9700 and i've tried every single linux driver that they've released. I can't run any 3d program for more than about 5 minutes without the whole machine locking up. In windows, the card works perfectly. So, if don't want to deal with the hassle of ATI's half-hearted support for linux, don't get one of their cards.

    --
    Best slashdot comment
    1. Re:Recommendation by Bishop · · Score: 3, Informative

      The Matrox drivers for the newer parhelia based cards are closed source.

    2. Re:Recommendation by Danny+Rathjens · · Score: 2, Interesting

      nvidia's binary driver breaks my tv capture card(ati wonder) for some strange reason(geforce4200ti, tv works using nv). I can't investigate and solve the problem because I don't have the specs or source.
      I was going to buy Matrox for my upgrade on the premise that nvidia and ati's binary-only behaviour was annoying, but now I see that Matrox is joining the binary-only club too. :(

  8. Successful use and installation report by jbn-o · · Score: 3, Informative

    I use an ATI Radeon 9000 and I have yet to have problems or difficulties with the card. It was plug and play for Fedora Core 1 and 2 and this card performs well for the 3D games I occasionally play (bzflag, armagetron, neverball, and the miniature golf game based on neverball code the name of which I have forgotten because I don't have it installed yet).

    The Radeon 9000 AGP card is fairly inexpensive too ($30-$40).

  9. VESA-VBE by CyberVenom · · Score: 2, Informative

    There is an open standard. It is called VESA-VBE.
    During the wild days of post-VGA graphics cards, there were many manufacturers and no standard. At that time, VESA VBE was born and most hardware manufacturers tried to comply with it. Applications finally had a common interface to video hardware, and the future looked bright.
    Then came Windows 95, with its DirectX, and most graphically-intensive programs moved to this hot new "standard". (why is beyond me...) VESA VLB 2.0 arrived at about the same time, but fizzled and died because nobody cared anymore. Just make whatever hardware you want, and write a VXD for it, and it will work under Windows. So now the only "standards" we have are on an application level, not a hardware level. (OpenGL, DirectX, XFree86...)
    -CyberVenom

  10. Of course! by Brandybuck · · Score: 2, Informative

    ...open-source drivers that can actually compile on things other than Linux/x86?

    Sure. Last month I got tired of the crash-fest known as NVidia, and went out and bought a Radeon 9200. It's an older chipset, but you can still find it new on the shelves if you look around. It's like trying to find a 1.5GHz Pentium. They're still being made, but you can't find them at the mass market outlets.

    Anyway, my system is FreeBSD, so you don't have to worry about Linux-only. It's an Open Source 3D accelerated DRI kernel driver. It should build on non-x86 archs. It supports all radeons up to the 9200.

    A similar DRI driver for Linux is also available. As for Open Source drivers for Solaris or IRIX, I couldn't say. But I doubt it...

    --
    Don't blame me, I didn't vote for either of them!
  11. UGGGH!!! God no! by Ayanami+Rei · · Score: 2, Informative

    The way that worked was that you made real-mode BIOS calls to a ROM on the VGA card that implemented the function you want.

    No modern operating system worth it's salt would stoop to mapping the VGA ROM and emulating real-mode function calls to twiddle a few registers.
    It works in Linux (sort of) because all the heavy lifting is done in real mode before protected mode starts, which means you can't change any settings after initial boot. Useless.

    That was relevant for DOS, and that's about it.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  12. The ATI Radeon 9200 the best card for BSD/Linux by 0x0d0a · · Score: 3, Informative

    The point is that he's not interested in dealing with the problems associated with "video card vendor not caring about small platform". He's got people on the platform that can fix issues, given the source. They don't have it. He wants to know where to get a card that's supported with open source drivers.

    Here is the current state of affairs:

    NVidia provides only binary drivers. Their Linux drivers are supposed to be of comparable quality to their Windows drivers -- you just have to deal with the fact that the Linux world has zero tradition of binary kernel module compatibility. You will always be fighting an uphill battle to continue using these.

    ATI provides binary drivers for their cards. There are *also* 3d open source drivers in DRI, of which the Radeon 9200 is the newest well-supported card. The Radeon 9200 is currently the best choice for a 3d card for a Linux/BSD user. I have heard claims that the Linux drivers are slightly slower than the Windows drivers. Also, keep in mind that the 9200 is *not* the latest-and-greatest from ATI.

    Matrox (a) has fallen behind in 3d performance and (b) used to have *excellent* open source support for their cards in the G200 through G450 era. I bought both a G200 and a G450, and the support at the time was better than for any other manufacturers. John Carmack was involved with some of their driver work (John, if you read this, you work was much appreciated). Their Parhelia line has binary-only drivers, supports only Red Hat, and seriously lags kernel releases.

    The bottom line is that if you want to get a 3d card for Linux use, the Radeon 9200 with DRI drivers is the way to go. It's not the fastest card ATI makes, but it can currently run all existing 3d software for Linux without speed problems -- Linux may lag Windows in open source 3d support, but also in games, and NWN and Tribes 2 easily run smoothly on the card.