Bug#790663: Extremely slow window dragging and very poor performance with KMS activated on RV100/M6 [Rage/Radeon Mobility Series]

Alfonso García alfon.gz at gmail.com
Fri Jul 10 00:34:03 PDT 2015


On 08/07/15, Michel Dänzer wrote:
> On 03.07.2015 02:42, Alfonso García wrote:
> > On 02/07/15, Michel Dänzer wrote:
> >> On 02.07.2015 01:39, Alfonso García wrote:
> >>> On 01/07/15, Michel Dänzer wrote:
> >>>> On 01.07.2015 01:44, alfon wrote:
> >>>>>
> >> Can you try if a simple compositing manager (e.g. xcompmgr -a) helps
> >> with the problem (with the options below commented out)?
> > 
> > I probed this program and really improved the window manager performance
> > with the Xorg accel option and with the options you say commented out
> > 
> > In return performance like mpv is now worse (the movement blinks and still
> > shots are slow)
> > 
> >>
> >>>>> 	Option          "EXAVSync"              "on"
> >>>> [...]
> >>>>> 	Option 		"ColorTiling"		"off"
> >>>>> 	Option 		"ColorTiling2D" 	"off"
> >>>>> 	Option          "EXAPixmaps"            "on"
> >>>>
> >>>> Does commenting out these options help?
> >>>>
> >>>
> >>> No,
> >>
> >> Please provide /var/log/Xorg.0.log corresponding to commenting out
> >> everything I recommended in xorg.conf.
> > 
> > I attached the Xorg log file with the suggested configuration and running
> > xcompmgr -c
> 
> Note that I suggested xcompmgr -a, which should be lighter than -c.

Yes, of course I tested with -a option. I didn't note significant change
performance between "-c" or "-a" opctions.

Now I'm proving with: "compton -CG --config /dev/null -b &"

And I encounter relative better performance too with <Accel option "on"> in
xorg.conf file.

I don't understand why I need to use a window composition manager to get
better performance, but I suppose is another history...

> 
> 
> > [  2331.952] (**) Option "AIGLX" "on"
> > [  2331.952] (**) Option "DRI2" "on"
> [...]
> > [  2332.078] (**) ModulePath set to "/usr/lib/xorg/modules"
> > [  2332.078] (**) Extension "Composite" is enabled
> [...]
> > [  2332.223] (**) RADEON(0): Depth 24, (--) framebuffer bpp 32
> [...]
> > [  2332.224] (**) RADEON(0): Option "Accel" "on"
> > [  2332.224] (**) RADEON(0): Option "EnablePageFlip" "on"
> [...]
> > [  2332.224] (**) RADEON(0): Option "AccelMethod" "EXA"
> > [  2332.224] (**) RADEON(0): Option "ZaphodHeads" "LVDS,VGA-0"
> 
> These are all defaults, no need to specify them explicitly in xorg.conf.
> 
> 
> > [  2332.224] (**) RADEON(0): Option "RenderAccel" "off"
> 
> I missed this before. Why did you disable this? Does not disabling it help?

I deleted this option. Now I have only this options on the "Device" section:

Identifier      "ATI Technologies Inc Radeon Mobility M6 LY"
VendorName      "IBM ThinkPad"
BoardName       "ATI Radeon Mobility M6 LY"
Driver          "radeon"
BusID           "PCI:1:0:0"

Option          "Accel"                 "on"
Option          "ZaphodHeads"           "LVDS,VGA-0"
Option          "AccelMethod"           "EXA"

# Otras opciones
Option          "monitor-VGA-0"         "VGA-0"
Option          "monitor-LVDS"          "LVCD"

> 
> 
> > [  2363.450] (II) RADEON(0): Allocate new frame buffer 1920x1080 stride 1920
> > [  2363.508] (II) RADEON(0): VRAM usage limit set to 5371K
> [...]
> > [  3099.062] Not enough RAM to hw accel xv operation
> 
> This is probably why mpv isn't working well. Any chance you can try if
> the attached xf86-video-ati patch helps for this?
> 
> Note that you can always use mpv -vo x11 to get basically the same video
> experience as with Option "NoAccel".

With "-vo x11" option does not improve performance. I will try with the
attached patch.

Thank you

> 
> 
> -- 
> Earthling Michel Dänzer               |               http://www.amd.com
> Libre software enthusiast             |             Mesa and X developer

> diff --git a/src/radeon_textured_videofuncs.c b/src/radeon_textured_videofuncs.c
> index 653de44..116bc9a 100644
> --- a/src/radeon_textured_videofuncs.c
> +++ b/src/radeon_textured_videofuncs.c
> @@ -60,7 +60,7 @@ RADEONPrepareTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv)
>      int ret;
>  
>      radeon_cs_space_reset_bos(info->cs);
> -    radeon_cs_space_add_persistent_bo(info->cs, src_bo, RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);
> +    radeon_cs_space_add_persistent_bo(info->cs, src_bo, RADEON_GEM_DOMAIN_GTT, 0);
>  
>      if (pPriv->bicubic_enabled)
>  	radeon_cs_space_add_persistent_bo(info->cs, info->bicubic_bo, RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);
> @@ -430,7 +430,7 @@ R200PrepareTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv)
>      int ret;
>  
>      radeon_cs_space_reset_bos(info->cs);
> -    radeon_cs_space_add_persistent_bo(info->cs, src_bo, RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);
> +    radeon_cs_space_add_persistent_bo(info->cs, src_bo, RADEON_GEM_DOMAIN_GTT, 0);
>  
>      if (pPriv->bicubic_enabled)
>  	radeon_cs_space_add_persistent_bo(info->cs, info->bicubic_bo, RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);
> @@ -955,7 +955,7 @@ R300PrepareTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv)
>      int ret;
>  
>      radeon_cs_space_reset_bos(info->cs);
> -    radeon_cs_space_add_persistent_bo(info->cs, src_bo, RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);
> +    radeon_cs_space_add_persistent_bo(info->cs, src_bo, RADEON_GEM_DOMAIN_GTT, 0);
>  
>      if (pPriv->bicubic_enabled)
>  	radeon_cs_space_add_persistent_bo(info->cs, info->bicubic_bo, RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);
> @@ -2373,7 +2373,7 @@ R500PrepareTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv)
>      int ret;
>  
>      radeon_cs_space_reset_bos(info->cs);
> -    radeon_cs_space_add_persistent_bo(info->cs, src_bo, RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);
> +    radeon_cs_space_add_persistent_bo(info->cs, src_bo, RADEON_GEM_DOMAIN_GTT, 0);
>  
>      if (pPriv->bicubic_enabled)
>  	radeon_cs_space_add_persistent_bo(info->cs, info->bicubic_bo, RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM, 0);



More information about the xorg-driver-ati mailing list