If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Reading Alex's blog leaves the impression they are reverse engineering much of the 6XX/7XX code they've written, rather than implementing an engineering standard inherited from documentation provided by ATI which was the impression given to date.

It's not really reverse engineering. We have the hardware specs. You read them and think "the hw works like this." You try it, doesn't work. You read some code look at some command dumps, then you say "Oh! I see, it actually works like that!" and then it works. It's not that the documentation is wrong generally, it more that there are little quirks to understand and often times the descriptions on the documentation are easily mis-interpreted.

Comment

I'd like to thank you, guys, for the good work you've done over R500 and below. I was impressed, after installing fresh Kubuntu 8.10, and seeing Desktop Effects ON at the very first run. I still can't dare to install fglrx 8.11 (though, the responses are good), cause I really haven't got any real need to replace radeon, by this moment. ;-)

Comment

Worst case is that we lose the ability to sell our products into the Windows market as a result of releasing info which results in our DRM implementation no longer being considered sufficiently robust.
(...)
Each time we release information we simply raise the bar for where reverse engineering starts, and it's the combination of released plus "likely to be reverse-engineered" info that we need to consider.

May I make a few suggestions for future products?

Make the cards boot in a DRM-less mode. That means that in a regular Linux boot, you can poke around at the registers but none of the DRM-related registers will actually do anything. Or decoy results if you think that's better. To activate the DRM-functions, use some binary magic in the closed source drivers. That should put a major reverse engineering effort that no open source hacker has interest in doing before you can even begin to poke at the interesting bits.

In addition, make a registry scrambler so that the closed-source DRM-enabled mode all use different addresses than the open mode. I imagine this can be implemented at essentially no cost or performance in hardware. Then you'll simply use a list of defines like:

On top of that, you could maybe try having a shared secret key between the DRM mode and your driver to encrypt (or at least obscure, if it's too much of a hit) the communication between the closed source driver and the hardware. That's another bit they'd have to figure out that again wouldn't impact open source functionality at all.

I'm not really sure how strong this protection is if you can run the exact same code on both platforms and compare calls, but it'd at least be a good attempt at security by obscurity (that's what DRM is anyway) that wouldn't make the documentation directly applicable to the closed source version at least. And that's the one they'd have to work with to try touching the DRM.

Comment

Understood... the issue is that we are one year into the project but the GPU design pipeline is more like 3-4 years long. Business realities make it unlikely that we will be able to redo anything in the pipe which has already been designed. The future will always be better, but the challenge is getting support into users hands today ;(

Comment

Understood... the issue is that we are one year into the project but the GPU design pipeline is more like 3-4 years long. Business realities make it unlikely that we will be able to redo anything in the pipe which has already been designed. The future will always be better, but the challenge is getting support into users hands today ;(

its not real criticism
i think most of us will agree when i say, that ATIs gpus are pretty darn good
its just that, the more you get the more you want
and now we see the 3d drivers comming and start to fantasize what could be done after that!
me for example cant wait to have a gallium3d radeon driver with dri2 opencl and acceleration for a whole bunch of thinks ^^
just havening a really smooth and eyepleasing experience and of course playing some games at moderate speed...
but hey thats still in the future and im happy to have open source support for me hd3200 so:
thanks for the great work and keep going!

btw:
do you know if you/they will have the documentation for the next series of aticards ready soon after to their release?

Comment

The future will always be better, but the challenge is getting support into users hands today ;(

I know those weren't suggestions that would be in silicon next month, but I'm concerned about the long term too. With regards to DRM the future is always worse, not better and as super-broadband is more widely deployed they'll probably be even more paranoid. Sooner rather than later they'll roll out HDCP2, next-gen Protected Audio/Video Path, Trusted Execution and Trusted Computing with signing for here to hell and back with even nastier licensing agreements than now.

At that point, it would be really good if the lawyers could all easily agree that well our open-source support is no problem at all and has very little do to with the hoops they have to jump through in order to be DRM compliant. So if changes need to get into the specs now in order to reach production in 2011-2012, then try being so preemptive as possible rather than dropping support again for 3-4 years when you end up needing them.

I certainly hope we'll have initial support much sooner than that, but you probably know better than anyone the difficulties involved. Don't take this the wrong way, but I'm not convinced AMD will always stay as committed to open source as they are today. Anything that will cut down on the legal review time and associated cost in the future will help ensure that we'll continue to have open drivers. We completely agree that getting the support out there today is important, I just hope you get some time between the paces to think of the long term too.

Comment

It's not that windows users care (most of them doesn't care at all). It is this: If Ati releases any information that could help somebody break HDCP (or at least media companies come to think that), they revoke Ati's HDCP key. That means no Ati GPU can be used to watch "protected content" in windows, which means those windows users (who don't care) simply won't buy Ati hardware because of that.

The interesting thing here is that the backlash would probably do more damage to MS than AMD...

Though both companies would feel some serious pain, and Apple would clean up the market.

"What do you mean my ?500 graphics card is a doorstop because some twerp broke the HDTV encryption? I'm talking to my lawyer!"

Comment

The interesting thing here is that the backlash would probably do more damage to MS than AMD...

Though both companies would feel some serious pain, and Apple would clean up the market.

"What do you mean my ?500 graphics card is a doorstop because some twerp broke the HDTV encryption? I'm talking to my lawyer!"

Well if it's designed in a way that it can be emulated just in case you know specs, then the whole scheme is flawed (i.e. security by obscurity way of doing content protection). Even if this is not the case, MS still probably persuaded Nvidia and ATI to sign a paper to keep their designs secret (which was not hard to achieve because at that time both Nvidia and ATI kept everything secret). Also it's complex hardware so there is a good chance someone will find a security hole if he has specifications to tinker around. I' sure that AMD will not dare to violate the deal.

Also I speculate that this is not only about PVP, there could be other (patented/licensed) IP involved, so companies which sold licenses for it don't want it to become part of FOSS implementations (e.g. DXTC stuff).

So, it's a risky situation for AMD (and I suppose that Nvidia wouldn't be in better position), but it seems enough information needed for 3D driver will be aproved while not causing legal harm and increasing risk of hacking cards (although someone might as well use existing radeon RE tools to find out missing parts).

Comment

Yeah, I think we can make this succeed -- it's just a lot of work cutting carefully around the information we need for a general purpose driver and staying safely away from the dangerous stuff.

The open source graphics project is based on the premise that if decent open source drivers are available (2d, 3d, video render accel) then developers are not likely to invest a lot of time and effort reverse-engineering and publishing the remaining IP. If things don't work out that way, ie if there is significant reverse engineering done in the areas where we do not publish specs, then we would probably have to either stop giving out specs for future GPUs or cut the degree of support we provide down significantly.

I don't think we will have that problem, however -- there are enough *other* big challenges in the X world than just reverse-engineering our secret video bits