-ati status

Based on a comment on my last blog entry, I thought I'd elaborate a bit more specifically about -ati in Intrepid.

Thanks for the update! There seem to be quite a few regressions with the ati driver on intrepid... will these receive any special attention in the next few weeks? This is especially needed I think because fglrx will probably not be available at release time.

Hmm, I'd need to know more specifically what you're seeing as regressions - overall to me it feels like a lot of issues have been laid to rest. Compared to the -ati in Hardy, I'd rate the Intrepid -ati to be considerably more stable. It's not perfect, but it's a lot better.

Of course, many times bugs aren't in the X driver, but rather are in mesa, and I think some of the changes in it have introduced problems. However, we've just recently moved to the (hopefully much more stable) mesa 7.2 release. But let's ignore mesa for this blog post.

One thing you might check though. In Hardy, because -ati was so buggy we blacklisted it from compiz for a lot of cases (such as laptops). In Intrepid, due to the improvements, we've been able to drop all the blacklisting. However, that doesn't mean 100% of those issues are fixed. So it's possible (esp. if you're using an ati laptop), that it *seems* like there are more regressions, when really it's just that you didn't have compiz by default before, but do now.

Also, I suspect a lot more people are using -ati now, that may have used -fglrx in the past. The AMD/ATI documentation release stimulated a lot of development work to add longstanding missing features (like 3D capabilities), and to enable support for 5xx/6xx series cards. The lack of these things would have forced people to use the proprietary driver in the past, but with these improvements -ati has become "good enough" for more people. So I could imagine some people are "seeing regressions" whereas in reality maybe they're just remembering -fglrx.

Anyway, those are just guesses without knowing specifics.

Now, historically if you look back to Feisty, that was released right before the AMD/ATI docs were put out, and the 6.6.3 -ati driver included there was considered quite stable, but much more constrained in its functionality. For people with older ATI cards that only care about 2D functionality and don't need xrandr, that 6.6.3 driver was actually quite good, and -ati users still make use of that version when the current one is just too buggy. In Gutsy, we moved to the 6.7 series, which included xrandr and some 3D functionality that made compiz work for many people (but break horribly for others...) We gave -ati a lot of focus during Gutsy, pulling in patches from git, giving Alex ample feedback, and working hard to stabilize it. For Hardy, we pulled back a bit in the interest of stability; compiz blacklisted -ati on laptops, since our testing found there was just way too many random crashers. I'd wanted to put more time into stabilizing -ati, but decided to mostly focus on -intel; I think the -ati in Hardy may have been better overall than the one in Gutsy, but it didn't reach the level of stability that I would have liked for Hardy.

In Intrepid, I've switched gears and focused more of my time on -ati than other drivers. We've been able to remove the -ati blacklisting as discussed above. I've added a quirk system and put in a variety of hardware-specific fixes. So I really think the driver is more stable and more functional than in Hardy, but I'm open to discussion.

One of the major tasks I completed for -ati during Intrepid is reading through every single xserver-xorg-video-ati bug report, and upstreaming all the reports that were reported adequately. Sadly, this amounted to a fairly small number - it's crazy how often people fail to include basic info like Xorg.0.log, lspci, or backtraces and/or haven't re-checked against Intrepid; unless I can reproduce the bug myself, without this basic info we can't troubleshoot or upstream the bug - just plead the user attach the info.

So, for those who are seeing issues, the ball's sort of in your court at this point to make sure the problem is adequately reported (see http://wiki.ubuntu.com/X for a bunch of troubleshooting resources I've written that will be of value.) I've been keeping an eye out for responses to bugs; there probably isn't enough time to fully troubleshoot the bugs at this point, but if an upstream-approved patch comes to light I can certainly look at bringing it.

One new thing I've added in Intrepid are apport hooks for the major X packages. So now you can run `ubuntu-bug xserver-xorg-video-ati`, and it'll take care of attaching all the necessary files and stuff for reporting -ati bugs.

Meanwhile, my plan going forward is to shift focus from specific -ati bug work, to instead set up a driver build system, to build older and newer debs from the -intel and -ati git trees. This is something that's been on my todo list for a long while, but other stuff has kept taking precedence; since we're in freeze now, this seems like a good point to turn attention to this. I made a static prototype a while back to test out the concept just for -intel, and it proved itself nicely for analyzing driver regressions; there's a lot of issues I need to sort out in order to automate the builds and to expand it to cover -ati and maybe other packages, but I'm hoping with a few week's solid focus to make it quite useful.

Posted in Submitted by bryce on Thu, 2008-09-25 19:11.
bryce's blog

Thanks for looking into all of those!

Anonymous (not verified) | Fri, 2008-10-10 20:40

