Open-Source 2D, 3D Drivers For ATI Radeon HD 5000 Series 245
An anonymous reader writes "AMD has now rolled out open-source 2D and 3D drivers for their ATI Radeon HD 5000 series graphics processors. As described at length over at Phoronix, it's taken nearly a year to complete but there is now public code released that enables 2D, 3D, and video hardware-acceleration for this latest generation of ATI GPUs. For now this code is intended for developers and enthusiasts but with time it will make its way into stable Linux distribution updates. AMD's open-source developers are also beginning to work on ATI Radeon HD 6000 series support, which is hardware not to be released until late in the year."
I would have had the first post... (Score:5, Funny)
I would have had the first post, but I was waiting for my browser window to scroll.
Re: (Score:2, Funny)
Javascript injection (Score:2)
Who upstream is doing it?
nVidia (Score:3, Interesting)
Re: (Score:3, Interesting)
That's why I got an ati card for my ubuntu 10.04 64 bit. I didn't see any other choice!
Re:nVidia (Score:5, Insightful)
The binary driver they produce which you cannot fix if it breaks, and neither can your distro maintainers... you are at the absolute mercy of nvidia for bugfixes...
The binary driver that only supports x86/amd64 (so no putting your card in a small arm based media player for instance)
The binary driver that only works with certain versions of X (ie you can't upgrade until nvidia let you)
The binary driver that only works with certain kernel versions (ie you can't upgrade until nvidia let you)
The binary driver that will sooner or later drop support for your card, leaving you tied to an old X and kernel version.
I'd rather not have a binary driver... You are far too dependent on a single entity, who would rather sell you a new card even if the old one is still perfectly adequate for your needs.
Re: (Score:2, Insightful)
Let's be honest - if I find a bug in some Linux software, it won't get fixed. I won't fix it, and I've tried reporting bugs in the past and they don't get fixed either.
This card "just works" - it provides great performance for QuakeLive which is just about all I play, and I on my quad core 64bit Unbuntu distro the deskstop is hardly sluggish either. Yes, I'd prefer it if all the source were available, but it's not. If I had any problems I could try using one of the open source driver projects, but I don'
Re: (Score:2, Redundant)
Re: (Score:3, Informative)
I guess my next video card will be an ATI card...
Re:nVidia (Score:4, Insightful)
Why? Unless the resulting drivers are actually better which remains to be seen, just the fact that they are open source is meaningless.
Now if someone can fix ATIs shitty OpenGL support, then I'd be all over it. But for right now this makes no difference.
Re: (Score:3, Informative)
The fact that they're open source means they'll soon be able to support kernel mode setting, and integrate better into Linux distributions than Nvidia's proprietary stuff.
Re: (Score:2)
The fact that they're open source means they'll soon be able to support kernel mode setting, and integrate better into Linux distributions than Nvidia's proprietary stuff.
It's all good, but most people buying these kinds of cards want to run 3D-heavy apps (read: games), so the ability to do that fast and stable is still the primary measure of drivers' usefulness.
If you just want desktop graphics to work, any Intel chip will do wonders in Linux today - very cheap, and no need to wait.
Re: (Score:3, Interesting)
Re: (Score:3, Informative)
Here is your benefit (Score:4, Insightful)
I don't care if something is open source or not unless that gives me a benefit.
The benefit is: If it crashes, you can do something about it.
You have the source. You can compile it yourself. If it doesn't work the way you'd like, you can change it.
With open source, you have many eyes looking at the code. If there is a subtle bug it will more easily be found by 10,000 people looking at it rather than 10 or 20.
That's your benefit right there.
Re: (Score:3, Insightful)
Re: (Score:3, Interesting)
mode="Devil's advocate'. And I say this as the owner of a HD5850...
The driver will be longer supported then AMD or Nvidia ever would do;
Can be. Will be implies that there are people that would, but there's no abundance of volunteers.
KMS is nice to have;
nVidia's drivers don't use KMS, and are very well featured. Why would a closed driver need KMS?
3D effects like Compiz or Kwin should run better because they can fix any bugs in the driver faster;
Assuming those projects will bother to fix drivers and not just say "fix your driver, it works with software rendering".
someone can port the driver to *BSD or Heiku or BeOS or some other system;
We could also have OpenGL 3/4 support by now. But we don't, not even in mesa... Still, I suppose in theory it's nice.
you don't need to install the driver again and again only because of an kernel update;
With DKMS this d
Re:Here is your benefit (Score:5, Insightful)
Sure, but the glacial pace at which Gallium3D and its drivers advance is a testimony to how hard it must be to write a graphics driver. If it was a job for your average programmer, the guys working on this stuff would have given us functional drivers two years ago. At this pace you'll be able to enjoy stable and fast R700 hardware support another 3 years from now.
In the future, when those drivers are done, they will surely be benefits to them being open source. But the only actual benefit now would be if some ingenious hacker got involved, committed and wrote the drivers in a couple months. Currently the development model isn't working very efficiently, because R600 docs were released over 2 years ago and we're only beginning to see functional drivers.
Open source works better when the barrier to involvement is lower, OpenGL infrastructure is more complex than most kernel drivers. It requires:
* knowing the OpenGL API intimately
* a firm grasp of 3D math and rasterization process
* an idea how to manage non-uniform memory and do low level hardware access in a thread-safe way
* a fair bit of compiler design for compiling shaders to GPU instructions
* all of the above done in C, because we still haven't developed a better language for low level work (see this paper [usenix.org] for things a driver design language could have)
Re: (Score:3, Informative)
At this pace you'll be able to enjoy stable and fast R700 hardware support another 3 years from now.
When you say "three years from now," I think you mean "now." The machine I'm posting this from has stable and fast 3D support for its R700-based card from the open source drivers right now.
Re: (Score:3, Informative)
But from what we are seeing now AMD have made steady gains and have reached a point where they are releasing an OSS *driver* (albeit an immature one) for their latest GPU series less than a year after the hardware w
Re: (Score:2, Interesting)
Sure. And how often have you re-written and recompiled an open source graphics driver? In fact, how often have you even bothered to look at the source?
For the vast majority of users, a driver that just works is preferable to a an open-source mess of a driver that has awful performance
Re:nVidia (Score:4, Funny)
Why? Unless the resulting drivers are actually better which remains to be seen, just the fact that they are open source is meaningless.
Now if someone can fix ATIs shitty OpenGL support, then I'd be all over it. But for right now this makes no difference.
They have phenomenal OpenGL support, just not for Linux.
Re:nVidia (Score:5, Informative)
Says someone who's never had to try and update the latest version that supported his card by hand to make it compatible with the latest kernel. Linux doesn't have a stable driver/module interface, and that makes closed-source drivers an absolute pain.
Re: (Score:3, Insightful)
Until this can match the performance of the NVIDIA VDPAU I'm not interested. I need performance and functionality. So far ATI hasn't delivered that and while this is a step forward it's a bit late in the game. Wake me when they do something like the ION chipset that NVIDIA has done so I can have high performance video decoding and rendering on a low power CPU. If they had done this say two years ago or had better performing closed source drivers I might have chosen to use their stuff. They are way late to t
Re:nVidia (Score:4, Informative)
Traditionally, nVidia had high-quality but closed drivers for Linux, while ATI had a low-quality but open ones (they also had a closed one, but it was pretty bad too). The main change seems to be that ATI's released a lot more specs lately, and has devoted more attention to producing non-crappy Linux drivers.
Excellent (Score:2)
Kudos to them for finally taking this step. I have no doubt that with at least this start point, these drivers should achieve feature parity with the closed source Nvidia drivers before too long. Truthfully right now if they can just get a good VDPAU implementation I'll be happy. Aside from that the only use for my card on Linux is Compiz. With the rumours of Steam coming to Linux eventually though, it could definitely get interesting.
Re: (Score:2)
``Kudos to them for finally taking this step. I have no doubt that with at least this start point, these drivers should achieve feature parity with the closed source Nvidia drivers before too long.''
I wouldn't hold my breath. R600 and R700 documentation has been out for quite a while now, and the open-source driver has been under development for years, but it's definitely not on par with the Nvidia closed-source driver. The R300 driver is, as far as I know, one of the best open-source drivers ever developed
Re:Excellent (Score:4, Interesting)
Good luck getting VDPAU in the open source drivers.
Apparently, releasing the specs required to support the hardware video decoding in the ATI chips would compromise Windows based DRM (i.e. where the app decrypts the video file and sends decrypted but compressed video data to the video card, the specs for the video decode part would let you build a program to intercept the compressed video data before it gets sent to the card)
Re: (Score:3, Insightful)
Unfortunately, those specific bits are only part of the impact that DRM has. They also have to protect all the underlying systems too, like memory management. They can't release an implementation that would easily let people find:
1. Allocating memory for compressed frame
2. [magic loading frame]
3. Allocating memory for uncompressed frame
4. [magic decoding frame]
If they did, people could easily grab those from GPU memory. Also, part is not handled by UVD hardware but rather by shaders, so while we have the in
Doesn't help with all the older cards. (Score:4, Interesting)
After years of being a die-hard Nvidia-on-Linux user, I took a risk and went with a laptop that had integrated ATI graphics when I made my most recent upgrade.
Nothing but instability, incompatibility, artifacting, underperformance, a mess. I regret it. I finally got an IBM Advanced Mini-Dock and put an Nvidia PCI-Express 8600GT in it (needed something low power enough to draw from the slot alone, small enough to fit in the tiny mini-dock space).
Installed the Nvidia drivers and away I went, stable and fast.
Meanwhile, on Windows nobody (neither IBM nor Lenovo nor ATI) have managed to release updated, much less Windows 7-compatible, drivers for the integrated ATI graphics in my Thinkpad. The machine is only two years old but it's all EOL as far as ATI is concerned.
This is a good move by ATI, I suppose, but it's woefully late, and it doesn't do anything about existing hardware on any platform. ATI's hardware might be okay, I have no idea, but their driver support on every platform sucks ass.
Re:Doesn't help with all the older cards. (Score:5, Informative)
Uhm. ATI has OpenSource drivers for _all_ hardware starting from r100 for Linux. And all their drivers support KMS.
Re: (Score:3, Informative)
I don't think that's what 'older' means. It may be hard to believe, but there are still systems out there with video chipsets older than the r100, and support for some of them can be a little shaky.
Re: (Score:3, Insightful)
I have no qualms with the second half of your statement, but there's no denying that the R100 is old. Really old in computing terms. Just because there exist EVEN OLDER chipsets still in use doesn't negate that fact. It'd be like saying that a 486 isn't slow because you can find a 286 still in use. It might be slowER, but the 486 is still slow too.
Re: (Score:2)
r100 is pretty old. I have an r200, and it's been sitting in an antistatic bag unused for several years because I don't have any use for it (although last time I did use it, it was well supported under FreeBSD by the DRI drivers). R100 was the first generation of the Radeon brand - the first ATi chips to include transform and lighting. I also own a card from the previous generation, the Rage 128. This only accelerated texturing and mine got about the same performance as my VooDoo 2. On a relatively rec
And they suck. (Score:3, Interesting)
This is on Fedoras 11, 12, and 13 with a Mobility X1400. I've tried both radeon and radeonhd. I tried dozens of options and no options.
Crashes. Freezes. Panics. Unpredictable behavior (woah, garbage screen, hit CTRL-ALT-BKSP to restart server, hey, now it works, but two hours later, woah, garbage again!).
I gave up on the 3D support but even had trouble and unpredictable behavior with the 2D support, especially with Xrandr and dual monitors.
Thought for a moment that it might be worth it to try the closed-sou
Correction needed? (Score:3, Informative)
Isn't there something wrong with this paragraph?
"Seriously, before simply docking the laptop and running Nvidia, I was crawling through bugzilla applying patches to the source RPM for the Xorg nvidia driver to fix things as basic as icon corruption."
Did you mean "Xorg ATI driver"? Otherwise, I got lost somewhere.
Yes, sorry. (Score:2)
Xorg ATI driver. Oops.
Re: (Score:2)
Oh great - as I was reading this I was recalling that the ONE machine I have with ATI is my primary laptop. It's a bit long in the tooth being all of about 2-3 years old I think. It currently runs XP Pro and I've pondered Ubuntu on it. I read a bit further along and gee - it's the same T60 model YOU currently have. I guess that answers that question - and here I thought it was just the audio I'd have issues with
Re: (Score:2)
File bugs.
I have several r300 and r500 systems. All work perfectly fine, with KMS and Compiz.
Maybe, you have a hardware problem.
Re: (Score:2)
It's not a hardware problem. We have lots of T60s at work and they all the same problem in Ubuntu 10.04. The open source driver support for the 1400 is not good. I have to disable most of Compiz to avoid glitches. ATI's closed source driver worked a little better in some ways but they dropped support for those chipsets and the old drivers don't work on current kernels.
Re: (Score:2, Informative)
I also had an integrated radeon (don't remember which, but still more powerful than the laptop) in my desktop which always froze up under Linux. I blamed buggy drivers as you did,
Re: (Score:2)
Re: (Score:3, Insightful)
Did the problems you experienced with ATI cards on Linux occur with the Open Source driver, or did you (oh-so-mistakenly) believe "propietary = better" and tried the steaming pile of trash that's the Closed Source ones?
Re: (Score:2)
The closed source drivers haven't supported the X1400 in a while. The old versions that do don't run on any recent distros because of kernel incompatibilities.
Re: (Score:3, Informative)
In my household, we have 3 Thinkpads with ATI graphics, all now running Ubuntu 10.04 and have not seen any of the issues you describe. At work, we also have Thinkpads with ATI graphics running Ubuntu 10.04 and have not seen these issues. I have been running a desktop with nVidia chipset and ATI graphics under Gentoo Linux and it is rock solid.
Perhaps you got some bad hardware?
T60 2007-GBU (Score:3, Informative)
The ATI X1400 works fine in Windows (can even game for hours some weekends without trouble), though the driver support files had to be edited to make the driver installable, given that ATI no longer supports the chipset, so no Windows 7 drivers.
That's 2D + 3D, rock solid.
In Linux, even in 2D (no 3D) with KMS disabled on an unpatched radeon driver (both in F12 and F13), I get icon corruption, cursor corruption and tearing, and risky Xrandr operations. All gets much, much worse if you start to try to use exte
Any news on if the audio is supported? (Score:4, Informative)
That's Realtek (Score:4, Informative)
They just include a Realtek soundchip on board that handles the HDMI audio. So you'd have to look to Realtek for OSS drivers as ATi themselves doesn't control the code.
Re:That's Realtek (Score:5, Informative)
I don't have an HDMI audio sink (feel free to send me one, BTW!) but HDMI audio should work on just about every Radeon that has it. The driver exposes the I2C controls for the audio to the rest of the kernel, and then the pre-existing ALSA code handles the rest.
ATI & Linux: Confusing as always (Score:4, Insightful)
These days, I pretty much only buy motherboards with intel graphics, simply because I don't want to have to deal with the hassle of installing NVidia's closed drivers, and for the life of me I can't figure out what I am supposed to do with an ATI card. There seems to be half a dozen open source driver projects always on the go, with no clear indication of what cards work and what cards don't. Add to that the constant complaints I see over their own closed source drivers, and that's another brand I simply won't consider. Someone tell me I'm wrong and point me to something that can clarify the situation.
Re: (Score:2, Informative)
My last NVIDIA card was a 6800 (not exactly new). Up through this card, NVIDIA's Linux support has been rock solid. I'm always confused when people complain about the lack of open source drivers when the proprietary drivers are so good.
Also the install isn't hard:
Download the installer and run it.
On gentoo (great mythtv support): emerge nvidia-drivers.
Re: (Score:3, Informative)
Here:
apt-get install xserver-xorg-video-radeon firmware-linux-nonfree
I recently upgraded my ancient Athlon XP desktop system with an AMD 785G-based motherboard and an Athlon II x2 250 processor. The on-board RS880 (HD 4200 equivalent) graphics works pretty well (I don't need much). It took me a little hunting to figure out which X.org driver to use (the "radeonhd" driver is older and now unmaintained). It was also sluggish
Now for your part (Score:5, Insightful)
Go out and buy some. And then help to make the driver rock-solid, if you're capable.
We've got to reward the companies that do this.
Bruce
Re: (Score:2)
As long as they have a competitive card for the money, I'll buy from them if it fits my needs. It's nice knowing that in about a year we'll have a solid Linux experience if you're using ATI.
Re: (Score:2)
Go out and buy some. And then help to make the driver rock-solid, if you're capable.
We've got to reward the companies that do this.
Bruce
That seems like a fair enough strategy and I won't debate that. I have to stick with the closed source nVidia drivers though because I think that they currently offer a better experience on Linux and I don't have the time to mess with the source code of ATI drivers at this point in my life. I'm in favour of "rewarding" ATI for this, it's just that I can't :(
Re:Now for your part (Score:4, Interesting)
But how does ATI know that you bought an ATI card because of the open-source drivers?
Perhaps an alternative (and cheaper approach) is to go and download the drivers from ATI's website while using a browser that sends a user agent that is clearly identifiable as a Linux system.
Re: (Score:2, Insightful)
But how does ATI know that you bought an ATI card because of the open-source drivers?
Because of the email I will send them telling them why. The same way banks I chose not to use for this reason heard about it that way when most bank websites still couldn't be accessed from linux.
Re: (Score:2)
I try buy hardware that works. In the case of video cards on non-Xen kernels, Nvidia always works. Sure, there is the annoying issue of having to recompile the modules when updating the kernel, but they otherwise work perfectly on video cards I have in various machines dating all the way back to 1998, and brand-new models (quadro on my notebook and in some appliance PCs, GTxxx cards, etc.) and everything in between.
ATI sunsets drivers a lot quicker than nVidia.
I try to go open source where and when possible
Re: (Score:3, Interesting)
I'm in favor of this, so let's give AMD some proper recognition. I deal a lot with AMD servers and bladeservers as well as the Intel ones. The memory architecture of recent AMD servers is four channels rather than Intel's three. This allows for configurations of memory that are in the more familiar powers of two, as well as providing 1/3 more memory bandwidth. In some cases the AMD servers offer more net memory. In addition it allows more special things, like 256GB on a two processor server, which Inte
Re: (Score:2, Funny)
Next time a company screws you, please let us know. I want to know when to laugh.
Re:No thanks (Score:5, Insightful)
You're reading far too much into Bruce's statement.
If buying ATI cards because of their improved performance encourages ATI to make a greater investment in open source drivers, which in turn further improves features and performance, how is this is any way NOT pragmatic?
There may be such a thing as open source zealotry, but, when they choose it, the vast majority of people choose FOSS because it's better than the alternatives.
Lastly, accusing Bruce Perens, of all people, of zealotry is not a great way to impress us with your perspicacity.
How deep is your vision? (Score:5, Insightful)
Thanks for the kind words. What I find in general is that those who feel this is simply a matter of doctrinal rigidity are only interested in solving today's problem, without much vision toward what their lot might be tomorrow. Working to improve your own future is hardly zealotry.
Obviously it makes sense to decrease the degree to which we must be supplicants of a hardware vendor. That's even more true when the hardware vendor is in an essentially unchallenged duopoly. A vendor is working in our interest when they help us to free ourselves from the need to go to them to fix bugs, add functionality, and support our devices through software and hardware changes. When a vendor doesn't do this, we live constantly under the threat of withdrawl of support.
Rewarding vendors who do less will make it more certain that we'll get less in the future.
This all sounds eminently pragmatic to me.
nVidia may die? (Score:3, Informative)
What SemiAccurate article indicates that nVidia may die? This one?
Nvidia's Fermi GTX480 is broken and unfixable -- Hot, slow, late and unmanufacturable [semiaccurate.com].
Quote: "Nvidia on the other hand did not do their homework at all. In its usual 'bull in a china shop' way, SemiAccurate was told several times that the officially blessed Nvidia solution to the problem was engineering by screaming at people. Needless to say, while cathartic, it does not change chip design or the laws of phys
Re:No thanks (Score:5, Insightful)
Working vendor supported FOSS drivers are useful as the abilities to repair, improve, share and modify the drivers are all of considerable utility to the graphics card using community (even if not to one particular person in it). I do agree that the drivers should be at least servicable before anyone should buy a product. But servicable is all they need to be to be useful now.
--sabre86
Video card recommendations? (Score:2)
Can anyone recommend a new-ish video card (released last 3-5 years) that works well with open source 2D and 3D drivers? I'm looking to upgrade, but not sure what is out there that works well. It doesn't have to be super-fast 3D for the latest games, just something that will run google earth and quake would be cool. For 2D, it would be cool if it could do 1080p video scaling well.
Thanks for any info you can offer.
-molo
Re:Video card recommendations? (Score:4, Informative)
Re: (Score:2)
Those are too overpowered and expensive for what he needs. Any Intel chip should be able to run Google Earth and Quake 3 and do 1080p video. And if he wanted a card instead, both AMD and nVidia have a lot cheaper cards than those that would work very well.
Re: (Score:3, Informative)
This reply post contains many errors and is not at all informative. The grandparent asked for video cards that work well with open source 2D/3D drivers, the ATI card he cites only has experimental support only, and will probably not be functionnal for a while, and those 2 nVidia cards he cites have no working 3D driver AT ALL. Please mod that post down to th
Re: (Score:3, Informative)
Benchmarks? (Score:2)
How are these drivers with 3D stuff like in games? Are they fast as NVIDIA's closed binary drivers?
Re: (Score:2)
``How are these drivers with 3D stuff like in games? Are they fast as NVIDIA's closed binary drivers?''
Without actually having tested the new R800 driver (I don't have an R800-based card), I feel confident to say: no.
If, like the story claims, they are about on par with the R600/R700 driver, that means you get working 2D, and 3D working with some glitches and with very low performance. I have an R730-based card, and it gets about 10 fps in Flightgear. I am sure the hardware can do better than that. :-)
Re: (Score:2)
Bummer. I guess I will have to stick with closed binaries. :(
No "No thanks", thanks. (Score:4, Insightful)
There are many issues in the world that can best be solved by people being nothing like you.
Simply put: If the consumer doesn't reward good deeds, business (with it's legal obligation to maximize profit) won't do as many good deeds.
In this case, your pragmatism, along with that of millions of others, is partly to blame for closed source drivers are so common. You yourself probably have lower quality graphics or operating system functionality due to this.
While it's fine to be pragmatic in many circumstances, your stance that buying on principle isn't morally above buying through total pragmatism is, IMO, ultimately harmful.
Blood diamonds are an extreme example of what comes from mass pragmatism. Would you knowingly buy one it it was better value?
Has to mean better drivers! (Score:2, Informative)
But could they have been any worse? I always loved the way I hacked around for weeks trying to get 3D working after the drivers finally installed correctly and were apparently working correctly... all but 3D... and then to find out on some obscure link on google that the driver did not support it... but no mention to be found on ATI's site. But now that they are opensource these things can change! (Or at least be fscking documented correctly)
What about OpenCL / FireStream programming? (Score:2)
Re:What about OpenCL / FireStream programming? (Score:4, Interesting)
nouveau does not support CUDA nor OpenCL yet
One of the projects I've recently been involved with is a GPGPU compiler for nVidia cards using a friendly fork of Nouveau. The interfaces to the compute units have been reverse engineered, as have the instruction sets for the compute shaders. This means that we are currently able to load and run GPGPU programs compiled without any nVidia code. So, there is enough information available to implement OpenCL for nVidia cards, meaning it's likely to appear in the next few months.
Perhaps things will get better (Score:2)
I too tried to buy a new ATI card, but after a little 5830 64-bit ubuntu driver fiasco [hyperom.com] I gave up and went with nVidia.
It's really sad when open driver is slow, and proprietary is buggy to the point of being not worth the time to install, and explanations going around the lines of "well, 3D graphics is much faster, but 2D kinda suffers".
While nVidia drivers are closed, so far I was more lucky with them under linux, and they pretty much 'just work'.
Re: (Score:2)
And it's quite likely that the open source drivers will not be as capable or high performance as the proprietary drivers.
Let me guess: you've never used ATI cards, right?
Re: (Score:2)
You've guessed wrong.
Re: (Score:2)
When the millenium was still young, ATI had the better Linux drivers.
But yah, times long past. It's a pity that I just bought a new PC with a Nvidia card. From how things look now, the next upgrade will be an ATI. Tough that is at least two years in the future, so yah... Pity...
Re: (Score:3, Informative)
The open source drivers are expected to get 70% of the total performance of Catalyst/fglrx. However 2D has always been much faster with the floss drivers. The drivers are also much more stable, integrated and polished. Gallium now also has LLVM to optimize performance. Playing previous generation games like Prey and Half-Life 2 is not a problem.
Furthermore, down the road, due to Gallium, it will also accelerate stuff like OpenVG.
Re: (Score:2)
70% of the total performance of Catalyst/fglrx
That's my point. 70% is far better than the OS X's ATi drivers, which are around 40-50% of those compared to Windows, at best. Yes, OpenGL stack may also need work, but so do the drivers.
Re:Mac OS X (Score:4, Informative)
Gallium now also has LLVM to optimize performance.
Last I heard from the Gallium guys, they'd given up using LLVM for anything other than the CPU fallback path because of the double mismatch between TGIR and LLVM IR and between LLVM IR and how GPUs actually work. LLVM is a low-level VM in the same way that C is a low-level language: i.e. only if your target looks a lot like a PDP-11.
The nice thing, in theory, about Gallium, as you say, is the separation of state trackers from the back end, meaning you don't have to implement most of an OpenGL stack in your driver. In practice, this doesn't seem to be saving as much effort as was first thought.
Re: (Score:2)
Fixing race conditions, right?
Re: (Score:2)
Because that's the way it usually is. I'm not saying it's guaranteed, just likely. And if it's not the case, then awesome.
Re: (Score:2)
Intellectual property from other companies generally has to be stripped from the code base and those algorithms reimplemented in a different way. Yes, technically those other companies could open-source their code, but generally they don't. Sadly, that intellectual property is almost always used to get high performance.
Imaginary? Really? (Score:5, Insightful)
You'll find out how "imaginary" it is when your refusal to financially support the people doing the work causes them to stop doing it.
See, that's the huge fallacy with the argument that intellectual property has no owner, and therefore no financial value to any entity as it should be distributed without recompense: People generally do work because they are motivated. Things like houses, sending the kids to college, paying the water bill, buying the occasional gratuitous item -- if you take months of work and don't return something (and I'm not talking about a pat on the back), eventually, people will begin to ask themselves, "So... why did I do this again? I could have been working at McDonald's and paying off my house."
I will grant you it is easy to take work without recompense - particularly software, ideas, and performance recordings - especially since digital transfer has become so easy of itself; but I put it to you that your mindset is going to either kill the golden goose, or mutate it into something you're *really* not going to like. I don't think there's even a ghost of a chance you're going to see a transition into a Soviet-style "from each according to their ability, to each according to their need"; and that's the *only* type of society where your idea of "imaginary property" translates into something sensible: property that isn't so much imaginary, but owned equally by all.
Re: (Score:2, Troll)
Only in the case of drivers for hardware, it benefits the hardware maker for those drivers to be as widely available as possible... They can pay to have drivers developed whereby the developers get paid for their time worked, and the result is useful drivers that encourage sales of the hardware.
Hardware is certainly not imaginary, it is perfectly reasonable to sell that, and actual effort has to go into each and every unit sold.
Re:Imaginary? Really? (Score:4, Insightful)
Re:Imaginary? Really? (Score:4, Insightful)
Re: (Score:3, Insightful)
Yes, certainly. What I'm asking here is, where do you obtain the right to that value, as opposed to the people who did the work? Is it your position that just because something is valuable, it should be given to you? What if that changes the value available to the inventors? Should it still be given to you anyway?
I get that you want the valuable stuff. What I don't get is why you think you have a right to it.
Re: (Score:2)
Very simple; it doesn't take a lot of time and manpower (one person) to create a feature complete driver that can get at 70% of fglrx'/Catalysts's performance of the card. However if you want to squeeze more and more performance out of these cards (remember: make them more optimized because they are already stressed to the max) then more and more people are needed to work at it, just to optimize the hell out of it. It is in these insanely complicated crazy optimizations that nVidia and AMD|Ati get the most
Re: (Score:2)
They stopped doing the vender-built drivers a few years ago. Now laptop graphics (both ATI and nVidia) have generic installs for all their laptop chipsets.
Re: (Score:2)
Plus "after a few years" & Quake3 somewhat suggest it's a generation supported for a long time by open drivers anyway.
Re:How much is real code? How much is blob? (Score:5, Informative)
Radeon firmware is used to program a few special-purpose chips on the board. Up until the HD series, firmware was only needed to start up the DMA engine and get acceleration going; modern cards need a second piece of firmware to enable interrupts, for e.g. low-latency audio and vsync.
If anybody ever wanted to go out and reverse-engineer these blobs, they could, but it's really not worth the trouble since the level of functionality is so small and AMD already gives us bugfixes for the ucode when needed. That time might be better spent figuring out the patented parts of the chipset (video decoding, texture compression) which AMD isn't allowed to document for us.
Re: (Score:3, Informative)
Yes.
Reading through the comments, there's a lot of people who are still whining traditional anti-ATI whines, but AMD is being very smart about things, and is thinking in the long term. Nvidia will eventually follow, I'd wager, but Nvidia upper management is very stubborn and fixed in their ways, so it may take a while (in my experience, Nvidia engineering is much more enlightened in their views, but they don't set the company's policies).
Re: (Score:3, Interesting)
I wonder how much of the OpenGL stuff is actually in the hardware, and how much is in the software. With my limited knowledge and understanding, it seems to me that modern graphics cards are mostly execution engines for instructions that perform simple, primitive operations, and that most of the OpenGL support is actually in Mesa, with the driver mostly being there for allowing communication from Mesa to the hardware, and some non-Mesa things which I imagine would mostly be non-OpenGL.
Within Mesa, there is,
Re:OpenGL? (Score:4, Informative)
Warning: This post contains some massive oversimplifications. If you have worked on 3D drivers, then you will probably find reading it to be quite painful...
A modern GPU actually does very little that is graphics specific. It is basically a stream-vector coprocessor. It's as much a general-purpose processor as the CPU, it's just optimised for a very different workload. The CPU, generally, is optimised for integer-heavy code with a branch roughly every 7 instructions. The GPU is optimised for doing more or less the same sequence of floating point operations to a large number of inputs with branches every few hundred instructions. You can run any algorithm on either, but any given program is likely to be much faster on one than the other.
All of the OpenGL bit is implemented in the OpenGL state tracker. This may be part of the OS or part of the driver, depending on your target platform. This keeps track of all of the API state and issues commands to the hardware. The hardware basically (meaning, this is a really massive oversimplification) understands three commands: copy data to VRAM from RAM, copy data from RAM to VRAM, run program. All of the clever stuff is done using the third command, which runs some program (generated by the driver) on the GPU. There's also some other stuff for controlling the DAC or DVI/HDMI/DP outputs, but this is a relatively small part of the driver.
With Gallium, the state tracker is completely isolated from the back-end drivers. For OpenGL, the state tracker is MESA. This generates programs in TGIR, which is an abstract instruction set that is designed to look like a GPU. The back end driver then compiles these for the target GPU (or CPU if the GPU doesn't support them) and runs them. All of the OpenGL-specific code is in Mesa, and is shared between all drivers. You can remove this and plug in an OpenVG or XRender state tracker (or even a Direct3D one, if someone wants to write one) to expose a different API (or you can plug in several at once) and the driver is completely unaware of this. It just compiles and runs the programs that the state tracker generates.
In contrast, the older DRI drivers and the blob drivers contain their own state trackers. In the case of the DRI drivers, they contain a copy of Mesa (or just have some back-end code in the main branch of Mesa). In the case of the ATi and nVidia blobs, they have a complete OpenGL implementation.
What you describe is basically how the old drivers worked. It's a lot of effort to maintain those, because the OpenGL spec evolved a lot over time, and now cards don't actually support any of the stuff that the old interfaces specified directly, the drivers just generate programs that the card uses to run them. It's also problematic because it ties the driver to a specific API, so if you want OpenVG or XRender support, you need to either write a new driver or implement these APIs on top of OpenGL, rather than running them directly on the card.
Re: (Score:2)
Thanks, raven. That is pretty much what I had in mind, but it's good to hear from someone who really knows what they are talking about. :-) So, would you agree that, with modern cards, OpenGL compliance is really a matter of software, not so much of the card itself?
Re: (Score:3, Informative)
That's why Starcraft 2 and Diablo 3 are pc only, why Portal was such a major flop that nobody has ever heard of and why there are currently over 2 million people [steampowered.com] playing multi-player on steam as well as millions playing eve-online, everquest 2, Guildwars, Puzzle Pirates, Star Trek Online, War Hammer, etc, etc..