“We have been overwhelmed with requests to take a serious look at the frame-rate performance differences between the various open-source and proprietary contenders. Our first article on this topic, which will likely be the first of a series of examinations, is looking at the differences between the X.Org open-source ATI Radeon driver and that of ATI’s official but proprietary fglrx display driver.”
Much too short. While comparisons involving the drivers FPS performance are nice, I’d have liked to have had the writer of the article go into some of the benefits of each driver. I mean, hello, would this even be an issue if the fglrx drivers weren’t loaded with problems? (I want my VTs back). I would also have liked them to throw in a comparison of the Windows drivers if they’re doing the article strictly on framerate.
What about the 2D performance of fglrx vs radeon. In my experience, radeon is up to 6x faster…
One thing I don’t understand, why are some people so intend on having open drivers? The drivers for Windows are not open, but we can still freely download and install them.
I use FreeBSD on a Dell laptop with an Nvidia card and the Nvidia driver, and for me I have no problems because I can just grab the driver from the ports collection.
The only reason I can think of why some don’t like the closed driver is because they’re afraid MS is paying ATI and Nvidia to keep performance behind the Windows drivers, but I highly doubt that happening.
You want some reasons, you get them
* Open source drivers run on multiple platforms. I.e. Radeon in a PowerPC is no problem with an open source driver.
* Out of the box experience. Install your Linux and don’t bother installing drivers, everything works already.
* Upgradability. The current Linux architecture doesn’t allow you to take a module from one kernel version to another without recompiling it.
* Discontinued hardware = discontinued closed source driver. Open source drivers tend to stay working much longer.
* Untrusted code. Nobody knows what the video card code is doing. There might be security bugs, stability bugs, or the code could even do malicious activities. Open source drivers can be audited independently and this happens regularily.
And of course let us not forget the four freedoms…
Also, do not forget community support. If a bug is discovered in an open driver the original author as well as interested developers can fix it. Where as with closed drivers everyone waits on the original author.
I think a lot of people feel that ATI isn’t providing nearly enough support for their Linux drivers. They feel that if the OSS community had access to ATI specs and were able to write drivers, the wait time between bug fixes wouldn’t be nearly as long. I can’t completely disagree.
When something as basic as switching the resolution back for the VTs can’t be done with the driver, and was reported as being broken more than 6 months ago and *still* is not fixed, I have to wonder.
Because with open drivers other OS’s can benefit from the code, the driver can run in many architectures (64 bit native drivers anyone?), support for new features can be added when needed (for example, you can’t run AIGLX with nvidia cards because they lack a feature that nvidia is ‘still working on’), and you have a better change of still having working drivers for hardware under your OS of choice (whatever that is) in maybe 5, 10 years time, even after the company has gone bankrupt or something like that.
That’s patently false that open source can deliver better drivers.
Tell me do Andrew Morton or Linus Torvalds or Greg KH understand graphics processors?. Heck no!. The people who really understand how ATI or Nvidia processors really work are already employed by ATI and Nvidia respectively. Openeing up the datasheets still means nothing!.
Sound Blaster Audigy drivers on Linux still can’t do half of the things Creative’s drivers does on Windows and ALSA guys have had the datasheets for years now.
So this is just tripe that OSS programmers can do better drivers than the hardware vendor them selves – tripe fed to you by total and utter NON PRACTICING PROGRAMMERS like Perens, ESD, RMS and all the regular Open Source fan boys.
Actually it’s been the opinion of many that the Audigy drivers for windows suck majorly. Creative’s drivers have been called the worse next to… yeah you guessed it, ATI’s. ATI’s Windows drivers have gotten better, but Creative’s still suck.
I have an Audigy 2 Platinum and guess what, every single thing that it does in Windows also works in Linux, even the remote control works.
About the only thing Alsa doesn’t really support is EAX, but that’s because EAX is non-existent in games on Linux. Instead they use OpenAL, which is also what Unreal Tournament and a few other games use even in Windows….
> I have an Audigy 2 Platinum and guess what, every single thing that it does in Windows also works in Linux, even the remote control works.
That’s news to me because mine doesn’t!. Secondly OpenAL doesn’t make use of hardware acceleration in audio. Finally, where’s CMSS, where’s Environmental Audio, where’s Dolby Digital decode/encode? where’s DTS?
(note that all these features cost money that Linux people don’t have!)
>That’s news to me because mine doesn’t!. Secondly OpenAL doesn’t make use of hardware acceleration in audio. Finally, where’s CMSS, where’s Environmental Audio, where’s Dolby Digital decode/encode? where’s DTS?
http://www.creative.com/press/releases/welcome.asp?pid=12385
If you’re too lazy to read the whole thing. “Creative (NASDAQ: CREAF), a worldwide leader in digital entertainment products, today announced that OpenAL 1.1 will be available for Sound Blaster® sound cards this Spring to provide compelling audio playback and hardware acceleration in PC games developed for Windows XP and Vista. OpenAL 1.1 (Open Audio Library) and Creative’s Interactive Spatial Audio Composition Tool (ISACT™) enable game developers to implement stunning 3D audio in PC, Xbox, and Xbox 360 games.”
OpenAL DOES support hardware.
You know, I’ve had my Audigy 2 for a long time and never even used any of the CMSS or Environmental Audio, except to play with it to see how pointless it was.
http://gentoo-wiki.com/HOWTO_Dolby_Digital_and_DTS
There you go.
For emu10k1/emu10k2 no one has datasheet. First emu10k1 (sb live) driver was developed by Creative. emu10k2 (Audigy) driver was reverse engineered from debug build of windows driver. No one opensource developer has datasheet for these chips.
>”That’s patently false that open source can deliver >better drivers. ”
Well – closed source isn’t necessarily better than open source drivers. You’re quite right they do have the upper hand, but does not always utilize this 100%.
>”Openeing up the datasheets still means nothing!.”
Releasing the specs benefits all 3rd party driver developers, not only the OpenSource developers. There are some commercial 3rd party developers that produce great driver systems, but are inhibited by the hardware developers unvillingness of releasing specs. Almost no hardware delevelopers will release 3D specs, under any circumstance (nVidia won’t release any recent specs, not even 2D). This could be problematic since it looks like tomorrows GFX processors will only use emulation for 2D – performed by the 3D engine.
Maybe it is “patently false” that open source will deliver better drivers.
However, as a Linux/powerpc user I am glad that open source programmers put time and effort in making an open source R300 driver so I can use the graphics card in my laptop. I’m sure that ATI can make a better driver than the current open source driver on Linux/powerpc, but they won’t. They do not support my platform of choice. With closed source drivers you are locked in into the platforms that the hardware company wishes to support with the amount of time and energy they wish to put into it and for the time they consider the life-time of the product.
I don’t know whether Andrew Morton or Linus Torvalds or Greg KH understand graphics processors, but it seems you know them better than me. However, I can tell you that there are more people working on open source than just them. And a lot of those people do know about graphics processors.
Opening up the datasheets does mean a lot. It opens the possibility for writing an open source driver without the need for reverse engineering. Since the driver this article refers to is built from those datasheets, I think this should be clear. Yes, it gives lower performance, but it is a fully working driver. The article is also very very short. Other things which might be important is for example whether suspend-to-ram or suspend-to-disk is supported in the open source and in the closed source driver. (I can attest it is supported in the open source driver) The other thing is for example the support of certain resolution, or the stability of the driver, and so on.
I take it from what other people said that the Sound Blaster Audigy drivers on linux were not built from the data sheets and that the alsa developers do not have access to the data sheets.
Your comment about “NON PRACTICING PROGRAMMERS” is definitely not correct for RMS, aka Richard Stallman. Richard Stallman still works on GNU Emacs and not only making decisions about what can go in or not, but also in writing code. I don’t know about the others.
If you want people to consider your opinion about the fact that you believe that open source drivers can never get the same quality than closed-source drivers, then at least start with getting your facts straight.
One more thing to add to the list of things: access to the source! Having an open driver allows kernel and DRI developers access to the source code. That means they can modify the drivers in order to fit new models within the system. Take, for example, Xegl. It would’ve been a lot easier to get DRI-EGL working if the Radeon drivers had been open source. Apple and Microsoft have the source to these drivers — they can make the modifications they need for technologies like Quartz Extreme and Avalon. The OSS community does not.
As it is, a non-trivial amount of developer time has been spent reverse-engineering drivers. The R300, R400, and R500 chips are completely undocumented, while the R100 and R200 chips are only partially documented (specifications for important performance features like Heierarchical Z were omitted by ATI). This developer time could be put to far better use fixing things in the DRI, getting EGL working, modifying the stack to better support multiple clients, etc.
The author said in the article that there is no point to open source the 3d driver for linux because there are very few games on that platform. How many games that are listed in http://www.3dgamers.com/games/ are available for linux? Perhaps less than 1% or even 0.1%. It is a fact that windows is a paradise for gamers, while linux is the hell.
> The author said in the article that there is no point to
> open source the 3d driver for linux because there are
> very few games on that platform.
Why would anyone make 3D games for GNU/Linux when there are no decent graphics drivers for it?
Why would anyone write decent drivers for GNU/Linux when there are few 3d games for it? A chicken and the egg problem, me thinks
Games aren’t the only thing that requires 3D, as others have said, Maya, Softimage, etc all have Linux versions as well. Not to mention a lot of scientific uses for 3D imagery (astronomy programs as one example)
I know, I was being a sarcastic ass. 🙂
On the other hand, there are a lot of high-end 3D packages for Linux. All the big names (XSI, Houdini, Maya), have Linux ports.
Which is, of course, the whole reason you see NVIDIA and ATI support Linux drivers in the first place. It’s not for the non-existant Linux gaming market, its for the workstation users.
Funny I found games for Linux. Here: http://www.fileshack.com/search.x (have to put linux in the search) and here http://happypenguin.org/ and here http://icculus.org/lgfaq/gamelist.php?license=commercial. So there are games out there and more need to be written. It’s up to developers to do it and stop cow towing down to MS.
I hope to someday write a game for Linux myself.
I wish ATI and NVIDIA would just agree to not sue each other and then both open up their specs. After all, the secrecy is not about keeping techniques secret from others, but rather to not as easily get sued for patent infringement or similar. (Yet a reason to hate patents.)
This is an interesting article, however, in my personal opninion if you want OpenGL acceleration on a modern 3D graphics card (not more than 2 years old) on Linux, nVidia’s proprietary drivers are the only viable option right now.
In dealing with the ATI proprietary drivers I have encountered so many problems, that it’s just not funny anymore. ATI does not seem to care about OpenGL or Linux. The OSS drivers are ok for R100 and R200 cards, but R300 still needs some work.
I’m hoping there will be good OSS drivers for newer graphics cards in the future but I honestly don’t think it’s going to happen. Frankly, there are too few developers working on too many drivers. And while I applaud their hard work, most OSS drivers are mediocre add best. Sure we can be critical on ATI and nVidia for not supporting some newer features like EXA. On the other hand, how many OSS drivers support EXA or XRANDR rotation?
I don’t see any way around the proprietary drivers for now, so the way to go would be to work with ATI and nVidia on the future of X as much as possible. Things like EXA seem only to spread developer resources even thinner than they are now, and bring no real benefits in the long run.
I don’t think it’s only about patents. Today’s GPU chips are really complex and developed really fast to keep up competition. So they contain hardware bugs that are fixed in the software land. Also with closed source drivers you could easily *hide* tricks to get more fps
Why cant Linux developers and the Linux community just respect companies intellectual property?
People talk about buggy closed source drivers, its not like the ones in the kernel are not buggy. One being the NForce4 driver.
Out of the box experience: I dont see why distros couldn’t package these proprietary drivers with the CD, OR have a simple way of downloading them off the net during the install(easy way of displaying the license agreement). In Gentoo we dont have that issue.
Untrusted code, well when was the last time you have ever heard of a HARDWARE, not software drivers doing “bad things”. The sony thing wasnt hardware is what im getting at.
One of the issues I see with these closed source drivers is that you cant just “install” a driver, you have to compile the driver(part of it) every time you update your kernel. WHY? Why cant there be a “2.6” kernel driver that would work for any 2.6.X kernel. From a Desktop users standpoint the kernel is unstable, and cant provide a stable interface for drivers to work. Why not have differnt ABI’s for different parts of the kernel? That would cut back on drivers screwing with parts of the kernel they dont need to be touching.
I have 0 issues running closed source drivers or software.
Not everything in this world cant be free people, would be nice, but wake up.
>> Why cant Linux developers and the Linux community just respect companies intellectual property?
Because that would be ‘working for the man’.
>> One of the issues I see with these closed source drivers is that you cant just “install” a driver, you have to compile the driver(part of it) every time you update your kernel. WHY?
Because Linus still has his head up his backside about the kernel interface to drivers and devices, and refuses to set a FIXED api for getting at things – making it nigh impossible (or at least damned tricky) to make a driver that works in BOTH 2.6 and 2.4 off the same codebase, much less 2.6.1, 2.6.13, 2.6.pick a damned revision.
If I was a hardware manufacturer, I’d flat out REFUSE to make drivers for linux on those grounds ALONE, before we even got into the dirty {censored} hippy intellectual property debate.
———Why cant Linux developers and the Linux community just respect companies intellectual property?———-
There’s alot of zealots out there who don’t. I can only speak for myself when I say this(because I haven’t seen many others say it) that nvidia and ati should be opening up their specs for older cards(maybe 2-3 gens back) but I respect them keeping their current lines a secret.
———-People talk about buggy closed source drivers, its not like the ones in the kernel are not buggy.—————
This isn’t so much an issue assuming (x company) is providing adequate support.(like nvidia) But nVidia doesn’t support it’s older cards anymore. AFAIK their new drivers don’t support geforce/GF2 class cards. These specs should be released.
———–I dont see why distros couldn’t package these proprietary drivers with the CD, OR————
If you are a distro which has the newest kernel packaged that isn’t possible unless (x driver) was just recently released with support for that kernel. It just won’t work. And having it downloadable online defeats the purpose of “it just works” off the CD.
Alot of people appreciate “it just working”. I know I do. That’s why until someone releases specs for something newer, I’m stuck with a firegl 8800.
———–Untrusted code, well when was the last time you have ever heard of a HARDWARE, not software drivers doing “bad things”. The sony thing wasnt hardware is what im getting at.—————-
ATi’s drivers do bad things constantly. They’re horrible.
————Not everything in this world cant be free people, would be nice, but wake up.————
Agreed. But at least with asking for older-cards’ specs there’s a chance we’ll get them. ATI/NVIDIA/ETC might not want to support them anymore, but we do. And with older cards, the issue of IP isn’t so much a big deal anymore.
“Why cant Linux developers and the Linux community just respect companies intellectual property? ”
No problem, but then should the compangies deliver drivers to other systems than the latest MS-Windows revision – I’m not just talking GNU systems here.
I’m kind of laughing at it reporting about half the FPS it should on that hardware (or would under windows) given that we’re talking a 7 year old game engine (Quake 3).
But then Linux for gaming is only about 10% more effective for gaming than OS X…
Wait, what’s 110% of 0 again?
I want to say loud “thank you” to all those who reverse engineered Radeon chips. No matter what believers of proprietary drivers say, you are doing the valuable work and I fully appreciate them.
Thank you again.
What about the 2D performance of fglrx vs radeon. In my experience, radeon is up to 6x faster…
There was quite a good article a while back of the, IIRC, 2D Nvidia drivers vs the drivers provided by Nvidia, in respects to 2D acceleration – the opensource drivers came out alot better than the binaries.
For me, I’ve got a PCI-E video card, X300/550, and in terms of 2D performance using the radeon driver, XAA and DMA for Xvideo, everything is working nicely as expected – and better still, the stability is alot better than when I was running Fedora with the ATI provided drivers.
I sometimes wonder whether this whole ‘we can’t opensource our specifications’ ATI and Nvidia uses is just a pathetic rouse to hide from the public the fact that they couldn’t cobble together a decent driver if their lives depended on it.
Edited 2006-05-07 05:06
I sometimes wonder whether this whole ‘we can’t opensource our specifications’ ATI and Nvidia uses is just a pathetic rouse to hide from the public the fact that they couldn’t cobble together a decent driver if their lives depended on it.
So their engineers could develop top-of-the-line hardware with millions of transistors… but couldn’t develop a driver for it? And people outside their project would know better? Right…
It’s probably a question of IP and control rather than competence.
I don’t know how long you’ve been in the computer industry, but have you ever noticed that most people either know hardware or software, but rarely know a lot about both?
Probably the same thing with the hardware companies, I bet that the chip designers and the driver writers are not the same department. If they are, then perhaps some of their designs are inherintly flawed, because ATI’s drivers do suck. I’ve basically seen on lists of worse drivers ATI or Creative always taking the number 1 position, though since the catalyst drivers have been coming out, there has been an improvement.
You’re right. Yet, do you believe these companies are engaging ignorants? Some could be, but not every one of them.
As for your second point, it’s the way drivers were developed when I did a training at Matrox. Still, the driver team had a good communication with the hardware team. This experience doesn’t say a word on the quality of the drivers provided by ATI, but it made me familiar with the development process. Proprietary code and copy protection schemes are involved.
It’s true that open-source software leads to better software, but I am not sure the companies in the highly-competitive graphics market are ready to forfeit the control of their project and their advantages over their opponents, especially when the opposition doesn’t have to do OSS.
I use FreeBSD on a Dell laptop with an Nvidia card and the Nvidia driver, and for me I have no problems because I can just grab the driver from the ports collection.
I own a Dell Dimension 8400 with an ATI Radeon card, I run FreeBSD; there fore, I am screwed as an end user.
Had the specifications been opened up to the X11 programmers, I would be writing to you right using opensource 3D accelerated drivers, which, if they’re anything like the opensource radeon 2D drivers, the performance and stability would be far superior to any junk which ATI is currently shipping.
Edited 2006-05-07 05:07
If you have a radeon with opensource drivers, you might like this tool:
http://dri.freedesktop.org/wiki/DriConf
I found that after enabling hyperZ and a couple of other options the performance was much better!!
I’ve had a lot of hardware that simply got end-of-support by the manufacture and are no longer working with the newest version of windows, some never worked with XP other were broken by SP2.
Much of the same hardware are running nicely on the same PC under Linux, with open drivers made by others then the orginal manufacture.
“Why cant Linux developers and the Linux community just respect companies intellectual property? ”
Yeah, funny how so many companies making network chipsets has no problem documentation their interfaces. Or Intel or AMD with their CPU’s for that matter.
Get this straight, it’s not about their IP, all that is wanted is documentation on how to interface with the hardware, noone cares what special, clever tricks nVidia or ATI does in their own drivers.