So it's pretty difficult to fill a bug, is it an ati driver regression, xorg, compiz, mesa, dri ?

Filing against compiz, xorg, or xserver-xorg-video-ati is fine - if it's determined to be some other package, it'll be refiled. All three packages get reviewed fairly regularly.

In any case, I would suggest filing each distinct issue separately, unless you can demonstrate the issues are definitely co-related, since they may be unrelated bugs.

Also, please include as much info as you can, including log and config files, output from lspci -vvnn, and screenshots/photos/etc. if appropriate.

bryce | Fri, 2008-09-26 19:03

Intrepid is a very good release for ati drivers. For the first time, my ATI 9600 work out of the box without tweaking xorg.
Unfortunately performances are poor.
No more torcs for me, no more fullscreen movies, some compiz effects leave spots.
So it's pretty difficult to fill a bug, is it an ati driver regression, xorg, compiz, mesa, dri ?

Stemp (not verified) | Fri, 2008-09-26 09:02

Hi,

Although I consider -ati to be a lot more stable than it used to, it still doesn't provide basic functionalities for most recent boards. That's mainly why I and probably a lot more people are just waiting for a compatible fglrx driver as it's currently the only way to get XV and 3D support for newest boards (well, any kind of acceleration would be welcome).

So yes, -ati is pretty good for old (not that much) boards but is still not in a usable stage for the HD serie. I can't watch a fullscreen video without using all my CPU and then reducing my laptop battery life by half (at least).

Let's hope we'll soon get a new driver from ATI solving those issues (unfortunately, it'll indeed likely miss the release)

stgraber (not verified) | Fri, 2008-09-26 03:21

Thanks, I've added those to my todo list. It'll probably not be until next week I have some time to look into them (going out of town for the weekend), but in the mean time please feel free to upstream any of them - it's pretty likely they're all upstream issues. If patches are made for any of them, I can look at incorporating them in Intrepid over the next couple weeks.

If you do upstream bugs, at a minimum make certain to include Xorg.0.log and your video card PCI ID numbers (use lspci -vvnn to get both the chip and subsystem vendor pciids). Crashes should also have backtraces with debug symbols.

Other generic troubleshooting steps include: a) test against the latest version of the driver, b) disable DRI in xorg.conf - this helps isolate issues that are related to 3D (and might be mesa bugs rather than -ati), c) experiment with other relevant driver options (see 'man radeon' for details).

For issues which result in hang on boot, if it's a compiz bug, an easy workaround to temporarily disable it without removing it is `sudo chmod a-x /usr/bin/compiz`.

If you have an AGP card, you can try experimenting with different AGPMode settings (see the ATI section at http://wiki.ubuntu.com/X/Quirks).

I've *sometimes* found with hang on boot, that going into safe mode in gdm, and then 'Resume boot' works. No idea why.

Sometimes it helps when troubleshooting X startup issues to disable gdm and start X via 'startx' so it's easier to spot error messages. Alternatively, check your gdm.log - this is where those startup error messages go normally.

For hangs, backtraces tend not to be too useful, however if you're comfortable using gdb you can sometimes use it to step through code and see if its stuck in a loop or something. More info is at http://wiki.ubuntu.com/X/Backtracing.

A lot of hangs are due to hardware-specific problems. Searching launchpad, bugs.freedesktop.org, or google for your chip model and the issue can *sometimes* be worthwhile, although note that often these symptoms are very generic and you run across a lot of false positives, which can be frustrating.

Hope this helps! Good luck.

bryce | Thu, 2008-09-25 22:40

Ok, bug numbers coming up: 264462 267185 267266 267297 270708 271719 272406 272463 272853 272991 273863 274234 274290 All of these are configurations that worked without problems in hardy and now give problems in intrepid.

Or: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bugs?field.tag=regression-potential

Some of these are indeed missing some information, but also lack a request for further information, I will do my best to help a little with that. It can be hard though to provide some of the information when you can't even boot into a working environment. Some others you have already commented on and are progressing nicely.

But contrary to what you said, most of these are probably not due to a switch from fglrx, because they show directly when running from the livecd and some prevent you from even installing ubuntu. Those form 8 of these bugs reported by 13 people.

That "ubuntu-bug xserver-xorg-video-ati" is a really handy feature, can it also be used to add info to existing bugs? That would make it a lot easier to get the information from bug reporters.

Wouter (not verified) | Thu, 2008-09-25 21:23

Wow, I didn't expect such a detailed response! Thanks a lot. I will see if I can point you to the specific problems and will post a comment here.

Wouter (not verified) | Thu, 2008-09-25 21:05

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
More information about formatting options