Announcement

Collapse
No announcement yet.

Radeon Driver Gets Tear-Free X-Video

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

  • #16
    Originally posted by bridgman View Post
    We have 2d accel working in house, and video "almost working", along with a demo program that shows how to program the engine for common 3d functions, and are going through what we hope will be the final IP review for public release.

    The code and docs cover both 6xx (HD2xxx, HD3xxx) and 7xx (HD4xxx) families.
    Awesome! I got the card specifically for video playback hoping that you would come through with this, so thats great news (I realized I actually have a 4850, but it sounds like the same deal).

    Comment


    • #17
      Ubuntu packages

      If you use plain Ubuntu 8.04 or 8.10, you can get an updated DDX (card driver) from my repository https://launchpad.net/~tormodvolden/+archive The packages are unofficial, but testing is welcome.

      If you want to upgrade libraries, server and dependencies (for instance xserver 1.5 in Hardy or mesa trunk in Jaunty) then the xorg-edgers repository might be of interest to you. All disclaimers apply. Read the small text on https://launchpad.net/~xorg-edgers/+archive

      Comment


      • #18
        Nope, it paralyses my Xorg server on Fedora 9

        My machine doesn't lock up, but I still can't login.

        Code:
        (II) Module exa: vendor="X.Org Foundation"
        	compiled for 1.5.2, module version = 2.4.0
        	ABI class: X.Org Video Driver, version 4.1
        (==) RADEON(0): Assuming overlay scaler buffer width is 1920
        (II) RADEON(0): No MM_TABLE found - assuming CARD is not TV-in capable.
        (!!) RADEON(0): For information on using the multimedia capabilities
        	of this adapter, please see http://gatos.sf.net.
        (!!) RADEON(0): MergedFB support has been removed and replaced with xrandr 1.2 support
        (--) Depth 24 pixmap format is 32 bpp
        (II) do I need RAC?  No, I don't.
        (II) resource ranges after preInit:
        	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
        	[1] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
        	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
        	[3] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
        	[4] 0	0	0x000a0000 - 0x000affff (0x10000) MS[B](OprU)
        	[5] 0	0	0x000b0000 - 0x000b7fff (0x8000) MS[B](OprU)
        	[6] 0	0	0x000b8000 - 0x000bffff (0x8000) MS[B](OprU)
        	[7] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
        	[8] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
        	[9] 0	0	0x000003b0 - 0x000003bb (0xc) IS[B](OprU)
        	[10] 0	0	0x000003c0 - 0x000003df (0x20) IS[B](OprU)
        (II) RADEON(0): RADEONScreenInit e0000000 0 0
        Entering TV Save
        Save TV timing tables
        saveTimingTables: reading timing tables
        TV Save done
        (==) RADEON(0): Using 24 bit depth buffer
        (II) RADEON(0): RADEONInitMemoryMap() : 
        (II) RADEON(0):   mem_size         : 0x10000000
        (II) RADEON(0):   MC_FB_LOCATION   : 0xefffe000
        (II) RADEON(0):   MC_AGP_LOCATION  : 0xffffffc0
        (II) RADEON(0): Depth moves disabled by default
        (**) RADEON(0): Using accelerated EXA DownloadFromScreen hook
        (II) RADEON(0): Allocating from a screen of 262144 kb
        (II) RADEON(0): Will use 32 kb for hardware cursor 0 at offset 0x007e9000
        (II) RADEON(0): Will use 32 kb for hardware cursor 1 at offset 0x007ed000
        (II) RADEON(0): Will use 8100 kb for front buffer at offset 0x00000000
        (II) RADEON(0): Will use 8100 kb for back buffer at offset 0x007f1000
        (II) RADEON(0): Will use 8100 kb for depth buffer at offset 0x00fda000
        (II) RADEON(0): Will use 118784 kb for textures at offset 0x017c3000
        (II) RADEON(0): Will use 119028 kb for X Server offscreen at offset 0x08bc3000
        drmOpenDevice: node name is /dev/dri/card0
        drmOpenDevice: open result is 13, (OK)
        drmOpenDevice: node name is /dev/dri/card0
        drmOpenDevice: open result is 13, (OK)
        drmOpenByBusid: Searching for BusID pci:0000:01:00.0
        drmOpenDevice: node name is /dev/dri/card0
        drmOpenDevice: open result is 13, (OK)
        drmOpenByBusid: drmOpenMinor returns 13
        drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
        (II) [drm] DRM interface version 1.3
        (II) [drm] DRM open master succeeded.
        (II) RADEON(0): [drm] Using the DRM lock SAREA also for drawables.
        (II) RADEON(0): [drm] framebuffer handle = 0xe0000000
        (II) RADEON(0): [drm] added 1 reserved context for kernel
        (II) RADEON(0): X context handle = 0x1
        (II) RADEON(0): [drm] installed DRM signal handler
        (**) RADEON(0): Using AGP 8x
        (II) RADEON(0): [agp] Mode 0x1f00420a [AGP 0x8086/0x2550; Card 0x1002/0x4153]
        (II) RADEON(0): [agp] 131072 kB allocated with handle 0x00000001
        (II) RADEON(0): [agp] ring handle = 0xc8000000
        (II) RADEON(0): [agp] Ring mapped at 0xb7e3b000
        (II) RADEON(0): [agp] ring read ptr handle = 0xc8101000
        (II) RADEON(0): [agp] Ring read ptr mapped at 0xb7e3a000
        (II) RADEON(0): [agp] vertex/indirect buffers handle = 0xc8102000
        (II) RADEON(0): [agp] Vertex/indirect buffers mapped at 0xa7b97000
        (II) RADEON(0): [agp] GART texture map handle = 0xc8302000
        (II) RADEON(0): [agp] GART Texture map mapped at 0x9ff97000
        (II) RADEON(0): [drm] register handle = 0xff8f0000
        (II) RADEON(0): [dri] Visual configs initialized
        (II) RADEON(0): RADEONRestoreMemMapRegisters() : 
        (II) RADEON(0):   MC_FB_LOCATION   : 0xefffe000 0x1fff0000
        (II) RADEON(0):   MC_AGP_LOCATION  : 0xffffffc0
        (==) RADEON(0): Backing store disabled
        (II) RADEON(0): [DRI] installation complete
        (II) RADEON(0): [drm] Added 32 65536 byte vertex/indirect buffers
        (II) RADEON(0): [drm] Mapped 32 vertex/indirect buffers
        (II) RADEON(0): [drm] dma control initialized, using IRQ 16
        (II) RADEON(0): [drm] Initialized kernel GART heap manager, 130023424
        (WW) RADEON(0): DRI init changed memory map, adjusting ...
        (WW) RADEON(0):   MC_FB_LOCATION  was: 0xefffe000 is: 0xefffe000
        (WW) RADEON(0):   MC_AGP_LOCATION was: 0xffffffc0 is: 0xcfffc800
        (II) RADEON(0): RADEONRestoreMemMapRegisters() : 
        (II) RADEON(0):   MC_FB_LOCATION   : 0xefffe000 0xefffe000
        (II) RADEON(0):   MC_AGP_LOCATION  : 0xcfffc800
        (II) RADEON(0): Direct rendering enabled
        (II) RADEON(0): Render acceleration enabled for R300/R400/R500 type cards.
        (II) RADEON(0): Setting EXA maxPitchBytes
        (II) RADEON(0): EXA VSync enabled
        (II) RADEON(0): num quad-pipes is 1
        (**) RADEON(0): Option "MigrationHeuristic" "greedy"
        (II) EXA(0): Offscreen pixmap area of 121884672 bytes
        (II) EXA(0): Driver registered support for the following operations:
        (II)         Solid
        (II)         Copy
        (II)         Composite (RENDER acceleration)
        (II)         UploadToScreen
        (II)         DownloadFromScreen
        (II) RADEON(0): Acceleration enabled
        (**) Option "dpms"
        (**) RADEON(0): DPMS enabled
        (==) RADEON(0): Silken mouse enabled
        (II) RADEON(0): No video input capabilities detected and no information is provided - disabling multimedia i2c
        (II) Loading sub module "theatre_detect"
        (II) LoadModule: "theatre_detect"
        
        (II) Loading /usr/lib/xorg/modules/multimedia//theatre_detect_drv.so
        (II) Module theatre_detect: vendor="X.Org Foundation"
        	compiled for 1.4.99.905, module version = 1.0.0
        	ABI class: X.Org Video Driver, version 4.1
        (II) RADEON(0): no multimedia table present, disabling Rage Theatre.
        (II) RADEON(0): Set up overlay video
        (II) RADEON(0): Set up textured video
        init memmap
        init common
        init crtc1
        init pll1
        freq: 119000000
        best_freq: 119000000
        best_feedback_div: 238
        best_ref_div: 27
        best_post_div: 2
        restore memmap
        (II) RADEON(0): RADEONRestoreMemMapRegisters() : 
        (II) RADEON(0):   MC_FB_LOCATION   : 0xefffe000 0xefffe000
        (II) RADEON(0):   MC_AGP_LOCATION  : 0xcfffc800
        restore common
        restore crtc1
        restore pll1
        finished PLL1
        restore FP
        (II) RADEON(0): RandR 1.2 enabled, ignore the following RandR disabled message.
        init memmap
        init common
        init crtc1
        init pll1
        freq: 119000000
        best_freq: 119000000
        best_feedback_div: 238
        best_ref_div: 27
        best_post_div: 2
        restore memmap
        (II) RADEON(0): RADEONRestoreMemMapRegisters() : 
        (II) RADEON(0):   MC_FB_LOCATION   : 0xefffe000 0xefffe000
        (II) RADEON(0):   MC_AGP_LOCATION  : 0xcfffc800
        restore common
        restore crtc1
        restore pll1
        finished PLL1
        restore FP
        (--) RandR disabled
        (II) Initializing built-in extension MIT-SHM
        (II) Initializing built-in extension XInputExtension
        (II) Initializing built-in extension XTEST
        (II) Initializing built-in extension XKEYBOARD
        (II) Initializing built-in extension XINERAMA
        (II) Initializing built-in extension XFIXES
        (II) Initializing built-in extension RENDER
        (II) Initializing built-in extension RANDR
        (II) Initializing built-in extension COMPOSITE
        (II) Initializing built-in extension DAMAGE
        (II) Initializing built-in extension XEVIE
        drmOpenDevice: node name is /dev/dri/card0
        drmOpenDevice: open result is 14, (OK)
        drmOpenByBusid: Searching for BusID pci:0000:01:00.0
        drmOpenDevice: node name is /dev/dri/card0
        drmOpenDevice: open result is 14, (OK)
        drmOpenByBusid: drmOpenMinor returns 14
        drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
        (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
        (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
        (II) AIGLX: enabled GLX_texture_from_pixmap with driver support
        (II) AIGLX: Loaded and initialized /usr/lib/dri/r300_dri.so
        (II) GLX: Initialized DRI GL provider for screen 0
        (II) RADEON(0): Setting screen physical size to 434 x 270
        (**) Option "Protocol" "auto"
        (**) Option "Device" "/dev/input/mice"
        (II) Mouse0: Setting mouse protocol to "ExplorerPS/2"
        (**) Mouse0: Device: "/dev/input/mice"
        (**) Mouse0: Protocol: "auto"
        (**) Option "CorePointer"
        (**) Mouse0: always reports core events
        (**) Option "Device" "/dev/input/mice"
        (**) Option "Emulate3Buttons" "no"
        (**) Option "ZAxisMapping" "4 5"
        (**) Mouse0: ZAxisMapping: buttons 4 and 5
        (**) Mouse0: Buttons: 9
        (**) Mouse0: Sensitivity: 1
        (**) Option "CoreKeyboard"
        (**) Keyboard0: always reports core events
        (**) Option "Protocol" "standard"
        (**) Keyboard0: Protocol: standard
        (**) Option "AutoRepeat" "500 30"
        (**) Option "XkbRules" "xorg"
        (**) Keyboard0: XkbRules: "xorg"
        (**) Option "XkbModel" "pc105"
        (**) Keyboard0: XkbModel: "pc105"
        (**) Option "XkbLayout" "gb"
        (**) Keyboard0: XkbLayout: "gb"
        (**) Option "CustomKeycodes" "off"
        (**) Keyboard0: CustomKeycodes disabled
        (II) evaluating device (Mouse0)
        (II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)
        (II) evaluating device (Keyboard0)
        (II) XINPUT: Adding extended input device "Keyboard0" (type: KEYBOARD)
        (II) Mouse0: Setting mouse protocol to "ExplorerPS/2"
        (II) Mouse0: ps2EnableDataReporting: succeeded
        (II) RADEON(0): Damage tracking initialized for page flipping
        (II) config/hal: Adding input device ImPS/2 Generic Wheel Mouse
        (II) LoadModule: "evdev"
        
        (II) Loading /usr/lib/xorg/modules/input//evdev_drv.so
        (II) Module evdev: vendor="X.Org Foundation"
        	compiled for 1.5.0, module version = 2.0.7
        	Module class: X.Org XInput Driver
        	ABI class: X.Org XInput driver, version 2.1
        (**) ImPS/2 Generic Wheel Mouse: always reports core events
        (**) ImPS/2 Generic Wheel Mouse: Device: "/dev/input/event3"
        (II) ImPS/2 Generic Wheel Mouse: Found x and y relative axes
        (II) ImPS/2 Generic Wheel Mouse: Found mouse buttons
        (II) ImPS/2 Generic Wheel Mouse: Configuring as mouse
        (II) XINPUT: Adding extended input device "ImPS/2 Generic Wheel Mouse" (type: MOUSE)
        and then it all stops.

        Comment


        • #19
          Originally posted by Zhick View Post
          My experience so far: On r500 cards you will get corruption in windowed video with the current git-version when you're using compositing. Even without there will be some corruption, though less notable (see the bugreport oibaf linked). But Alex Deucher already created a patch which fix this issue (attached to the same bugreport), but it seems not to be in git yet.
          With the patch there's no tearing on videos without compositing, but still with compositing enabled.
          The corruption with compositing has been fixed properly now. The Xv anti-tear stuff won't help with composite since the video is rendered offscreen and then composited onto the desktop later. In that case, you can enable EXA and the EXAVsync option to apply the same techniques to EXA (for metacity or other compositers that use render). Since Compiz uses GL, you'll have to use the compiz vsync options.
          Last edited by agd5f; 12-05-2008, 06:28 PM.

          Comment


          • #20
            Works brilliantly on ATI X1400/r500

            Wow, textured video with the latest xf86-video-ati GIT snapshot is just perfectly in sync. No tearing at all, here. Tested with a 60fps video, and it was smooth. Great ! So I don't need to use VSYNC-ed OpenGL output, anymore. Note that I don't use Compiz, nor EXA acceleration (because of corruption issues).

            Ubuntu/8.10 x86, ATI X1400 radeon mobile.

            Comment


            • #21
              Originally posted by oyvind View Post
              nor EXA acceleration (because of corruption issues).
              If you haven't filed a bug for this yet, please do. We can't fix bugs we don't know about.

              Comment


              • #22
                First when i enable EXAVSync i see gtkperf performance drop (from 10s to 22s) and 'man radeon' said "It reduces tearing at the cost of performance." == that is OK... Then i start tvtime (overlay port) and got hard freeze. Reboot on case button. Then i start 'xdtv' (now with textured video port), second hard freeze. Reboot on case button. off for EXAVSync. Write this.

                r200 (9250) here

                Comment


                • #23
                  Originally posted by tormod View Post
                  If you use plain Ubuntu 8.04 or 8.10, you can get an updated DDX (card driver) from my repository https://launchpad.net/~tormodvolden/+archive The packages are unofficial, but testing is welcome.
                  Just tried the latest version (6.9.0+git20081206.979ad04d-0ubuntu0tormod) on Ubuntu 8.10 64-bit running a Thinkpad Z61m with an X1400 ATI chip and I'll be damned!

                  Never seen such smooth video playback of Big Buck Bunny (big_buck_bunny_1080p_surround.avi) on this laptop before using either previous radeon or fglrx drivers (and trust me about using that video as a benchmark, my one and a half year old daughter has us see that one almost once a day).

                  I need to toggle Compiz off using fusion-icon though or there will still be tearing. I have nothing else manually specified in my xorg.conf than the EXA option:

                  Code:
                  Section "Device"
                  	Identifier	"Configured Video Device"
                  	Option "AccelMethod" "EXA"
                  EndSection
                  The radeon driver has come a long long way this year and I can finally fully enjoy using this laptop without breaking into tears

                  To everyone involved in improving, packaging and testing this driver, thanx for your hard work and happy holidays!

                  bridgman, I'm sure you know what we all want for this Christmas this year. Apart from being grumpy about fglrx and impressed by Nvidias VDPAU I've been a fairly good boy

                  Comment


                  • #24
                    Umm... World peace ? A chicken in every pot ? Carmen Electra ?

                    Comment


                    • #25
                      Originally posted by agd5f View Post
                      If you haven't filed a bug for this yet, please do. We can't fix bugs we don't know about.
                      Ah, well, I am the person responsible for reporting these bugs:

                      https://bugs.freedesktop.org/show_bug.cgi?id=18399
                      https://bugs.freedesktop.org/show_bug.cgi?id=18400
                      https://bugs.freedesktop.org/show_bug.cgi?id=18591
                      https://bugs.freedesktop.org/show_bug.cgi?id=18398
                      https://bugs.freedesktop.org/show_bug.cgi?id=18397

                      All EXA corruption related, four of them originally reported through the Ubuntu bug system

                      Regards,
                      Řyvind S.

                      Comment


                      • #26
                        Hm, maybe I got something wrong, but how do you enable XV at all with the Radeon driver? I'm using the latest one (1:6.9.0+git20081003.f9826a56-0ubuntu4) from Jaunty at the moment, and 'xvinfo' returns:

                        X-Video Extension version 2.2
                        screen #0
                        no adaptors present

                        Is there any specific configuration option I should enable? I'm using a HD3200 IGP.

                        Comment


                        • #27
                          Originally posted by susikala View Post
                          Is there any specific configuration option I should enable? I'm using a HD3200 IGP.
                          Xv is only available on r1xx-r5xx chips. Accel code (including Xv) for r6xx/r7xx chips (the hd3200 is r6xx based) is in progress and will be released as soon as the IP review is finished.

                          Comment


                          • #28
                            Originally posted by agd5f View Post
                            Xv is only available on r1xx-r5xx chips. Accel code (including Xv) for r6xx/r7xx chips (the hd3200 is r6xx based) is in progress and will be released as soon as the IP review is finished.
                            Ah, thanks a bunch! I thought that applied only to RadeonHD.

                            Comment


                            • #29
                              Originally posted by susikala View Post
                              I'm using the latest one (1:6.9.0+git20081003.f9826a56-0ubuntu4) from Jaunty at the moment, and
                              You might want to try the updated Intrepid driver from my personal repository at https://launchpad.net/~tormodvolden/+archive
                              It should run fine in Jaunty.

                              Comment


                              • #30
                                this is readon driver and not readonhd, right ?

                                Comment

                                Working...
                                X