Between Here and There

It's only fair to preface this section with a warning that when AMD announced this effort earlier this month, we are and continue to be skeptical about their actual intentions and how serious they are about all of this. "Open source" has been and continues to be a buzz word that gets used by companies wanting to attract attention to themselves, and we're not going to throw out the possibility that this is AMD abusing the term to their own benefit. We've already noted that AMD has previously suffered from a poor reputation in the open source community due to their poor drivers, and this announcement has already done a lot to turn that around. As we've stated before, this isn't something that is in the computer hardware play book, so we can't help but wonder if what AMD has promised may be too good to be true.

With that said, our skepticism has tempered some in the past few weeks as AMD has taken the first few steps needed to make these drivers a reality, and at a pace faster than we were expecting. There are a few "moments of truth" to come that we are left wondering if AMD will pass, but they have proven to us that they are serious so far. This article is proof of that, we initially were not going to write an article about AMD's effort believing it to be PR fluff.

There are several steps in making the modern, functional driver that AMD wants to achieve, and broken down they are roughly as follows: Initialization, primitive 2D, accelerated 2D, primitive 3D, and finally full 3D functionality. Because this driver is being developed externally, for each step AMD needs to deliver hardware specifications for all the products they want supported by the drivers, so that the programmers working on the driver can use the specifications to make their driver work. As we get in to the later steps, the driver & specification complexity increases, along with the number of secrets that must be revealed.

So far AMD has released two specification documents, one covering the RV630 (HD2600 series) and the other covering the M56 (Mobility X1600). To give you an idea of the complexity of these specifications, they only cover the first two steps, initialization and primitive 2D, and yet they add up to just shy of 900 pages. Amazingly, these are (as far as we know) AMD's own internal documents and not new documents created/censored for public use, which is one of the factors that have convinced us about how serious AMD is about their efforts.

