Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

So, my computer has a Radeon mobility card and Compiz doesn't seem to want to play nice with it. The nets me a tradeoff: I can use the proprietary drivers and get the boosted performance and take a hit to several usability items, or I can use the "standard" drivers and take the hit to performance in favor of everything working properly.

I also happen to do a lot of alpha testing on a spare partition on this machine. This leaves me wondering, which driver should I be using? Is it more important to get the "standard" drivers to actually perform better? Or should I be filing bugs against Unity because it doesn't work with the proprietary set properly? Or both.

What do developers suggest that I run to benefit the project more in the long term? Regardless of what type of graphics card is used. Or is that a factor in what set should be used?

share|improve this question
add comment

2 Answers

up vote 20 down vote accepted
+50

As one of the Ubuntu X maintainers I can say: testing on both the open-source and proprietary drivers is valuable; we have lots of users of both, and it's important the Unity runs well on both the free stack and the proprietary stack.

However, if you want your testing to have the biggest impact, testing the free stack would be the way to go - at least for AMD cards.

The open-source radeon driver has a reasonable set of developers - it's not large and can always do with more, but it's supported by AMD. Barring the influx of hundreds of full-time developers these drivers won't achieve the same performance as fglrx, but it's entirely possible they'll achieve 90-95% of the performance; it's the last couple of percent that's extremely expensive.

They're also much easier to improve - because they're open-source, we have visibility into fixes and can much more easily justify fixing bugs in stable releases. With the fglrx driver we just get a code-dump mixing features and fixes, with unknown regression potential. This makes it difficult for us to update the proprietary drivers in a stable release.

Finally, there's more prospect of improvement for radeon than for fglrx. Radeon developers care about the whole desktop stack, fglrx is largely targetted at workstation users.

For nouveau the answer is a bit murkier. There's still more prospect of improvements in nouveau than nvidia - again, nvidia is largely targetted at the workstation market - but nouveau has a harder time making progress than radeon, as they additionally need to reverse-engineer everything.

All this applies mostly to bugs rather than performance. It's generally harder to generate a good performance bug than it is to generate a good crash or incorrect rendering bug. Rendering and crash bugs are generally isolated to a small section of code, whereas performance problems generally involve a whole stack of code. Where you find isolated performance problems they can be worthwhile to report, but that's not the common case.

In short, performance problems generally require active effort to identify - you're unlikely to stumble across an actionable performance problem. Bugs - both crashers and misrendering - you can easily identify during normal use.

share|improve this answer
add comment

If you want to help contributing to the further development and support of drivers for Ubuntu assigning, supporting and contributing for the fixing of bugs on both versions is the way to go, both are important but you need to differentiate between what is really in your hands.

Closed driver means just that, its closed, you can say that Unity is broken because of the closed driver but in the end if the driver does not work there is not much to do. Testing is done on the official releases but does not mean it will work for everyone.

I have to say I do not believe that the open-source driver's performance will ever be as good as the closed driver but talking about Ubuntu and Linux we want to have at least the alternative to have our hardware running under minimum conditions with a open source driver.

We want to make sure that given the option a user will be able to run Unity without many glitches on the closed-source driver, but most importantly is that an open-source, well built and stable driver is available.

With the closed driver you can open bugs, complaint, support others in reporting data to fix any issues but in the end it will be the builder's responsibility to lay the path for the driver's development.

On the other had the closed driver is largely supported, bugs are taken more directly serious, development is done but also bug fixing is implemented on case by case situation. The open-source community works hard for it to work as good as it can get and with as less issues as possible.

You time is valuable reporting issues in Unity running with the closed driver, but imho the open-source driver deserves it much more and you will get more value for your effort supporting it.

share|improve this answer
    
The question isn't about which is better, I know the deficits/benefits of each. It's about which I should run to help better Ubuntu. Which should be the focus for my testing, etc. –  ShroudedCloud Dec 8 '11 at 20:49
    
Got it, was writing this as you added the comment. –  Bruno Pereira Dec 8 '11 at 21:04
    
I have edited the title of your question to better show that you want to test and supply support for the drivers (open or closed source), and not just use the drivers. –  Bruno Pereira Dec 8 '11 at 21:07
    
Alright,thanks. Excellent answer that I'll certainly keep in mind. But I'm still looking for an "official" outlook on it. I know it's a long shot to hope an actual Canonical/major Ubuntu developer will answer this, but I'm going to hope. –  ShroudedCloud Dec 8 '11 at 21:11
2  
Perfect, it fits all closed driver / open source driver comparisons so go ahead ;) Feel free to remove the Radeon references then and make the question more broad, I think this is one of the best questions I have seen in the time I participate in AU. –  Bruno Pereira Dec 8 '11 at 21:18
show 4 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.