Announcement

Collapse
No announcement yet.

ATI Radeon KMS vs. UMS With Ubuntu 10.04

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

  • #21
    On the Intel side, vblank can be controlled through driconf, I'm guessing something similar is planned here?

    Comment


    • #22
      This isn't really "sync to vblank" as far as I know; it's a milder version that minimizes tearing but which does not limit the frame rate to the monitor refresh rate. I think it's the same mechanism that agd5f added to the Xv (and optionally EXA) code in radeon a year or so ago.

      In other words "this isn't vblank so the vblank control shouldn't control it" -- that said I guess it might be nice to have *some* way to turn it on and off. Not sure if there is any standard way to configure drm code yet, or if driconf is an appropriate solution (ie I don't remember if driconf is read by the userspace or kernel bits of DRI).
      Test signature

      Comment


      • #23
        AFAIK DRI2 *always* syncs to vblank. That's usually how you want it anyway (tearing != better performance, even when the fps is higher).

        Comment


        • #24
          Interesting, that is indeed the case, the options in driconf doesn't have any effect.

          Comment


          • #25
            Originally posted by RealNC View Post
            Shouldn't VSync be controllable from user space? There's a "VSync" checkbox in KDE's settings, for example, that's supposed to only work with DRI2.
            It's a different thing. There are GL(X) extensions used for synchronization that would be used in that case.

            Comment


            • #26
              Originally posted by agd5f View Post
              Part of the problem is due to vline waiting for buffer swaps in the dri2 paths. This avoids tearing at the expense of performance (you can't really see more frames than the monitor can display, but...). This should be alleviated with page-flipping support. Try this ddx patch:

              How much of a performance hit are you attributing to this? Are you suggesting the driver is effectively frame limiting at the moment?

              Comment


              • #27
                I did a similar comparison but with my RV530 and also using latest libdrm and mesa from git. I noticed two UMS -> KMS regression:
                1. Ubuntu bug 533784: this is already fixed in 2.6.34-rc1, Ubuntu should only backport the patches;
                2. texture corruption on many games. Examples:
                  • torcs: note the missing/corrupted text at left corners and also the FPS text:

                  • doom3: darker image:


                Are these known issues or I am the only one experiencing these (in this case I will report as new bug)?

                Comment


                • #28
                  Originally posted by agd5f View Post
                  Part of the problem is due to vline waiting for buffer swaps in the dri2 paths. This avoids tearing at the expense of performance (you can't really see more frames than the monitor can display, but...). This should be alleviated with page-flipping support. Try this ddx patch:

                  Code:
                  diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
                  index 103972f..7ddcda0 100644
                  --- a/src/radeon_dri2.c
                  +++ b/src/radeon_dri2.c
                  @@ -313,7 +313,7 @@ radeon_dri2_copy_region(DrawablePtr drawable,
                       }
                   
                       vsync = info->accel_state->vsync;
                  -    info->accel_state->vsync = TRUE;
                  +    //info->accel_state->vsync = TRUE;
                   
                       (*gc->ops->CopyArea)(&src_pixmap->drawable, &dst_pixmap->drawable, gc,
                                            0, 0, drawable->width, drawable->height, 0, 0);
                  It's quite a while I want to make a benchmark of UMS vs KMS vs KMS w/o vsync. If UMS will finally work on my HD3870 (which I doubt ) I will surely do it.
                  ## VGA ##
                  AMD: X1950XTX, HD3870, HD5870
                  Intel: GMA45, HD3000 (Core i5 2500K)

                  Comment


                  • #29
                    Originally posted by agd5f View Post
                    It's a different thing. There are GL(X) extensions used for synchronization that would be used in that case.
                    Is there a way to have DRI2 without VSync at the moment? This is important for having it enabled when playing a slow-paced game, but off if you play counter-strike or some demanding game where VSync kills performance.

                    Note that this is with unredirected GL. That is, a game running in full-screen mode without a compositor in between.

                    For what it's worth, in Windows 7 games can choose whether they want vsync or not in fullscreen mode.

                    Comment


                    • #30
                      Is there any tear-free setup available in Linux?

                      I thought that the page flip ioctl changes in .33 were supposed to fix this problem. Has it, but have none of the drivers yet come out that support it? Does anyone know if any of the blobs will hook into the changes I mentioned? It's really a bit frustrating to move a window slooooowly and still see tearing even with Nvidia's driver...

                      Best/Liam

                      Comment

                      Working...
                      X