Announcement

Collapse
No announcement yet.

Open-Source Radeon Driver Improvements

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Open-Source Radeon Driver Improvements

    Phoronix: Open-Source Radeon Driver Improvements

    For those following the xf86-video-ati developments or use this open-source Radeon driver for their graphics card, you may want to check out the latest development code. Committed to its git branch today was a lot of new work from Alex Deucher, Dennis Kasprzyk, David Airlie, Egbert Eich, and Corbin Simpson. There is now bi-cubic X-Video support for the Radeon R300 and R500 series GPUs, heavy optimizations in the video functions, and lots of code cleaning...

    http://www.phoronix.com/vr.php?view=NjY3NA

  • #2
    Big improvement. I can switch virtual terminals again. Video still has some tearing, but not nearly as bad as it once was. I still cant get 3d to work.

    All in all it seems to be a great improvement. Keep up the good work guys, and lets try to get 3d working again.

    Comment


    • #3
      Mesa 7.1 also looks pretty finished to me. Release today, tomorrow? Xorg 7.4 should be released then, too, with RadeonHD 1.3 hopefully arriving in time for the october distributions.

      Comment


      • #4
        Originally posted by duby229 View Post
        Big improvement. I can switch virtual terminals again. Video still has some tearing, but not nearly as bad as it once was. I still cant get 3d to work.

        All in all it seems to be a great improvement. Keep up the good work guys, and lets try to get 3d working again.
        I just updated to git master. It works just as fine as it did before, including 3D (Save for Xv tearing.)

        Comment


        • #5
          This works fine for me too. Has anyone tried "mplayer -vo xv" (on a widescreen. I have 1680X1050) on R400 cards (I have a X800 card). Video works fine through gl2 on mplayer but the resolution gets horribly messed up when I use xv. Same behavior with the latest git driver.
          Last edited by kadambi; 08-26-2008, 04:00 PM.

          Comment


          • #6
            On an X800 I believe radeon will expose both overlay and textured video ports, and mplayer will use the overlay port by default while the improvements are on the textured video path. Are you telling mplayer to use the texvid ports ?

            I think the xvinfo command should give you details of the available Xv ports.

            Are you using XAA or EXA acceleration ? Apparently EXA works much better than XAA with Textured Video.

            Comment


            • #7
              Originally posted by bridgman View Post
              On an X800 I believe radeon will expose both overlay and textured video ports, and mplayer will use the overlay port by default while the improvements are on the textured video path. Are you telling mplayer to use the texvid ports ?

              I think the xvinfo command should give you details of the available Xv ports.

              Are you using XAA or EXA acceleration ? Apparently EXA works much better than XAA with Textured Video.
              I am using EXA.

              My xvinfo gives

              Adaptor #1: "Radeon Textured Video"
              number of ports: 16
              port base: 58
              operations supported: PutImage
              supported visuals:
              depth 24, visualID 0x21
              no port attributes defined
              maximum XvImage size: 2048 x 2048
              Number of image formats: 4
              id: 0x32595559 (YUY2)
              guid: 59555932-0000-0010-8000-00aa00389b71
              bits per pixel: 16
              number of planes: 1
              type: YUV (packed)
              id: 0x32315659 (YV12)
              guid: 59563132-0000-0010-8000-00aa00389b71
              bits per pixel: 12
              number of planes: 3
              type: YUV (planar)
              id: 0x30323449 (I420)
              guid: 49343230-0000-0010-8000-00aa00389b71
              bits per pixel: 12
              number of planes: 3
              type: YUV (planar)
              id: 0x59565955 (UYVY)
              guid: 55595659-0000-0010-8000-00aa00389b71
              bits per pixel: 16
              number of planes: 1
              type: YUV (packed)


              and I used

              mplayer -vo xv:\port=58 <video file>

              This messes up the resolution completely. I can live with "-vo gl2" since it works fine.

              xv seems to work fine on 4:3 monitor too. Looks like a widescreen issue?

              Comment


              • #8
                Originally posted by RealNC View Post
                I just updated to git master. It works just as fine as it did before, including 3D (Save for Xv tearing.)
                Any suggestion on how to resolve this problem?

                Error: couldn't get an RGB, Double-buffered visual
                I get this on any 3d application I try to run? Any logs you want to see? Any configuration? Any commands you need run? Any help at all guys. I would be totally appreciative.

                Comment


                • #9
                  @duby229

                  Read this. I think you can also safely revert back this patch to make your 3D work again, but maybe it is already fixed in 7.1 release and you can tried that first.

                  Comment


                  • #10
                    Originally posted by duby229 View Post
                    Any suggestion on how to resolve this [Xv tearing] problem?
                    It's not possible. The only workaround is to use Gl video and enable vsync with driconf. Unfortunately this will need more CPU than Xv but it does work flawlessly (at least on my R580 chip).

                    Comment


                    • #11
                      Originally posted by dungeon View Post
                      @duby229

                      Read this. I think you can also safely revert back this patch to make your 3D work again, but maybe it is already fixed in 7.1 release and you can tried that first.
                      Yeah I think that's it. After reading the guru's, I'm not sure what I can do except wait. I can try to reverse that patch, but I have no idea how to do it. I'll just wait it out and till it gets fixed in master then I'll just resync and reinstall.

                      Comment


                      • #12
                        The key point from the link seems to be :

                        Long story short: Mesa 7.1 requires xserver > 1.4.99.906
                        Backing out that specific commit makes Mesa work with slightly older X servers (say 1.4.99.905) but it seems that picking up the very latest X server is the real answer. The commit in question had a corresponding commit in X server so you need both for things to work.

                        Haven't actually tried it or anything though...

                        Comment


                        • #13
                          Yes, yes, krh was yesterday applied fix for this and that means... LSS: xserver must be from git.

                          Comment


                          • #14
                            Originally posted by dungeon View Post
                            Yes, yes, krh was yesterday applied fix for this and that means... LSS: xserver must be from git.
                            I've been trying to rebuild the xserver for a few weeks now, but so far I've had no luck at all. Every single time I try it craps out at the same spot.

                            Code:
                            ../doltcompile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../include -I../hw/xfree86/os-support -I../hw/xfree86/os-support/bus -I../hw/xfree86/common -I../hw/xfree86/dri -I../hw/xfree86/dri2 -I../mi   -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include    -I../include -I../include -I../Xext -I../composite -I../damageext -I../xfixes -I../Xi -I../mi -I../miext/shadow  -I../miext/damage -I../render -I../randr -I../fb -I/usr/include/drm -I/usr/include/X11/dri -DXFree86Server -D__GLX_ALIGN64 -O2 -pipe -march=k8 -MT indirect_dispatch_swap.lo -MD -MP -MF .deps/indirect_dispatch_swap.Tpo -c -o indirect_dispatch_swap.lo indirect_dispatch_swap.c
                            ../doltcompile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../include -I../hw/xfree86/os-support -I../hw/xfree86/os-support/bus -I../hw/xfree86/common -I../hw/xfree86/dri -I../hw/xfree86/dri2 -I../mi   -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include    -I../include -I../include -I../Xext -I../composite -I../damageext -I../xfixes -I../Xi -I../mi -I../miext/shadow  -I../miext/damage -I../render -I../randr -I../fb -I/usr/include/drm -I/usr/include/X11/dri -DXFree86Server -D__GLX_ALIGN64 -O2 -pipe -march=k8 -MT indirect_reqsize.lo -MD -MP -MF .deps/indirect_reqsize.Tpo -c -o indirect_reqsize.lo indirect_reqsize.c
                            In file included from indirect_dispatch.c:40:
                            glapitable.h:812: error: expected declaration specifiers or '...' before 'GLint64EXT'
                            glapitable.h:813: error: expected declaration specifiers or '...' before 'GLuint64EXT'
                            indirect_dispatch.c: In function '__glXDisp_TexSubImage1D':
                            indirect_dispatch.c:2976: warning: cast to pointer from integer of different size
                            indirect_dispatch.c: In function '__glXDisp_TexSubImage2D':
                            indirect_dispatch.c:3000: warning: cast to pointer from integer of different size
                            indirect_dispatch.c: In function '__glXDisp_TexImage3D':
                            indirect_dispatch.c:3748: warning: cast to pointer from integer of different size
                            indirect_dispatch.c: In function '__glXDisp_TexSubImage3D':
                            indirect_dispatch.c:3777: warning: cast to pointer from integer of different size
                            make[1]: *** [indirect_dispatch.lo] Error 1
                            make[1]: *** Waiting for unfinished jobs....
                            In file included from indirect_dispatch_swap.c:40:
                            glapitable.h:812: error: expected declaration specifiers or '...' before 'GLint64EXT'
                            glapitable.h:813: error: expected declaration specifiers or '...' before 'GLuint64EXT'
                            indirect_dispatch_swap.c: In function '__glXDispSwap_TexSubImage1D':
                            indirect_dispatch_swap.c:3096: warning: cast to pointer from integer of different size
                            indirect_dispatch_swap.c: In function '__glXDispSwap_TexSubImage2D':
                            indirect_dispatch_swap.c:3120: warning: cast to pointer from integer of different size
                            indirect_dispatch_swap.c: In function '__glXDispSwap_TexImage3D':
                            indirect_dispatch_swap.c:3884: warning: cast to pointer from integer of different size
                            indirect_dispatch_swap.c: In function '__glXDispSwap_TexSubImage3D':
                            indirect_dispatch_swap.c:3913: warning: cast to pointer from integer of different size
                            make[1]: *** [indirect_dispatch_swap.lo] Error 1
                            mv -f .deps/indirect_reqsize.Tpo .deps/indirect_reqsize.Plo
                            make[1]: Leaving directory `/var/tmp/portage/x11-base/xorg-server-9999/work/xorg-server-9999/glx'
                            make: *** [all-recursive] Error 1
                            Any idea on how to get around this error when compiling the xserver?

                            Comment


                            • #15
                              duby229
                              Check whether you have the latest (git) x11-proto packages and mesa from git installed.
                              I have a problem with building xorg-server from git as well, but the problem is with osdep.h header (OPEN_MAX macrodefinition - it needs manual tweak to compile).
                              Besides maybe this forum is not the best place to discuss problems with Gentoo ebuilds.
                              Last edited by reavertm; 08-28-2008, 12:51 PM.

                              Comment

                              Working...
                              X