In spite of the length of the documents however, they are really only the tip of the iceberg. With these documents programmers can create a driver that turns the video card on and can draw a basic 2D image via directly manipulating the frame buffer (and indeed Novell's driver is already close to achieving all of this so soon), but that's it. These specifications are not enough to enable advanced 2D functionality such as blitting, blending, or video decode acceleration. They are also not enough to do any 3D rendering.

The fact of the matter is that the specifications released so far do not involve anything that is a trade secret or otherwise needs to be kept hidden; what AMD has released thus far is what will be the easiest to release. What lies between here and a fully functional driver as a result will be the hard things that AMD needs to do, and hence our continuing skepticism in spite of what they have already done.

Releasing the rest of the specs required to build a fully functional driver will expose information that isn't usually public, such as details of the Ringbus memory controller, the UVD video decoder, the programmable anti-aliasing processor, latencies, texture compression, and basically everything else needed to identify the strengths and weaknesses of their chips along with some idea of how AMD goes about implementing all of the major features in those chips. Even though the specifications to their chips won't be anywhere near enough to duplicate the chips, it is a start for anyone that needed some "inspiration." The GPU development cycle is still short enough that it's plausible that someone could steal AMD's technology and implement it before it is outdated; where someone doesn't have to be only NVIDIA.

In other words, AMD is taking an unprecedented risk for a graphics company by doing this; the only groups doing anything similar are either doing it for underpowered/insignificant GPUs (Intel, S3, Matrox) or release a 2D-only driver (NVIDIA).

With that said there are a couple of issues we're wondering how far they're really willing to go, and if they can find the kinds of programmers they need to complete the driver, who don't already work for AMD. It's not a big secret that GPUs are pretty worthless without a driver, as a decent amount of the work that needs to occur to render something is actually done at the driver level. Consequently AMD has invested a lot of money over the years in to researching technologies such as anti-aliasing filters and just-in-time compiling for shader programs, none of which it appears they'll be able to contribute to their open source driver. We're generally concerned that even among the brilliant minds in the open source community, there may not be the knowledge and experience to replicate these driver features, or replicate them to the extent where they can perform as well as AMD's own drivers, defeating some of the usefulness of these open source drivers. As the development of these drivers will take years, it's going to be equally long until we know whether these concerns are valid or not.

On a lighter note, we're curious to see what if any errata documentation AMD will release. Design errors are to be expected in something as complex as a GPU, and on the CPU side both Intel and AMD make their processor errata public knowledge so that it can be worked around by software. At the same time processor errata is extremely minor since it is caught and corrected before mass production, with the last major flaw escaping in to production was the Pentium FDIV bug over a decade ago. AMD and NVIDIA do not adhere to that same strict level of quality control with their GPUs however, and in the past few years we have seen things such as broken video processors and anti-aliasing units make it in to the final silicon. To that extent AMD needs to release information on some errata so that the drivers can work at all, but will they release it all? We admit that we'd like to see just what is broken in their GPUs given the secretive nature of such defects.

Index Closing Thoughts
Comments Locked

34 Comments

View All Comments

  • JKflipflop98 - Wednesday, September 26, 2007 - link

    quote:

    Where did you get that crack? Where did you get that crack?
    Seriously, I want some.

    You can have 16x16x16 desktops on windows? - what's the name of that program on windows?

    You can have viruses on windows? -wait what's a virus? Complete n0o85 come and ask me for a virus scanner because ...blah.blah...blah... and I tell them it's called "GNU/linux"

    You can play files without drm breathing on you? what's the name of that on windows?

    On vista you play an mp3 and it throttles down your network connections - that's better than GNU.linux? I think !.

    Your comment started great until you didn't realize that corporations are bending you over and calling you their byotch.


    Why do you need 16x16x16 desktops? Thats just stupid.

    Linux has viruses too, ya know. It's not invincible.

    DRM doesn't breath. And it only activates when you play a HD-DVD/Blu-Ray disc.

    Vista doesn't throttle your network when listening to an MP3. You are stupid.

    I'd rather get bent over by someone with cash than some broke-ass hippie free-love antiestablishment commune.

    Sorry guys, Windows is just better. There's a reason they can't even give it away - it sucks.
  • dare2savefreedom - Wednesday, September 26, 2007 - link

    >> Why do you need 16x16x16 desktops? Thats just stupid.

    Some people drive pintos(u) and some people drive 4x4s with lift kits.

  • n0nsense - Wednesday, September 26, 2007 - link


    "Why do you need 16x16x16 desktops? Thats just stupid."
    Normally you don't need it, but if you DO need them, you CAN have them.
    after all it's about you freedom to choose.


    "Why do you need 16x16x16 desktops? Thats just stupid"
    Yes there is about 60 (yes only 60) viruses for Linux. and only ~60,000 for windows.
    and it's only viruses.

    "Vista doesn't throttle your network when listening to an MP3. You are stupid."
    But it does a lot of other things. Anyway, Vista hardware requirements is so low, that you have to buy new computer with double CPU power, double memory amount, hi-end graphics just to run Vista. NOT for your applications. And it's bad for me that beside my hi-end box, i (or other family members that don't need C2D @ 3.0GHz + 4GB of RAM and raid arrays for 2500$) can use 4-5 years old computer (or just a new ~300$ computer) and enjoy from better (more advanced, more beautiful, more user friendly) interfaces, better performance of applications, better stability etc.

    "Sorry guys, Windows is just better. There's a reason they can't even give it away - it sucks. "
    And this one just proves how stupid you are.
    Your Linux experience=0, but you shouting that it's bad, and windows much better.
    Windows (or any other MS product) is much better for MS and hardware makers. Each $ MS get from you, hardware makers get 18.
    Or, and by the way. Linux community is NOT much more educated/skilled in computer sciences, IT, programming and all other computer related things than Windows users.
    On the other hand, MS is good as competitor and concept and idea generator. Sometime they do think of something good, but generally brake it with poor implementation.
  • elpresidente2075 - Wednesday, September 26, 2007 - link

    I guess if you say it enough it becomes true, huh?

    I like both systems. Both have their good points. Windows has lots of easy to use softwares/hardwares. Linux is rock solid (if properly managed) and has lots and lots of little softwares for it. Windows offers a single platform to develop for, greatly reducing the dev time/resources for new programs, etc. Linux offers a very free environment that is not restrained to single packages or built-in system commands.

    Simply put:
    Windows is for those that use their computer,
    Linux is for those that use their computer.

    It's the difference between working with and working on one's computer.
  • n0nsense - Wednesday, September 26, 2007 - link


    "Why do you need 16x16x16 desktops? Thats just stupid."
    Normally you don't need it, but if you DO need them, you CAN have them.
    after all it's about you freedom to choose.


    "Why do you need 16x16x16 desktops? Thats just stupid"
    Yes there is about 60 (yes only 60) viruses for Linux. and only ~60,000 for windows.
    and it's only viruses.

    "Vista doesn't throttle your network when listening to an MP3. You are stupid."
    But it does a lot of other things. Anyway, Vista hardware requirements is so low, that you have to buy new computer with double CPU power, double memory amount, hi-end graphics just to run Vista. NOT for your applications. And it's bad for me that beside my hi-end box, i (or other family members that don't need C2D @ 3.0GHz + 4GB of RAM and raid arrays for 2500$) can use 4-5 years old computer (or just a new ~300$ computer) and enjoy from better (more advanced, more beautiful, more user friendly) interfaces, better performance of applications, better stability etc.

    "Sorry guys, Windows is just better. There's a reason they can't even give it away - it sucks. "
    And this one just proves how stupid you are.
    Your Linux experience=0, but you shouting that it's bad, and windows much better.
    Windows (or any other MS product) is much better for MS and hardware makers. Each $ MS get from you, hardware makers get 18.
    Or, and by the way. Linux community is NOT much more educated/skilled in computer sciences, IT, programming and all other computer related things than Windows users.
    On the other hand, MS is good as competitor and concept and idea generator. Sometime they do think of something good, but generally brake it with poor implementation.
  • strikeback03 - Tuesday, September 25, 2007 - link

    well, the lightweight distros use way less resources than any modern version of Windows, and it's free, both of which make it good for turning old computers into file servers.
  • smitty3268 - Tuesday, September 25, 2007 - link

    Except for playing video while moving something across the network, of course.
  • Griswold - Wednesday, September 26, 2007 - link

    Yea, he is an idiot and all, but your example is only valid if its an gigabit network - and only until MS' network team pulls their collective finger out of their asses and fixes the situation.
  • Dfere - Tuesday, September 25, 2007 - link

    Not being a techead... This seems to indicate either AMD does not consider it is losing much in secrecy or is gaining sdomething significant.

    I think this means either corporate espionage and reverse engineering mean there are not that many secrets between AMD and Nvidia, or AMD expects some significant benefit.

    If the latter- what is the benefit? The ability to learn from the Linux community? Future changes at the company? Possibly some benefit from open source and Fusion? Other avenues the company hopes to leverage from open source involvement?

    Knight advances and takes no pawn?..... hmmmmm.
  • stmok - Tuesday, September 25, 2007 - link

    AMD needs to quickly establish a developer community that will support future CPU/GPU implementations (ie: AMD's Fusion). Opensource is highly adaptable to new implementations when a hardware maker is generous about it. They did the same with AMD64. (The result was that Linux was way ahead of Windows in adopting AMD64).

    To provide most of the low level details to opensource community is a double bonus for AMD.

    (1) AMD will be seen as opensource friendly. (great PR).
    (2) Opensource folks will be more enthusiastic in going with AMD/ATI video card than a Nvidia one. (hardware sales)

    I guess everybody wins.

    As a side note, I doubt Nvidia will be doing the same thing. They are in a different position. (GPU maker, not CPU/GPU...So they have no reason to release specs).

Log in

Don't have an account? Sign up now