No announcement yet.

need big help w/RV740 issues

  • Filter
  • Time
  • Show
Clear All
new posts

  • need big help w/RV740 issues

    I just bought an HD4770. I was using Debian Lenny but I upgraded to testing last night, thinking that I now have a use for newer packages. I installed xserver-xorg-video-radeon(6.12.3) after purging all the Nvidia packages, and set the driver in xorg.conf to radeon. I'm using Debian's 2.6.30-2-amd64 kernel, I have the libdrm2(2.4.15-1) package installed. I originally installed firmware-linux from testing, but the hardware support list in its description made no mention of RV740, so I installed firmware-linux-nonfree from sid. Unfortunately there's no mention of RV740 there either.

    My problem is that there are "no adaptors present" for xv, and consequently I can't get MPlayer to display any video. I want to get TVout going too (though I think I might be able to get that going myself with the doc I found), but until I can display a video there's not much point.

    I added this to my device section to no effect (not WRT to xv anyway, things did seem a bit snappier):
    Option "DRI" "on"
    Option "AccelMethod" "EXA"

    And I added "DMAForXv" "on" too afterwards, before I realized from the manpage that that's the default

    So this is my first day not having an all-inclusive nvidia blob to lean on. I have no idea what packages I need, or if the firmware package has a file for my card, where to get the file if it doesn't, etc, etc. And since everything is in flux, I have no idea what information to go on, when I can even find something relevant (which I haven't been doing too well at)

    What am I missing? Is there a guide on getting the most out of the radeon driver as possible without compiling stuff from git?

    dmesg makes no mention of firmware or radeon.

    the relevant bits of "egrep "WW|EE" /var/log/Xorg.0.log":
    (EE) RADEON(0): [dri] RADEONDRIGetVersion failed to open the DRM
    (WW) RADEON(0): Direct rendering disabled
    (EE) RADEON(0): Acceleration initialization failed

    I copied my xorg log and my xorg.conf with all its left over nvidia cruft, to pastebin. I'm happy to read documents and try to figure this out myself, but I just haven't the foggiest where to look or even what for.

  • #2
    I think your kernel/drm is too old. The coffee didn't work today so not sure of exact versions, but IIRC you need at least 2.6.32 for 2D acceleration on 6xx/7xx parts. You can see the drm open failing in xorg.log.

    If you want to pastebin your dmesg output we can check to make sure nothing else is wrong.
    Last edited by bridgman; 12-23-2009, 01:01 PM.


    • #3
      Thanks for the quick response bridgman. I thought though, that 2.6.30 was enough for at least xv - I came across this thread earlier, and the OP said that he just recompiled his 2.6.30(an rc, zen kernel though) kernel, selecting drm and radeon for inclusion. I'd have thought those things would already be included in the stock Debian kernel (maybe not Charlie's xen one though), and anyway, he seemed to have to just recompiled the same version and it was good enough.

      Anyway, I'm willing to try just about anything, so I'm off to grab sid's 2.6.32 kernel. Here's hoping LIRC keeps working after...

      edit: pastebin'd dmesg
      Last edited by oblivious_maximus; 12-23-2009, 01:11 PM.


      • #4
        Yeah, I'm having trouble remembering whether it was 2.6.30 for 2D and 2.6.32 for 3D, or 2.6.32 for 2D unless you picked up a newer drm...

        (does some searching)

        OK, looks like 2.6.30 should be all you need, assuming it was built with all the right drm bits.


        • #5
          2.6.30 is needed for 2D/Xv, however, I think rv740 support was added in 2.6.31 as the hw wasn't available when 2.6.30 was released. 2.6.32 is required for 3D.


          • #6
            agd5f obviously has access to better coffee than me


            • #7
              Can we hope to get ability to build drm modules without building whole kernel any time soon?

              like it was with linux-core folder in drm pkg in good old time.


              • #8
                AFAIK you can do that now. The difference is that the work is being done in a branch off the kernel tree rather than a separate repo. You need to *download* the entire kernel tree but AFAIK you don't need to *build* it.

                There are no explicit attempts to make newer drms work with older kernels, however within a narrow range that still seems to work.


                • #9
                  Originally posted by agd5f View Post
                  2.6.30 is needed for 2D/Xv, however, I think rv740 support was added in 2.6.31 as the hw wasn't available when 2.6.30 was released. 2.6.32 is required for 3D.
                  Aha! As I say, it's not easy to find reliable information at the moment. There's always one variable somewhere...

                  So! I Installed 2.6.32 from sid, and I now have one shiny new Radeon Textured Video Adaptor! Videos play! But there's another problem now, a lot of corruption in the display. For a moment I thought it might be KDE trying to use effects, the "enable effects" tickbox was still checked but the status display said "compositing is disabled". I unitcked the box anyway and restarted to no effect.

                  Anyway, this corruption is best described with a picture:

                  I've seen some corruption in GIMP's cursor too, but it's mostly in Plasma widgets, tooltips and mouse-over events, like in Dolphin moving the mouse over files, and mousing over the Kmenu button and the taskbar items, and the pager. Firefox seems to work just fine. If you change the resolution however, the corruption gets really crazy, all over everything.

                  Is this a case of 6.12.3 just being too old for my still-newish card? What can I do? I already had the non-free firmware package from sid installed. Testing and sid both have the same version of libdrm2. Am I missing something?

                  the relevant error and warning lines from the log:
                  (WW) RADEON(0): DRI init changed memory map, adjusting ...
                  (WW) RADEON(0): MC_FB_LOCATION was: 0x00ef00d0 is: 0x00ef00d0
                  (WW) RADEON(0): MC_AGP_LOCATION was: 0x003f0000 is: 0x00030000
                  (EE) AIGLX error: dlopen of /usr/lib/dri/ failed (/usr/lib/dri/ cannot open shared object file: No such file or directory)
                  (EE) AIGLX: reverting to software rendering

                  I pasted my new xorg log and dmesg. I am definitely no expert but the only thing seems wrong to me is the fact that this process gets repeated like 5 times:
                  [ 25.168086] [drm] Setting GART location based on new memory map
                  [ 25.168753] [drm] Loading RV730 CP Microcode
                  [ 25.169456] platform r600_cp.0: firmware: requesting radeon/RV730_pfp.bin
                  [ 25.207654] platform r600_cp.0: firmware: requesting radeon/RV730_me.bin
                  [ 25.251500] [drm] Resetting GPU
                  [ 25.251561] [drm] writeback test succeeded in 1 usecs
                  [ 64.617026] [drm] Resetting GPU


                  • #10
                    Hmmm, that's not right

                    Most of the messages look OK. The one about missing means you don't have a 3D driver built for 6xx/7xx, but that's a separate issue.

                    Is this an AGP card by any chance ? I was never sure if the AGP 4770 went ahead or not...
                    Last edited by bridgman; 12-23-2009, 03:30 PM.


                    • #11
                      No, this is a PCI-E 16x card. I'm not too concerned about the 3d stuff.

                      edit: I tried radeonhd, I'm guessing it doesn't support my card at all because it dumped me to VT1. When going to change back I thought I'd comment out the EXA and DRI options, but doing so had no apparent effect - going to try setting them to "off" instead, presumably they default to on just like DMAforXv?

                      edit2: silly me, you can't set "AccelMethod" to off! And disabling DRI, while getting rid of the corruption, only serves to bring me back to square one with no video.

                      edit3: seems there's still a teency bit of corruption even without DRI. So far only seen on the row of 5 icons at the bottom of the Kmenu.

                      edit4(a day later): Well, I managed to bend fglrx mostly to my will, though I did curse its existence loudly and repeatedly before reaching that point. It's still not exactly what I'd like, but it's close enough to live with until my card is better supported by the xorg driver. Still interested in a solution to this corruption though.

                      Anyway, thanks for your help bridgman, agd5f.
                      Last edited by oblivious_maximus; 12-24-2009, 03:16 PM.


                      • #12
                        I'm posting this just in case this helps to get it fixed, as I have the same card (Sapphire HD4770 PCI) and can confirm that I see the same problem with the radeon drivers that came with Ubuntu 9.10. The fglrx drivers (again default ubuntu ones) are still affected to some degree, but for me much less than the radeon ones. The corruptio appears to affect qt apps much more than GTK ones. I filed a bug report about this:



                        • #13
                          Following a comment in the launchpad link to another thread on phoronix (, I can confirm that that setting Option "EXANoDownloadFromScreen" "true" in Section "Device" of xorg.conf fixes / works round the screen corruption.


                          • #14
                            philh, thanks for the tip. I used to think that desktop effects were pointless eye candy that would slow down my system, but once I got the 3D running on my RV710, I found that compositing (Compiz/KWin/xfce4-compositor) ran smoothly, and I really liked it. I hope you find the same.